Cómo cambiar el nombre del equipo en Ubuntu

  1. Editar el archivo /etc/hostname y colocar el nuevo nombre del equipo
    $ sudo gedit /etc/hostname

    nombre_nuevo
    (Lo único que contiene este archivo es el nombre del equipo).

  2. Editar el archivo /etc/hosts y cambiar el nombre anterior del equipo por el nuevo

    $ sudo gedit /etc/hosts

    Cambiar:
    127.0.0.1 localhost
    127.0.1.1 nombre_anterior

    Por:
    127.0.0.1 localhost
    127.0.1.1 nombre_nuevo

Listo, al reiniciar ya estará el nuevo nombre del equipo.

wxPack: instala wxWidgets fácil y rápido

Mis primeras incursiones con wxWidgets las estuve realizando en Linux (Ubuntu Dapper), no fué difícil trabajar gracias a los repositorios. Al pasarme a Windows, tuve que compilar la librería para poder hacer uso de ella, la verdad no fué tan complicado hacerlo de manera estática, aunque me encontré con varios detalles para crear las DLLs.

Por ello, me ha encantado una herramienta que recién he encontrado: wxPack, un paquete que instala y configura correctamente wxWidgets tanto en versión estática como dinámica, todo un lujo :D. Esto es lo que contiene wxPack:

  • wxWidgets (actualmente la versión 2.7.0)
    Compilada tanto con MinGW (GCC) como con VC++, en varias versiones (estática, dinámica, con y sin Unicode).
  • wxFormBuilder
    Una utilidad RAD.
  • wxAdditions
    Es un paquete con varios widgets contribuídos por terceros.
  • wxVC
    Integración con VC++, yo uso VC++ Express y automáticamente tengo la opción de crear un proyecto con wxWidgets, ¡genial!
  • AutoBuildNumber

Definitivamente, debo recomendar wxPack ampliamente a todos los interesados en usar wxWidgets, permite empezar a trabajar lo más pronto posible en lugar de estar pasando penurias en poner a punto el sistema para poder usarlo :P.

wxPack se puede conseguir en la sig. dirección:
http://wxpack.sourceforge.net.

¡Hola mundo! con wxWidgets


#include

// Debemos crear una clase derivada de wxApp
class MiAplicacion : public wxApp {
public:
// Punto de entrada, hace las veces
// de la función main()
virtual bool OnInit();
};

// Macro necesaria para la implementación del programa,
// en Windows se las arregla con lo de main() y WinMain()
IMPLEMENT_APP( MiAplicacion )

// La función OnInit() es el punto de entrada al programa,
// gralmente. aquí se realiza la inicialización y creación
// de la ventana principal.
bool MiAplicacion::OnInit() {
// Mostramos un pequeño diálogo con un mensaje.
wxMessageBox(
wxT( "¡Hola mundo desde wxWidgets!" ),
wxT( "Mensaje" ),
wxICON_INFORMATION
);

// false termina el programa.
// Si aquí creáramos una ventana para la aplicación devolveríamos
// true de haber tenido éxito con la inicialización.
return false;
}


Este sencillo programa muestra un messagebox usando wxWidgets. Recientemente en Planeta Solocodigo he visto algunos ejemplos de utilización de wxWidgets con Python, y la verdad es que se ve muuuuuucho más sencillo que C++, me gustaría echarle un vistazo, aunque ahorita tengo poco tiempo :P.

Creando aplicaciones Win32 con Visual C++ 2005 Express Edition

Aprovechando que en estos días tuve que hacer un cambio de disco duro, reinstalando todo en la computadora, pongo los pasos para poder crear aplicaciones Win32 con esta versión gratuita de Visual C++ cortesía de Microsoft (la verdad, el IDE me ha parecido fantástico, con el único problema de no poder editar archivos de recursos :x).

Antes de empezar, sólo quiero comentar que el hacer esto es necesario si queremos crear aplicaciones Win32, ya sea porque así lo deseemos o porque nos lo requiera la librería con la que deseamos trabajar, como por ejemplo Allegro, SDL o wxWidgets (que son las que he utilizado).

Normalmente, con la versión Express, no se pueden crear aplicaciones Win32, sólo de consola:

Pero esto tiene solución, lo que necesitamos es instalar el Windows Server 2003 R2 Platform SDK (no se confundan por lo de “Server 2003”, es la versión correcta).

Una vez instalado, tenemos que modificar algunas cosas:

Actualizar directorios de Visual C++

Desde VC++ Express, vamos a Tools -> Options -> Projects and Solutions -> VC++ Directories y agregamos:

  • Executable files:
    C:\Archivos de programa\Microsoft Platform SDK for Windows Server 2003 R2\Bin
  • Include files:
    C:\Archivos de programa\Microsoft Platform SDK for Windows Server 2003 R2\Include
  • Library files:
    C:\Archivos de programa\Microsoft Platform SDK for Windows Server 2003 R2\Lib

Actualizar el archivo corewin_express.vsprops

Este archivo se encuentra en C:\Archivos de programa\Microsoft Visual Studio 8\VC\VCProjectDefaults, hay que cambiar esta línea:
AdditionalDependencies=”kernel32.lib”

por esto:

AdditionalDependencies=”kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib”

Habilitar la opción Win32 en VC++ Express

