El Blog de DeepY0X: emerge —update —deep –newuse world

Office OpenXML (OOXML) no debe ser ISO 29500

October 15, 2007

PHP5 en FreeBSD

Ahora para completar estos posts y tener un sistema FAMP (FreebSD, Apache, MySQL y PHP) andando instalaremos php con los siguientes pasos:

-Ir al Directorio /usr/ports/lang/php5
make config (para los flags)
make install clean

-Ir al Directorio: /usr/ports/databases/php5-mysql
make install clean

-Ir al Directorio: /usr/ports/www/php5-session
make install clean

-Ir al Directorio: /usr/ports/graphics/php5-gd
make install clean

-Agregar lo siguiente en mime types:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .htm .html

-Crear archivo php.ini:
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

-Y por ultimo hacemos probamos si funciona creando un archivo test.php:

<?php

phpinfo();

?> 

-vamos al navegador con http://localhost/test.php y ya deberia de cargar la configuracion de php 

October 1, 2007

Web Modulares en PHP

Muchos quizas habrán oido hablar de los mastepages en ASP.NET, bueno la idea es que al contar con secciones en nuestra pagina esta no se recargue en cada momento de ingresar a una nueva sección, esto en PHP lo podemos solucionar programando modularmente la pagina, esto se obtiene usando principalemente "switch($variable)" si esa condición multiple que nos enseñaron en el curso de algoritmos:

Una visión básica de esto lo podemos tener de la siguiente manera:

  1. switch($var)
  2. {
  3.  case ‘welcome’:
  4.           include(’welcome.inc.php’);
  5.           break;
  6. case ‘download’:
  7.          include(’download.inc.php’);
  8.           break;
  9. case ‘news’:
  10.         include(’news.inc.php’);
  11.           break;
  12. ……. // Aqui podemos agregar mas secciones
  13. …….
  14. default:
  15.        include(’welcome.inc.php’);
  16.        break;
  17. }

Y como funciona esto? pues tenemos la variable $var que va a ir tomando valores como:
-welcome : Para la bienvenida.
-download: Para descargas.
-news: Para noticias.

-Ahora vamos completando el codigo, podemos crear un archivo llamado mipagina.php y en ella agregamos lo siguiente:

  1. <html>
  2. <head><title>Programación Modular</title>
  3. </head>
  4. <body>
  5. <br /><br />
  6. <table width="70%" border="1" align="center">
  7.   <tr align="center" valign="center">
  8.     <td width="25%" align="center" valign="middle"><a href="?mod=welcome">Bienvenida</a></td>
  9.     <td width="25%" align="center" valign="middle"><a href="?mod=download">Descargas</a></td>
  10.     <td width="25%" align="center" valign="middle"><a href="?mod=news">Noticias</a></td>
  11.  </tr>
  12.   <tr align="center" valign="center">
  13.     <td width="25%" align="center" valign="middle" colspan="3">
  14.           < ?php include("content.php"); ?>
  15.     </td>
  16.     </tr>
  17. </table>
  18. </body>
  19. </html>

Este codigo solo nos mostrará los menus por los que podemos navegar(welcome, news y descargas) si notan la url a la hora q le dan click a un enlace por ejemplo a "news" veran algo  parecido a esto: http://localhost/mipagina.php?var=download
ese ?var=download nos indica que la variable $var esta recibiendo el valor download y teniendo este concepto podemos ahora crear nuestro archivo "content.php" que tendra lo siguiente:

  1. < ?php
  2. $var = $_REQUEST[’var’];
  3. switch($var)
  4. {
  5. case ‘news’:
  6.      include(’news.inc.php’);
  7.      break;
  8. case ‘download’:
  9.      include(’download.inc.php’);
  10.      break;
  11. case ‘welcome’:
  12.      include(’welcome.inc.php’);
  13.      break;
  14. default:
  15.      include(’welcome.inc.php’);
  16.      break;
  17. }
  18. ?>

bueno este sencillamente como dije antes nos va mostrando el contenido que toma la variable $var.

Ahora podemos crear por ejemplo el archivo "news.inc.php" y agregar lo siguiente:

  1. <?php
  2. echo "Esta es la seccion de Noticias";
  3. ?>

para "welcome.inc.php":
  1. < ?php
  2. echo "Bienvenida";
  3. ?>
