Bienvenido(a) a Proyecto Script

Hola!!!

Este es un buen lugar donde buscar las respuestas a tus dudas sobre "Programación", "Lenguajes", "Linux", "Electrónica", etc.

Suele ser difícil buscar en la red y encontrar respuestas claras y en español a muchas preguntas sobre estos temas, así que aquí tienes un buen lugar para iniciar.

Quieres ser parte de esto, solo ¡regístrate!

lunes, 9 de junio de 2008

Railscasts

A todos los programadores de Rails muy seguramente les servirá esta página, se llama Railscasts, la cual tiene pequeñas "recetas de cocina" sobre el trabajo con Rails. Y para los que están cansados de que cuando le preguntan a alguien los manda a Google, aquí a parte de dar soluciones tienen un video como demostración para ver la implementación paso a paso. Vale la pena tenerlo entre los favoritos y hasta tener el feed suscrito.

Digg!

domingo, 1 de junio de 2008

Error al generar controlador con Login_Generator en Rails 2.0

Tratando de implementar un sistema de seguridad por logeo en una aplicacion en Rails 2.0, uno de los pasos señala que hay que generar un controlador con la siguiente instrucción:

ruby script/generate login <controlador&rt;

En mi caso lo hice así:

$ ruby script/generate login Security
    create lib/login_system.rb
    create app/controllers/security_controller.rb
    create test/functional/security_controller_test.rb
    create app/helpers/security_helper.rb
    create app/models/user.rb
    create test/unit/user_test.rb
    create test/fixtures/users.yml
No such file or directory - /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml
$


Revisando un poco el directorio para comprobar si realmente ese archivo no existia me di cuenta que si existe, pero con otro nombre:

$ ls -l /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/
total 40
-rw-r--r-- 1 root root 2464 may 13 23:47 controller.rb
-rw-r--r-- 1 root root 1256 may 13 23:47 functional_test.rb
-rw-r--r-- 1 root root 46 may 13 23:47 helper.rb
-rw-r--r-- 1 root root 495 may 13 23:47 layout.html.erb
-rw-r--r-- 1 root root 1152 may 13 23:47 style.css
-rw-r--r-- 1 root root 463 may 13 23:47 view_edit.html.erb
-rw-r--r-- 1 root root 697 may 13 23:47 view_index.html.erb
-rw-r--r-- 1 root root 411 may 13 23:47 view_new.html.erb
-rw-r--r-- 1 root root 285 may 13 23:47 view_show.html.erb
$


Y como podemos ver si existe pero con la convención de nombres de la versión de Rails 2.0 (la cual es .html.erb) y no con la versión 1.2 (la cual es .rhtml).

Así que solo basta con hacer una copia del archivo con el nombre de la versión 2.0 a uno con el nombre de la versión 1.2:

$ cp layout.html.erb layout.rhtml

De esta manera ya existirá:

$ ls -l /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/
total 40
-rw-r--r-- 1 root root 2464 may 13 23:47 controller.rb
-rw-r--r-- 1 root root 1256 may 13 23:47 functional_test.rb
-rw-r--r-- 1 root root 46 may 13 23:47 helper.rb
-rw-r--r-- 1 root root 495 may 13 23:47 layout.html.erb
-rw-r--r-- 1 root root 495 jun 1 15:38 layout.rhtml
-rw-r--r-- 1 root root 1152 may 13 23:47 style.css
-rw-r--r-- 1 root root 463 may 13 23:47 view_edit.html.erb
-rw-r--r-- 1 root root 697 may 13 23:47 view_index.html.erb
-rw-r--r-- 1 root root 411 may 13 23:47 view_new.html.erb
-rw-r--r-- 1 root root 285 may 13 23:47 view_show.html.erb
$


Y con esto ya podremos seguir con la creacion del controlador (en mi caso aquí esta el ejemplo):

$ ruby script/generate login Security
identical lib/login_system.rb
identical app/controllers/security_controller.rb
identical test/functional/security_controller_test.rb
identical app/helpers/security_helper.rb
identical app/models/user.rb
identical test/unit/user_test.rb
identical test/fixtures/users.yml
overwrite app/views/layouts/scaffold.rhtml? (enter "h" for help) [Ynaqdh]
Y - yes, overwrite
n - no, do not overwrite
a - all, overwrite this and all others
q - quit, abort
d - diff, show the differences between the old and the new
h - help, show this help
overwrite app/views/layouts/scaffold.rhtml? (enter "h" for help) [Ynaqdh] Y
    force app/views/layouts/scaffold.rhtml
    identical public/stylesheets/scaffold.css
    create app/views/security
    create app/views/security/welcome.rhtml
    create app/views/security/login.rhtml
    create app/views/security/logout.rhtml
    create app/views/security/signup.rhtml
    create README_LOGIN
$


Digg!

domingo, 25 de mayo de 2008

SD/SDIO/MMC/MS/MSPro funcionando en linux

Para usar el dispositivo para SD/MMCMS/MSPro, basicamente en el kernel hay que tener habilitadas algunas opciones:

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers
Device Drivers --->
  MMC/SD Card support -->
    <*> MMC support
    [ ] MMC debugging
    <*> MMC block device driver
    <*> Secure Digital Host Controller Interface support (EXPERIMENTAL)
    < > Winbond W83L51xD SD/MMC Card Interface support
File systems --->
  <*> DOS FAT fs support
  DOS/FAT/NT Filesystems -->
    <*> MSDOS fs support
    < > UMSDOS: Unix-like file system on top of standard MSDOS fs
    <*> VFAT (Windows-95) fs support


En mi caso tengo un dispositivo de la marca Ricoh:

# lspci | grep -i mmc
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)


Asi que solo lo recompilamos y usamos ese kernel y listo.

Digg!

sábado, 24 de mayo de 2008

Kopete tarda en iniciar

He encontrado que Kopete suele tardar en iniciar mucho tiempo debido a que la carga de los plugins que a su vez éste carga son pesados. En mi caso tuve la desafortunada experiencia durante casi mas de 4 meses donde Kopete tardaba en iniciar 5 minutos al principio y esto se extendió hasta casi 25 minutos, obviamente eso no es normal ni deseable, así que encontré que el archivo donde guarda la configuración de usuario ~/.kde/share/config/kopeterc, y ahí hay una linea que activa el plugin (muchas veces ya instalado, esto dependiendo del administrador de paquetes de dicha distribución), esta línea es:

kopete_statisticsEnabled=true

por lo que hay que cambiar su valor a false en caso de que no se pueda desactivar por la interfaz gráfica, de tal modo dicha linea cambiaría a:

kopete_statisticsEnabled=false

De este modo ya no carga las estadísticas que guarda por cada contacto y ya no hay retardo.

Aquí dejo el vínculo hacia el foro donde escribí un post sobre este problema (Gentoo Forums).

Digg!

martes, 13 de mayo de 2008

JSTL =O!

Bueno, soy algo novato en esto de jstl y quisiera la opinion de todo aquel que sea capaz de darla, sobre si jstl es diferente de jsp, si es una extension de jsp, en que casos la usas, cualquier cosa s valida x]