Servidores 2

alpine correo webdav scp servidor server

Por guillermo hace ya 2 meses

Basándonos en la teoría de que las máquinas están bien configuradas en lo que respecta el correo, yo voy a tener cientifico.net para correos personales y yolanda.cientifico.net para los correos locales de la máquina.

Esto permite que yo desde cualquier cuanta de correo envie un mensaje a guillermo @ yolanda cientifico PUNTO net.

Para que sirve esto.... pues para ser más comodón aún. Soy fiel usuario de scp (consola -> servidor) y webdav (escritorio<->servidor), pero poder enviar archivos a mi cuenta del servidor y al llegar allí, arrancar alpine y poder guardarlo, es una gozada.

Ahí queda dicho.

Hay 0 comentarios

Servidores 1

fordward sendmail postfix

Por guillermo hace ya 2 meses

Pues me he decidido a publicar uns truquillos para servidores.

Este va a tratar sobre forward y alias, que hoy en día, los nuevos admin, parece que no los conocen.

Tanto sendmail como postfix e imagino que también qmail y compañeros, usan una serie de archivos de configuración.

Uno de ellos es /etc/alias donde podemos decir que todo el correo de la máquina vaya a root

El siguiente archivo es el ~/.fordward

~/.fordward es un archivo de texto, donde pondremos el correo electrónico de nuestra cuenta de verdad.

Ejemplo.

$cat /root/.fordward
guillermo@cientifico.net

Con esto, todo el correo de la máquina irá a mi correo personal, donde una pertinente regla, lo almacena. Todos los informes de paquetes desactualizados/con fallos, y todo el mailing que en general un free genera, me llegará a mi correo, así como los cron.

 

Hay 0 comentarios

Los problemas de has and belongs to many en rails

has_and_belongs_to_many, ruby, rails, relacion, habtm, where, set, create, update, putada

Por guillermo hace ya 3 meses

En rails, uno tiene una comodidad muy grande a la hora de hacer relaciones de tablas. Esta es activerecord. Sin embargo, hasta que no la empiezas a usar, no te das cuentas de pequeños detalles.

Por ejemplo. Un usuario pertenece a varios proyectos en calidad de participante o observador:

 class Proyecto < ActiveRecord::Base

     has_and_belongs_to_many :participantes, :conditions => "proyectos_usuarios.participante = true"

     has_and_belongs_to_many :observadores, :conditions => "proyectos_usuarios.participante = false"

...

end

Suponiendo que la columna participante tiene como valor por defecto false, al hacer:

p = Proyecto.find(:first) u = User.find(:first) p.participantes << u

Al inspecionar p, veremos que el resultado es el esperado, pero si vemos la consulta sql o hacemos un:

p.reload

veremos que el conditions no pinta nada en un update o create.

Mirando en la página de has_and_belongs_to_many, no.nombra nada y se limita a decir que se usa en conditions.

Pensandolo bien, no está mal, ya que en un create, o update, no se usuaría el where con este cometido. Tal vez debería de existir algo como:

     has_and_belongs_to_many :participantes, :conditions => "proyectos_usuarios.participante = true", :set => "participante = true"

para que añadiese ese fragmento en el create o en el update.

¿Algún comentario o sugerencia?

Hay 3869 comentarios

Como llamar a metodos de un modulo

rails, extend, modulo, helper, ruby

Por guillermo hace ya 4 meses

Estaba yo intentando llamar a un método de un helper. Probando encontré un método que sirve para extender clases con módulos.

Sé que esto es básico, pero por desgracia no me he leído todavía ningún libro sobre ruby. He de suponer que lo que estoy haciendo es un mixin de clases con los módulos.

La palabra clave es extend

Por ejemplo, si estoy en un ./script/console de rails, solo tengo que hacer un:

self.extend CommentsHelper

Para completar, es saber que módulos están cargados en la clase actual, vamos, que mixins se presentan.

self.extended_by

Espero que nadie pierda el tiempo que perdí yo intentando hacer esto.

Hay 87 comentarios

Añadir métodos a una clase o estancia creada

ruby, class

Por guillermo hace ya 4 meses

Pues más sencillo de lo que parece. Como es normal en ruby, la lógica aplastante por encima de todo y un simple "<<" bastará.

Por ejemplo.

En vez de hacer

def di_hola puts "hola chaval!" end

podemos hacer:

class << self def di_hola puts "hola chaval!" end end

O su manera enfuscada:

class << self; def hey; puts "hola chaval!"; end

 

Hay 3869 comentarios

Descarga de urls desde consola

consola, shell, descargar, varios, archivos, xargs, wget, curl, fetch

Por guillermo hace ya 4 meses

El otro día, poniendo plugins de compiz, tenía que descargar de manera rápida unos 8 o 9 urls. Como el ratón me parece un dispositivo bastante práctico, pero lento, quería hacerlo desde consola (con wget, curl o fetch), y se me ocurrió esta manera, que resultó bastante buena.

cat | xargs wget

Ahora un simple copy y paste de las urls, y a descargar.

Solo queda hacer que se descarguen todas de manera concurrente.

Nota: Solo podrás descargar un número máximo de archivos. Para saber este número teclea:

getconf ARG_MAX

 

Un Saludo

Hay 3897 comentarios

Saludo Inicial

flickr, twitter, lacoctelera, cientifico, guillermo

Por guillermo hace ya 4 meses

Muy buenas.

Mi nombre es Guillermo, y soy una persona aficionada al mundo de lo digital. Desde el como funciona el reloj digital de al lado de la mesilla, hasta las abstracciónes más profundas del mundo digital, como Federated Identity. En este blog, intentaré poner lo poco que se o aprenda, como ejercicio personal, y por si acaso le sirve a alguien.

Otros sitios donde tengo cuenta (por si te aburres y quieres curiosear):

Para todo lo demás, al messenger, jabber, o por correo. Las tres son guillermo@cientifico.net

Un cordial Saludo

Hay 336 comentarios