para "download.inc.php":
  1. <?php
  2. echo "Esta es la seccion de descargas";
  3. ?>
Ahora en nuestro navegador colocamos: http://localhost/mipagina.php y podremos ver nuestra web modular
Y bueno asi podemos ir agregando mas secciones…

September 9, 2007

DBDesigner en Gentoo / Sabayon

Como ya algunos sabran DBDesigner es un modelador de Base de Datos, aunque actualemente el proyecto ya no tiene soporte como lo muestra en su pagina, ya que ha sido donado a mysql workbench, otro modelador, pero no por eso se va a dejar de usar.
Bueno como mi arquitectura es amd64, uso Sabayon en estos momentos, es una distro basado en Gentoo, DBDesigner y sus dependencias no estan disponibles (missing keyword) es por esto que vamos a usar el soporte para x86 de la siguiente manera:

echo "dev-db/dbdesigner x86 ~x86" >> /etc/portage/package.keywords
echo "sys-libs/lib-compat x86 ~x86 " >> /etc/portage/package.keywords
echo "x11-libs/kylixlibs3-borqt x86 ~x86" >> /etc/portage/package.keywords

con esto emergemos los paquetes:
emerge -va dbdesigner kylixlibs3-borqt

una vez instalado ejecutamos dbdesigner: /opt/DBDesigner4/DBDesigner4
pero nos dice que no encuentra las librerias libborqt-6.9-qt2.3.so, para esto enlazamos dicha libreria que se instalo junto con el paquete kylixlibs3-borqt, de la sgte manera:

ln -s /opt/kylix3/libborqt-6.9-qt2.3.so /usr/lib32/libborqt-6.9-qt2.3.so

y ahora si ejecutamos dbdesigner: /opt/DBDesigner4/DBDesigner4 y vemos como la aplicacion ya se puede ejecutar.

Esa ruta del comando de DBDesigner4 se puede agregar como path en /etc/profile para llamarlo como DBDesigner4 sin necesidad de colocar la ruta completa.

August 31, 2007

Castellanizando Gentoo

Filed under: GNU/Linux, Programacion

Aqui les dejo un pequeño script que tenia por aqui guardado que nos servira para castellanizar Gentoo y otras distribuciones basadas en esta, bueno ahora estoy probando sabayon, me parece excelente y sobre todo esta basado en Gentoo, mas adelante hablare de Sabayon.
He aqui el pequeño script:

#################### castellanizar_gentoo.sh #############################
#!/bin/bash
_USER=`whoami`
_PARAM=$1
_PATH_ENV_LOCALE="/etc/env.d/02locale"
GENERATE-LOCALE(){
_PATH_LOCALE=”/etc/locale.gen”
_PATH_PROFILE=”/etc/profile”
env-update && source $_PATH_PROFILE
echo “Verificando que los cambios han surgido efecto (y)”
env | grep -i LC_
echo “Generando los locales para glibc: xD”
echo “es_ES ISO-8859-15″ >> $_PATH_LOCALE
echo “es_ES@euro ISO-8859-15″ >> $_PATH_LOCALE
echo “es_ES.UTF-8 UTF-8″ >> $_PATH_LOCALE
echo “en_US ISO-8859-1″ >> $_PATH_LOCALE
echo “en_US.UTF-8 UTF-8″ >> $_PATH_LOCALE
locale-gen
echo “Comprobando locale seleccionados (y)”
locale -a
env-update && source $_PATH_PROFILE
}
if [ $_USER != “root” ]; then
echo “Debe ser root xD”
exit
fi
if [ -z $_PARAM ]; then
echo “No se recibio un parametro :P
exit
elif [ $_PARAM == “utf8″ ]; then
echo ‘LC_ALL=”es_ES.UTF8″‘ >> $_PATH_ENV_LOCALE
echo ‘LANG=”es_ES.UTF8″‘ >> $_PATH_ENV_LOCALE
GENERATE-LOCALE
elif [ $_PARAM == “iso” ]; then
echo ‘LC_ALL=”es_ES@euro”‘ >> $_PATH_ENV_LOCALE
echo ‘LANG=”es_ES@euro”‘ >> $_PATH_ENV_LOCALE
GENERATE-LOCALE
else
echo “Entrada no valida :P
exit
fi