Ya debe ser posible crear una aplicación Win32, pero aún falta que VC++ Express nos habilite la opción al crear un nuevo proyecto, para ello, ahora vamos a editar el archivo AppSettings.htm ubicado en C:\Archivos de programa\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033
Aquí vamos a agregar “//” al inicio de las líneas 441 a 444, de modo que nos queden así:
//WIN_APP.disabled = true;
//WIN_APP_LABEL.disabled = true;
//DLL_APP.disabled = true;
//DLL_APP_LABEL.disabled = true;

A probar

Una vez hecho esto, podemos crear un nuevo proyecto en Visual C++ Express, en Project Types seleccionamos Win32, como template usamos Win32 Console Application y hacemos clic en OK, luego en Next y ahora veremos que ya está habilitada la opción Windows Application

La seleccionamos y hacemos clic en Finish, se creará el proyecto por defecto y podemos probar con F5:

Enlaces relacionados

Todo esto en inglés
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
En español (aunque está incompleto :P)
http://msdn2.microsoft.com/es-es/library/ms235626.aspx

Pequeña curiosidad con el formato BMP

En algunos de los documentos que encontré donde se describe el formato de los mapas de bits, se indicaba que normalmente la imagen se guarda invertida (o “de cabeza” :P), es decir, la última línea horizontal de pixeles leída desde el archivo es en realidad la primer línea de la imagen, por lo que al cargar los datos hay que invertir la imagen. Pero también leí que, cuando el campo que indica la altura de la imagen es negativo, la imagen se encuentra “normal” y no necesita invertirse.

Sin embargo, todas la imágenes .bmp que encontré o conseguí (para probar el programa que hice para lo del reto de carga de un bitmap de 24 bits), tenían el campo de altura positivo, así que, para probar, decidí guardar imágenes .bmp guardando como negativo el dato de la altura. Lo curioso del caso es que ¡algunos programas no abren estas imágenes!
En Linux pude visualizar sin problemas la imagen con gthumb y con Eye of Gnome, pero ¡con Gimp no! En Windows, las abrí tanto con el visor de imágenes como con Paint, pero no pude ¡con ningún programa de Office (Word, Excel, PowerPoint)!

Programas que no abren un bitmap de 24 bits de altura negativa

(Entre paréntesis las versiones con que probé).

  • Linux
    • Gimp (2.2.11)
    • Open Office 2.0 (2.0.2)
  • Windows
    • MS Office 2003
    • Paint Shop Pro (7.00)
    • Internet Explorer 6 SP2 (6.0.2999… y un montón de números más :P)
  • ¿Puedes encontrar otro? Baja las imágenes que están abajo y prueba :).

Por si quieren probar, aquí dejo unas imágenes guardadas en las dos formas, del lado izquierdo con altura positiva y del lado derecho negativa. Si sólo ves las del lado izquierdo es porque tu navegador no abre mapas de bits con altura negativa. Yo probé con Internet Explorer y Firefox; en Firefox se ven bien, en IE no :P.


Nota: Agregué enlaces a las imágenes con altura negativa para que quienes no las vean puedan descargarlas mediante Clic derecho -> Guardar destino como….

Altura positiva Altura negativa
Si no ves la imagen, clic derecho y Guardar destino como...
Si no ves la imagen, clic derecho y Guardar destino como...
Si no ves la imagen, clic derecho y Guardar destino como...

Vjuegos, recargado

Ayer recibí un mail con la noticia que más había estado esperando desde hace más de medio año: Vjuegos está de regreso!, con estilo y estructura renovados, y con más ganas que nunca. A continuación el contenido del mensaje que recibí vía mail:

Mensaje desde ‘vjuegos.org’

Mensaje:
Desde hace varios años vjuegos.org ha buscado ser un punto de encuentro
para todas aquellas personas de habla hispana interesadas en el
desarrollo de videojuegos a nivel profesional, desde programadores, artistas,
diseñadores, músicos y demás desarrolladores; y es gracias a todos sus
miembros quienes han contribuido y participado en esta comunidad,
gracias a todas aquellas personas que han invertido su tiempo y esfuerzo por
compartir con la demás gente sus conocimientos y experiencias, que
vjuegos.org ha ido creciendo y madurando poco a poco junto con cada uno de
los que pertenecemos a ella, que a través de intensas discusiones e
intercambios de opiniones y perspectivas se ha ido formando una visión más
clara sobre la situación actual de la industria del desarrollo de
videojuegos, así como todos los aspectos que están involucrados directa o
indirectamente.

Así pues vjuegos.org se ha convertido en un proyecto de todos y para
todos los que de alguna forma u otra estamos interesados en el desarrollo
de videojuegos profesional, y quienes creemos que juntos podemos
alcanzar nuestras propias metas y hacer realidad nuestros propios sueños.

Es por eso que, para poder continuar evolucionando como comunidad e
individualmente cada uno de nosotros como desarrolladores (y personas),
era necesario que vjuegos.org evolucionara y cambiara a la par también, y
fuera capaz de ofrecer todos los recursos y apoyos para que la
comunidad crezca y pueda alcanzar sus objetivos. Pero lograrlo implicó una gran
inversión de tiempo y esfuerzo durante el tiempo libre de cada uno de
los voluntarios que estuvieron involucrados en el sitio a lo largo de 6
largos meses… y aún es necesario seguir trabajando!

Así pues, fruto de ese trabajo ha nacido el nuevo portal de
vjuegos.org!

Saludos!

jakovo

Asi que, amigos interesados en el desarrollo de videojuegos, ¿qué esperan para entrar?