miércoles, diciembre 12, 2007

Codigo viejo

este codigo es una partecita de una libreria para manejar VESA en DOS que escribi hace 5 años, esta parte me encanta, porque esa lib esta toda escrita para hacer todo independiente de la resolucion, los bits por pixel y los bancos del modo (una cosa que es una porqueria:

esta parte:


void Video::putPixel( word x , word y , byte red , byte green , byte blue )

{

word color = ( ( word )( red & ( ( 1 << vbeModeInfoBlock.RedMaskSize ) - 1 ) ) << vbeModeInfoBlock.RedFieldPosition );

color |= ( ( word )( green & ( ( 1 << vbeModeInfoBlock.GreenMaskSize ) - 1 ) ) << vbeModeInfoBlock.GreenFieldPosition );

color |= ( ( word )( blue & ( ( 1 << vbeModeInfoBlock.BlueMaskSize ) - 1 ) ) << vbeModeInfoBlock.BlueFieldPosition );

long addr = (long)y * vbeModeInfoBlock.BytesPerScanLine + x * (vbeModeInfoBlock.BitsPerPixel >> 3);

setBank((int)(addr >> 16));

*(videoMemory + (addr & 0xFFFF)) = (char)color;

*(videoMemory + (addr & 0xFFFF) + 1 ) = (char)(color >> 8);

}


pone un pixel en la posicion definida con el color definido en la pantalla para cualquier modo de vesa.

C++, 17 años, DOS, Turbo C++ 1.01, que epocas aquellas :P

domingo, diciembre 09, 2007

the marianoguerra experimento

mi notebook se esta convirtiendo lentamente en un centro de desarrollo, ya tiene:
* pastebin
* viewvc
* Apache/2.2.4 (Ubuntu) mod_python/3.3.1 Python/2.5.1 PHP/5.2.3-1ubuntu6.2
* mysql
* postgres

iba a instalar mediawiki, pero pensé que hay una solución interesante que también pensaba instalar que ya tiene wiki, así que pensé en instalar trac, se me ocurrió ver si servía administrar la vida con trac.

* tickets como un TODO personal y laboral
* wiki para ir escribiendo cosas que luego se convertirán en trabajos, posts, documentaciones variadas
* integración con svn para ver en que andan mis desarrollos locales
* no se me ocurre nada mas por ahora... (ideas?)


sudo trac-admin /var/mariano-trac initenv
Project Name [My Project]> Vida de Mariano
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> /svnroot
Templates directory [/usr/share/trac/templates]>
sudo vim /var/mariano-trac/conf/trac.ini
chwon www-data.www-data /var/mariano-trac
sudo vim /var/mariano-trac/conf/trac.ini
sudo htpasswd -c -m /etc/apache2/trac.htpasswd mariano
New password:
Re-type new password:
Adding password for user mariano
sudo vim /etc/apache2/sites-available/trac
cat /etc/apache2/sites-available/trac

<virtualhost>
ServerName trac.localhost
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/mariano-trac
</virtualhost>

<location>
AuthType Basic
AuthName "vida de marianoguerra"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</location>

sudo a2ensite trac
sudo /etc/init.d/apache2 force-reload

esto es mas un ayuda memoria que otra cosa..

PS: creo que no me falto ningún paso

Seguidores

Archivo del Blog