####################################################################

Para ejecuarlo solo copienlo y guardenlo en un archivo:
1.- nano castellanizar_gentoo.sh
2.- copy-paste
3.- ctrl-x
4.- Yes/Si
5.- chmod +x castellanizar_gentoo.sh
6.- Para ejecutarlo si se desea con formato utf8: ./castellanizar_gentoo.sh utf8
o para formato iso: ./castellanizar_gentoo.sh iso

Y debe salir algo asi:
delta deepyox # ./castellanizar_gentoo.sh iso
>>> Regenerating /etc/ld.so.cache…
Verificando que los cambios han surgido efecto
LC_ALL=es_ES@euro
Generando los locales para glibc:
* Generating 5 locales (this might take a while) with 1 jobs
* (1/5) Generating es_ES.ISO-8859-15 … [ ok ]
* (2/5) Generating es_ES.ISO-8859-15@euro … [ ok ]
* (3/5) Generating es_ES.UTF-8 … [ ok ]
* (4/5) Generating en_US.ISO-8859-1 … [ ok ]
* (5/5) Generating en_US.UTF-8 … [ ok ]
* Generation complete
Comprobando locale seleccionados
C
en_US
en_US.utf8
es_ES
es_ES@euro
es_ES.utf8
POSIX
>>> Regenerating /etc/ld.so.cache…
delta deepyox # more /etc/locale.gen
es_ES ISO-8859-15
es_ES@euro ISO-8859-15
es_ES.UTF-8 UTF-8
en_US ISO-8859-1
en_US.UTF-8 UTF-8
delta deepyox # more /etc/env.d/02locale
LC_ALL=”es_ES@euro”
LANG=”es_ES@euro”
delta deepyox #

Bueno este script lo uso como parte de otro script que tengo para la instalacion de gentoo desde stage3, espero q le sirva a alguien

Sorry por las caritas, pero tengo la mania de ponerlas cuando programo, xD

August 27, 2007

OpenCoffee: Para Cabinas

En muchas listas vemos q hay gente interesada en aplicaciones para administrar cyber café o cabinas de internet como lo llamamos aqui en Perú, pues ahora me encuentro con este proyecto llamado OpenCoffee, q como dice su pagina principal:

Es un proyecto que pretende el desarrollo de una aplicación que permita la administración de sitios de “Internet Café o Cyber Café” utilizando como sistema operativo Linux (tanto en el servidor como en las estaciones de trabajo).

De esta manera se ayuda a promover e implementar la utilización del Software Libre dentro de dicho ámbito. El mismo, estará desarrollado utilizando el lenguaje de programación Python/QT, lo cual lo hace robusto, portable y sencillo de aprender.

Tiene buena pinta:
opencofee

Pero como tambien indican en la pagina, actualmente se encuentran en plan de organizacion

July 22, 2007

Django en Gentoo

Filed under: Programacion

Aqui les dejo un post de como instalar Django en este caso Gentoo, django es un framework en python para crear aplicaciones web.
Los requerimientos son tener: python 2.3, apache 2.x, mod_python 3.x, bueno en gentoo, django esta disponible en el portage, me supongo q en otras distros tambien debe estar, se puede instalar desde el portage o tambien descargando el paquete de django desde su pagina principal

Lo instalamos con: emerge -av django
Si queremos podemos habilitar los flags de soporte para los gestores de base de datos: mysql, postgresql o sqlite.

una vez instalado podemos hacer una prueba, creamos un proyecto:

django-admin.py startproject miproyecto

si ingresamos al directorio creado, miproyecto, podemos observar algunos ficheros de permiten administrar, configurar el proyecto, bueno como este es solo un tip, mas info pueden encontar en la pagina principal, testeamosnuestro proyecto usando el servidor q viene con django:

python manage.py runserver

Nos saldrá un mensaje parecido a esto:

Validating models…
0 errors found.

Django version 0.96, using settings ‘mysite.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[21/Jul/2007 22:19:31] “GET / HTTP/1.1″ 404 2053

Esto nos indica q el servidor de pruebas de django cargo el proyecto sin ningun error en el puerto 8000 de nuestra pc, pueden observarlo ingresando desde su navegador web a http://127.0.0.1:8000