domingo, 18 de noviembre de 2007

[Backup] Enlaces visitados y de interés (Nov-2007)

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Aunque no actualice con artículos nuevos, si que leo y visito sitios interesantes (normalmente). Y para muestra, un botón:
Bad Vista
¿Ha dicho propiedad intelectual? Eso sólo es un espejismo seductor
BadVista blog
What's wrong with Microsoft Windows Vista?
Java libre, artículo en Libertonia

Hay más, pero no del todo destacables... no para vencer la pereza de incluirlos :-p

Para terminar, una cita de una firma de un comentario (juer que complejo!) que he leído en elsentidodelavida.net:
Hay dos palabras que te abrirán muchas puertas: "Tire" y "Empuje". Dos que te abrirán un mundo de conocimientos: "Google" y "Wikipedia". Y dos que haran que parezca que tienes esos conocimientos: "Copiar" y "Pegar".

lunes, 29 de octubre de 2007

[Backup] La idea de... linux


 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

"La idea en" era una sección/bloc de notas que utilizaba en maserox.net para anotar ideas importantes para tenerlas a mano cuando fuera necesario.

Nótese que los lenguajes de programación y los sistemas operativos evolucionan rápidamente y parte de la información aquí detallada puede estar obsoleta.

Comandos básicos útiles en Linux:

df:Conocer la utilización de espacio en disco. O mejor dicho explicado: muestra por pantalla un listado de las
particiones existentes en el sistema y datos de interés sobre las mismas.


Por defecto: el nombre del dispositivo o sistema de ficheros, los bloques de
1K (ya sabéis: 1000K es aprox 1Mega, 1.000.000K es aprox 1Giga...), cuánto espacio
hay usado, cuánto disponible, el porcentaje de uso, y donde está montado.

Por ejemplo, a mi me sale:
$ df
S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en
/dev/mapper/Debian-root 6890048   6061864    478184  93% /
tmpfs                   258488         0    258488   0% /lib/init/rw
udev                     10240        84     10156   1% /dev
tmpfs                   258488         0    258488   0% /dev/shm
/dev/hda1               233335     31705    189182  15% /boot
/dev/mapper/Debian-home 106755136  63026264  38305976  63% /home
     

clearLimpia la pantalla. Ideal para cuando se te llena la pantalla de texto. Un clear seguirás
escribiendo en la primera. Bien limpito. Especialmente útil cuando solicitas
un listado (ls,dir, etc...),
un mostrado de fichero (cat), etc...


man "nombre_de_programita" Muestra la página man de ese "programita".
Adicionalmente, puede ser de utilidad pasarse por la Guía man de Gentoo, y
saber que para buscar palabras o "patrones" dentro de un man basta con escribir
"/" (barra) seguido de lo que se quiera buscar y darle al [ENTER]. Y para ir al
siguiente resultado pulsar la letra [n]. Los resultados encontrados se resaltarán
en la pantalla.

Si se utiliza este método, el man mostrará en la parte inferior una frase
del estilo "Pattern not found" para informar de que no encuentra más resultados
para esa búsqueda.


  
apropos "patron"
¿Sabéis cuando te suena cómo es un comando pero no lo recuerdas del todo
bien? ¿O cuando lo intentas ejecutar mareando letras para ver si te sale? ¿O cualquier
otra situación en la que lo que so voy a decir de apropos o sea súper útil? Pues bien:

Este comando muestra una lista de todos los comandos que tenéis disponibles
en vuestro sistema y que contienen "patron", ya sea en el comando propiamente
dicho, o en su "descripción corta" (la cual también aparece en pantalla junto al listado).

Que te suena que tienes un programita que se llama nosequé_ftp,
pues ejecutas $ apropos ftp y te sale una lista tal que así:



apt-ftparchive (1) - Utility to generate index files

cftp (1) [conchftp] - Conch command-line SFTP client

conchftp (1) - Conch command-line SFTP client

filezilla is the Linux port of the famous FTP client for Windows. (1) [filezilla] - (unknown subject)

Finance::Quote::FTPortfolios (3pm) - Obtain unit trust prices from www.ftportfolios.com


ftp (1) - Internet file transfer program

fzsftp (1) - (unknown subject)

fzsftp is a Secure File Transfer (SFTP) client. (1) [fzsftp] - (unknown subject)

gftp (1) - a graphical ftp client

gftp-gtk (1) - a graphical ftp client

gftp-text (1) - a graphical ftp client


netkit-ftp (1) - Internet file transfer program

netrc (5) - user configuration for ftp

pftp (1) - Internet file transfer program

sftp (1) - secure file transfer program

sftp-server (8) - SFTP server subsystem

smbclient (1) - ftp-like client to access SMB/CIFS resources on servers


webcam (1) - capture images and upload them to a webserver using ftp

   KDE:

[Alt]+[F5] Muestra una ventanita con la lista de ventanas y opciones para interactuar
con ellas del tipo "pasar a", "ordenar en cascasa", "cerrar todas las ventanas", etc...

 
[Alt]+[F3]
Muestra el "menú de las ventanas", con sus opciones del tipo
mover, redimensionar, maximizar, avanzado, recoger, etc...

[Alt]+[Arrastrar] Mueve la ventana donde se arrastre. Independientemente de donde en qué
parte de la ventana se haga click, incluso en un botón o sobre una región de texto.
 

[Alt]+[Tab]Lo típico de tabular entre programas abiertos... 

[Ctrl]+[Tab] Tabular entre escritorios 

[Alt]+[Click derecho]+[Arrastrar] Redimensiona ventanas. Simula que el click lo haces en el borde
correspondiente de la ventana, no en cualquier lugar. Para no molestarte en
acertar en el borde o cuando los bordes no se ven va muy bien.

sábado, 27 de octubre de 2007

[Backup] Manual de MySQL de Maserox:


 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

Manual de MySQL de Maserox:
Este es un manual de MySQL escrito desde la experiencia personal. Como el resto de secciones de laIdea, pretende servir de "cuaderno de apuntes" para cualquiera que le encuentre utilidad, empezando por mí.

A lo largo de toda esta "hoja" he dividido las anotaciones en subsecciones, como es costumbre aquí en Maserox. Se pueden encontrar "enlaces", "consultas", "administración", "creación de tablas", etc...

Que aproveche!! :-)



Enlaces de interés sobre MySQL:

MySQL en la wikipedia
MySQL-Hispano
Manual de referencia de MySQL 5.0 en castellano
Tutorial básico de MySQL en MySQL-Hispano
Tutorial básico de MySQL - II en MySQL-Hispano
MySQL con Java en Linux en MySQL-Hispano
Tipos de datos en MySQL en MySQL-Hispano
Integridad referencial en MySQL en MySQL-Hispano
Almacenando contraseñas en MySQL en MySQL-Hispano
Zona de desarrolladores de la web de MySQL: Donde podréis encontrar todo tipo de enlaces e información relacionados con el desarrollo en MySQL. Desde enlaces a otras secciones, como por ejemplo a manuales de referencia, blogs, foros, listas de correo, etc... de MySQL, como a "vertientes" o "ramas" del tema como el trabajo de MySQL bajo PHP, bajo Java, etc... o también noticias relacioandas con la actualidad del "mundo" MySQL.
Enlace directo a la sección de documentación y manuales de MySQL (de la página oficial de MySQL).
Manual de referencia (en castellano) de MySQL Query Browser

Administración de MySQL:
Antes de nada recordar que no ha nada mejor que acudir al manual de referencia de algo para obtener información 100% útil y 100% vital bla bla bla... ya sabéis por dónde voy. Avisados quedáis...

Los primeros pasos en la administración de nuestro mysql inmediatamente después de su instalación, están relacionados con las contraseñas. Esa molesta pero necesaria tarea que es preocuparse mínimamente por la seguridad de las cosas.

Como (casi) siempre, el grado de paranoia que llevemos en estos temas irá relacionado con lo seria que vaya a ser la faena que realicemos, pero no está de más cuidar un poquito el tema de los accesos a las bases de datos que tengamos, digo yo...

En este punto, resulta de vital importancia leerse el punto 2.9 del manual de referencia de MySQL: Puesta en marcha y comprobación después de la instalación.

Si somos de los que tienen prisa, desinterés, desgana, o lo que sea, pues como mínimo mínimo (si, dos "mínimos", rollo énfasis en plan "hazme caso, joé") sería cosa de leerse el punto dedicado a Hacer seguras las cuentas iniciales de MySQL.

Ahí explican el tema de las cuentas de usuario anónimo (aunque no avisan de que hay sistemas que las eliminan automágicamente por si acaso...), y que la cuenta de administrador por defecto no tiene contraseña, por lo que es un poquillo importante hacerles caso y ponerle una rapidito...

Comandos
USE Seguido del nombre de una base de datos existente, permite cambiar la base de datos con la que se está trabajando.SHOW  Es un comando que da mucho de sí. Por ejemplo un SHOW DATABASES; muestra en una consulta las bases de datos existentes en el sistema (y visibles para el usuario que ejecuta el comando, claro).

Funciones
MySQL trae consigo una serie de funciones. Entre ellas: USER()En una consulta, devuelve el usuario que está conectado en ese momento.CURRENT_DATEEn una consulta, devuelve la fecha actual.


Consejos y recordatorios:

Cuando se crean tablas:
Ojo con los campos que permiten valores nulos y los que no
Si hay que definir restricciones con constraints y checks se definen, pero definirlas pa' na'... es tontería
Al definir claves ajenas (foreign keys) es bastante aconsejable (por no decir imprescindible) hacer uso de las sentencias ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION} y ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}. Yo, personalmente, suelo utilizarlas así:
ON UPDATE CASCADE
ON DELETE RESTRICT
que actualiza "en cascada" cuando se modifica una clave ajena en su tabla de origen, pero restringe la eliminación de un registro que esté utilizado en otra tabla.

Es como si tú le cambias el código de artículo a un producto: el código se actualiza en todos los registros, por ejemplo de facturas, donde aparezca el producto. Pero si intentas eliminar un producto que aparece en alguna factura no te lo permite.

Mi experiencia en el terreno de las BBDD no es suficiente para recomendar definir siempre una codificación de caracteres y confiar en ella para hacer uso de caracteres extendidos (tildes, eñes, etc...), pero bueno, pienso que nunca está de más definirsela, no?

Si queréis trabajar con claves ajenas y demás, tengo entendido (no se si será cierto) que es imprescindible trabajar con el Motor de almacenamiento INNODB, por su soporte para transacciones, integridad referencial, etc... Así pues un: ENGINE = INNODB al final de la definición de vuestras tablas y asunto solucionado!!


ERROR 1005: Can't create table (errno: 150)
Después de mucho goglear el asunto, mi problema era que una de las tablas la tenía por despiste como MyIsam, y la otra sí que era INNODB, pero conseguí una minilista de cosas a confirmar antes de tirar el ordenador por la ventana:
Ambas tablas son INNODB
El tipo de datos coincide
La clave ajena es la clave primaria
Escribís FOREIGN y no FOREING (típico!!)

sábado, 20 de octubre de 2007

[Backup] La idea en... páginas web

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
"La idea en" era una sección/bloc de notas que utilizaba en maserox.net para anotar ideas importantes para tenerlas a mano cuando fuera necesario.
Navegacion mediante enlaces:
Deberias tener en cuenta que hay distintos modos de realizar la navegacion por tu pagina web. cada uno de ellos con unas ventajas y unos inconvenientes.
    • En JavaScript se puede utilizar history.forward() y history.back(). O tambien history.go(+1) y history.go(-1)...
  • Trabajar segun la resolucion de monitor:
  •    Hay varias formas de tratar con estos valores:
    • El objeto screen, por ejemplo, con las propiedades width y height del mismo.
  • Trabajar con las coordenadas del raton:
  •    Para trabajar con estos valores, se ha de hacer a partir de la generacion un evento (que son los que capturan propiedades como estas). Si se desea "seguir" el movimiento del raton bastaria con utilizar las propiedades siguientes "dentro" de un "onMouseMove();", por ejemplo.
    • Las propiedades event.screenX y event.screenY Especifican la posicion horizontal y vertical del cursor en pixels relativa a la pantalla.
    • Las propiedades event.pageX y event.pageY Especifican las posicion horizontal y vertical del cursor en pixels relativa a la pagina.
  • Cosas que hay que repasar antes de tirar el ordenador por al ventana cuando no deja de lanzarte un error y no lo localizas:
    • Los signos de siempre (a mi juicio por este orden): las comillas (simples y dobles); las comas y puntos y coma; los parentesis y las llaves. Y por ultimo el resto.
      Los coloco por parejas porque si no se olvidan suelen confundirse unos con otros.
      No incluyo los angulitos ("menor que" y "mayor que")porque (creo que) es raro que alguien desarrolle webs en un entorno que no le avise (mediante color, sonidos, errores o lo que sea) de que se ha dejado un angulito abierto.
      (hasta yo, que trabajo con Html-kit tengo esa "ventaja")
    • Que la llamada a la funcion se ha hecho correctamente y pasandole TODAS las variables que tiene que recibir.
    • Que la funcion pide y recibe las variables EN EL ORDEN CORRECTO. Esto es muy importante porque hay algunos lenguajes que "confunden" las variables si se reciben en un orden y se utilizan en otro.
  • Jerarquias y malabares:
  •    Si trabajas con un editor web de estos "bonitos" como el "tejedor de suenyos" o el quanta plus (este ultimo es mas que recomendable si te gusta trabajar tu web de ese modo), sabras que tiene la ventaja (o desventaja, segun se mire) de contar con un "avisador de errores de codigo". esto es una consola de salida de posibles errores que puede ser que tenga tu codigo.
       Cabe desatacar que si utilizas el editor en modo grafico estos errores se reduciran a posibles incompatibilidades entre un navegador u otro. Pero en el caso de utilizar el editor en modo "codigo" el numero de errores suele aumentar considerablemente.
       Principalmente esto es debido a distintos factores: uno de ellos es que cuando el editor esta siendo utilizado en "modo grafico" este escribe el codigo "a su manera", y esto se suele traducir en la utilizacion de una serie de etiquetas que normalmente desconoces o no elegirias para tu codigo escrito "a mano", pero que en cambio el editor ve de lo mas oportunas. Ademas de esto, las etiquetas suelen ser dispuestas de manera que no haya "solapamientos" entre ellas, porque cuando lo hay el editor (al menos en el "tejedor" ocurre asi) da uno, o varios, de sus errores.
       Pros y contras que tiene todo esto: pues que cuando vas a editar el codigo de tu web te pierdes descifrando todo el codigo que ha metido automaticamente el editor, ademas de que te lo ordena a "su manera", y de que utiliza mas codigo del que seria necesario si con un poco de apciencia escribieras el codigo tu mismo.
       Aprovecho para recordar en este momento que todo lo que escribo lo hago siempre desde mi punto de vista y desde mi experiencia, en este caso como webmaster. nada de todo esto esta extraido de ningun manual ni documentacion ni nada por el estilo.
       Pues bien, despues de toda esta super-introduccion creo que hay una serie de cosas que se deben tener en cuenta a la hora de editar una web "a mano":
    • Aunque tengas un font definido durante todo un texto, dentro de una <a> el color de texto que hayas definido "desaparece". esto es porque, por jerarquia, el color de un hiperenlace esta "sobre" el definido fuera de el, y solo se puede cambiar si dentro de el (ya sea en la declaracion de la etiqueta <a>, o dentro de la misma) se declara asi.

domingo, 14 de octubre de 2007

[Backup] La idea en... Java

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

"La idea en" era una sección/bloc de notas que utilizaba en maserox.net para anotar ideas importantes para tenerlas a mano cuando fuera necesario.

  • Resumen de la sintaxis de Java:

    • Arrays    Existen varias formas de declarar un array. En este enlace podeis encontrar informacion sobre los distintos metodos. Y tambien en esta (que ademas de tener el mismo manual, o casi identico, tiene un monton de extras utiles como ejemplos, foros de consulta, etc...).
      Para crear un array de caracteres con las vocales del abecedario:
      char [] alfabeto = {'a','e','i','o','u'};
    • Enumerados:      Aparte de los "ya conocidos" tipos de variables (enteros, reales, caracteres, booleanos y cadenas de caracteres) existe un tipo que no se suele dejar ver en los manuales sobre java, por lo menos segun mi experiencia.
           Se trata de los enumerados, que como su nombre indica son para hacer enumeraciones. por lo que yo se enumeraciones "estaticas". quiero decir que tienen un valor fijo establecido.
           Por lo que se hasta ahora se declaran de forma "parecida" a los objetos. En su forma mas sencilla se utiliza la palabra reservada "enum" seguida de "llaves", dentro de las cuales se enumeran los valores de la variable, los cuales han de ir separados por "coma".
           Por ejemplo: nos interesa una variable diasSemana que contenga los dias de la semana. No tienen porque ser de lunes a domingo, imaginemos que trabajamos en una aplicacion para una oficina y solo nos interesan los dias laborables de lunes a viernes. Pues bien, se definiria asi:
      enum diasSemana {lunes, martes, miercoles, jueves, viernes}
      //el punto y coma de final de linea no es necesario
           Mas tarde, para acceder a dichos valores se ha de hacer de la forma:
      <nombre_enumerado>.<valor>
           y para definir una variable de ese tipo:
      <nombre_enumerado> <nombre_variable> = <nombre_enumerado>.<valor>
           Por ejemplo, para crear una variable llamada diaHoy que contenga el dia que es hoy, se haria de la siguiente manera (aprovechando la variable diasSemana declarada antes) :
      diasSemana diaHoy = diasSemana.martes
      //suponiendo que hoy fuera martes, claro :-p
    • Caracteres especiales:
      Caracter: Descripcion
      \bBorrado (retroceso)
      \tTabulador
      \fCambio de linea (form feed)
      \rRetorno de carro ("salto de renglon")
      \nSalto de linea
      \'Comilla simple
      \"Comillas dobles
      \\Barra invertida
      \ddd Numero de caracter en octal (valores admitidos: [000,377])
      \uxxxxNumero de caracter Unicode que se quiere representar (en hexadecimal). valores: [000, FFF]
    • Divisiones: recuerda que el operador "/" devuelve la division y el "%" el resto de esa division.
    • "If reducido": recuerda tambien que tienes a tu disposicion el operador "if reducido", llamado "? :", que sirve para evaluar una condicion y realizar una accion si se evalua a true u otra si se evalua false. Aparentemente actua como un "if...else", por lo que le llamo asi.

      Sintaxis:
      condicion ? expresion1 : expresion2
      //si condicion es true se ejecuta expresion1 y de ser false se ejecuta expresion2
      Evidentemente se pueden "anidar", simulando "else's".
    • Conversiones:
      (tipo) expresion   :   convierte la expresion al tipo (de variable) indicado.
      (Clase) objeto     :   convierte el objeto a la clase indicada.
    • instanceof:
      objeto instanceof Clase : devuelve true si el objeto indicado es una instancia o deriva de la clase indicada.
    • ~

  • Excepciones:

    • Las "mas frecuentes":
      • NullPointerException: lanzada cuando se intenta acceder a un objeto o atributo de un objeto que no existe (que no esta referenciado apunta a null.

martes, 7 de agosto de 2007

[Backup] Cambios de tamaño de fuentes entre KDE y GNOME

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.


Titulado en otros lugares como configurar las fuentes de aplicaciones Gnome (GTK) usando KDE (Qt), Tipografías desajustadas en KDE con GTK, etc... aunque después de todo lo que he leído yo lo llamaría algo así como El cachondeo del tamaño de letra entre KDE y GNOME. Ni más ni menos, llano, y explícito :-p


El origen de este problema parece estar en el tema del Qt, el GTK, que KDE use uno y GNOME el otro, las aplicaciones basadas en uno u otros, etc... en definitiva (por ejemplo): que si tienes KDE y GNOME instalados es posible que ajustes las tipografias a tu gusto en GNOME pero desde KDE los programas basados en GTK (el usado por GNOME) no vean esos ajustes.

Para solucionar todo esto, san google y paciencia. Y después de algunas búsquedas nos podemos quedar con
Cómo configurar las fuentes de aplicaciones Gnome (GTK) si usamos KDE (Qt)
Tipografías desajustadas usando KDE con apps GTK
Wiki de Musix > Administración > Temas y colores. Por cierto que me ha encantado esta página sobre administración que diría que es extensible a un sistema GNU/Linux estándar. Me la he anotado como referencia :-)
¿ Hasta los OO de la fuentes pequeñitas en Gnome ?

martes, 17 de abril de 2007

[Backup] Cómo configurar SpamAssassin en KMail:


Este texto está bajo una Licencia de Creative Commons, por petición implícita del autor original.
Escrito originalmente por Jordi Fontich, publicado en ...per primer cop - Configurar SpamAssassin en KMail.
Traducido por Rotura para Maserox el 17-04-2007

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

Harto de recibir mucho spam, hace tiempo que intento configurar el SpamAssassin sin conseguirlo. He buscado y buscado como narices he de hacer para hacerlo funcionar, pero sin resultados positivos. Hoy, después de dejar descansar el tema durante algún tiempo, he vuelto: he encontrado un montón de documentos que SI que me dan soluciones para configurarlo. Fusilo este, que me parece muy bueno porque va al grano, pero hay más... CONFIGURAR SPAMASSASSIN EN KMAIL
  1. Requisito: tener instalado el SpamAssassin y el Kmail en la máquina local.
  2. Se recomienda crear 3 carpetas en el cliente de correo: nospam, spamfiltrado, spamperdido.
  3. En Kmail, ir a la opción del menú Preferencias y luego Configurar filtros. Para crear un nuevo filtro, darle al icono de nuevo que está arriba del botón de ayuda. Renombrar el filtro como "SpamAssassin". En este filtro escoger las siguientes opciones:
    • Activar "Coincidir con todos los siguientes".
    • Seleccionar la primera regla como: size "es menor que " 250000. (Esto le dice a Kmail que aplique la regla a los mensajes que sean menores de 250KB). A mayor tamaño del correo, más tarda en procesarlo SpamAssassin. Este tamaño es una sugerencia, puede escogerse un tamaño mayor.
      Seleccionar como acción de filtrado "A través de tuberia" y en cuadro de texto "spamassassin -L". La opción -L le dice que ejecute SpamAssassin en local y que no compruebe la conexión de red.
      Con este filtro el SpamAssassin añadirá la línea "X-Spam-Status: YES" a la cabecera del correo que identifique como spam o "X-Spam-Status: NO" sino.
      Finalmente, desactivar la opción "Si este filtro coincide, parar el procesamiento". Pulsar el botón de apply.
    • Añadir un segundo filtro. Esta vez renombrarlo como "SpamFilter". Escoger como criterios de selección:
      • Activar "Coincidir con cualquiera de los siguientes".
      • Cualquier cabecera que contiene "X-Spam-Status: YES".
      Escoger las acciones para archivar en la carpeta spamfiltrado. Finalmente, desactivar la opción "Si este filtro coincide, parar el procesamiento". Pulsar el botón de apply.
    • Ordenar los filtros de forma que el primero sea SpamAssassin y el segundo SpamFilter.
  4. Seleccionar del menú mensaje la opción aplicar filtros.
  5. Para que SpamAssasin detecte correctamente el spam es conveniente entrenarlo o indicarle que mensajes son spam y no han sido detectados. Para ello moveremos de forma manual los mensajes no detectados como spam a la carpeta de Kmail spamperdido y ejecutaremos desde la línea de comandos cada cierto tiempo (o lo pondremos en el cron): sa-learn --spam --dir /home/user$/Mail/spamperdido/* Tambien deberemos indicarle qué mensajes no son spam y han sido detectados como spam. Para ello moveremos de forma manual los mensajes detectados como spam y que no lo son a la carpeta de Kmail nospam y luego ejecutaremos de forma periódica (o incluiremos en el cron): sa-learn --ham --dir /home/user$/Mail/nospam/*
  6. Editar el fichero "/home/$user/.spamassassin/user_prefs" y se recomienda bajar el "required_score" de SpamAssassin a 4. Dependiendo de la tipología de los mensajes recibidos por el usuario puede bajarse este número más a 3. SpamAssassin marca los mensajes recibidos con un número que determina la probabilidad que sea spam o no. Si el número supera el parámetro "required_score" es spam sino no.
  7. Se recomienda ver el código fuente de los mensajes de correo recibidos y ver la cabecera X-Spam-Status: para ver como está marcando los mensajes SpamAssassin.
  8. Borrar de forma manual los mensajes de la carpeta spamfiltrado y spamperdido una vez han sido revisados o pasado un tiempo.
  9. Tener en cuenta que el SpamAssassin ralentiza el proceso de recepción de mensajes.
Hay otros documentos muy buenos que he encontrado que considero que pueden ayudar:

[Backup] Inmersión en MySQL

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Últimamente no he actualizado, y ha sido sobretodo por el título de la noticia: Estoy inmerso en MySQL. La razón es un proyecto que me traigo entre manos desde hace un tiempo, y que ya tiene nombre (versión beta): SOMME.

Poco puedo decir sobre él de momento, salvo que por ahora estoy en la fase final de creación de una base de datos para manejarlo. O mejor dicho, para que le dé vida (informáticamente hablando).

Después de muchos ratitos libres aprovechados para seguir un poco el tema del proceso de desarrollo del software (más o menos según lo recordaba del Ciclo Superior), me encontré en la fase de ponerse a crear las tablas, y buscando un buen gestor de bases de datos que no me esclavizara a trabajar ni en windoz ni en linux, terminé optando por MySQL.

Fruto de esta locurilla he creado una nueva paginita dentro de la sección laIdea, llamada MySQL (obvio), y que voy llenando conforme aprendo sobre este sistema y quiero anotar cosas para no olvidar. En ella podeis encontrar los enlaces más interesantes que he encontrado sobre el tema, y apuntillos sobre algunas funciones y comandos de MySQL.

En linux es muy sencillo tenerlo funcionando en dos patadas, sólo con instalarse el "mysql-server", aunque recomiendo googlear un poquito, que nunca viene mal. Y en windoz también, y sobretodo si os ayudais del XAMPP, que a mí me gusta definirlo (informalmente) como un programita que se instala en tres clicks (o ni eso, porque tiene versión "descomprimir y listo"), y te dispone un servidor MySQL, uno Apache, y uno FileZilla (por aquello del FTP) con sólo hacer click en "encender" cada uno de ellos. Así de fácil.

Precisamente estuve probando la instalación bajo windoz en la facultad, y escribí sobre ello, pero no recuerdo "ande" puse el archivo!! :-p De todas formas, no tiene pérdida (y aún así cuando lo encuentre y tenga tiempo lo pondré en el blog y por aquí).

Para el que le interese: también he estado actualizando Comandos básicos útiles en Linux, y he escrito Configurar SpamAssassin en KMail. Y además he publicado en el blog:
¿Por qué cojean las cosas?
Dia: programa para realizar diagramas
MySQL: diferencia entre BLOB y TEXT

Joer, para haber sido pascuas, anda que no he hecho cosas!!

jueves, 22 de marzo de 2007

[Backup] Extensión tab saver: copia de seguridad de tus "pestañas"

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

A todos los que tenemos el placer de disfrutar de internet navegando con firefox (rebautizado recientemente como iceweasel en linux) nos ha pasado alguna vez que hemos cerrado o “perdido” alguna pestaña en la que teníamos una página web abierta que no queríamos perder y que nos resulta difícil o a veces imposible volver a encontrar.

Para todos nosotros se ha creado la extensión Tab Saver!, que es una extensión para firefox que permite recuperar las pestañas que hemos cerrado sin querer o incluso las que se cerraron por causas mayores como un reseteo del ordenador por problemas con la red eléctrica, un cuelgue del windoz, etc…

Personalmente, es una de mis extensiones favoritas. No se suele usar demasiado, pero es como las copias de seguridad: si no pasa nada pues nada, pero si pasa algo malo te maldices si no las tienes y pagarías por tenerlas.

Como todas las extensiones para los productos de la fundación mozilla es tan sencilla de instalar como entrar en la dirección que os he dado y seleccionar “Install Now”.

Una vez instalada y reiniciado el firefox, dentro del menú “Herramientas” os aparecerá una opción “Restore Tabs”. Si la pincháis se os abriran las pestañas que hayais cerrado.

En cuanto a la función de restaurar si se os apaga el ordenador o lo que sea: aparecerá sola la opción. Es decir: cuando encendáis el ordenador de nuevo y abráis el firefox, os saldrá una ventanita pequeñita que dirá algo así como que parece que no cerraste voluntariamente el firefox, y que si quieres restaurar la sesión que tenías.

Como nota final, en la página de instalación dice que pulsando [Ctrl]+[Shift]+[S] fuerzas que se guarde la sesión tal y como la tengas. Ale, a disfrutarla!!

[Backup] Cómo cambiar el directorio de wordpress

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
O mejor dicho: cómo cambiar el directorio de la instalación de wordpress (a posteriori, se entiende ;-) ). El esquema de siempre, para no perder la costumbre (como siempre, los vagos o impacientes se pueden dirigir directamente al último punto ;-) ) :

Situación:
partimos de la base de que tenemos hecha una instalación de wordpress, y acceso al "lugar" donde está instalado (veo difícil arreglar el problema si no tenemos acceso ftp al lugar); y queremos cambiar el directorio completo donde está instalado. Es decir: si lo tenemos en "http://miservidor.com/instalacion_actual/" lo queremos cambiar a "http://miservidor.com/nuevo_nombre_de_directorio/", vale?

Proceso de resolución: esto es lo que yo he hecho: primero de todo, leerme el artículo recomendado por wordpress dentro de "opciones > general". El que hay bajo el texto "difiera del directorio" y que apunta a "Dando a wordpress su propio directorio" (en inglés).

Después he googleado el tema, pero no he encontrado nada en castellano. Así que he buscado en la web "raíz" (http://codex.wordpress.org) y me he encontrado con el artículo ideal: "moviendo wordpress" , que no sólo habla de cómo hacer lo que yo quería, sino variantes de lo mismo como por ejemplo dejarlo donde está pero guardar los permalinks en otro sitio, etc…

Además, también hay numerosos enlaces de interés. Entre ellos, el primero que he comentado. Y soluciones a problemas frecuentes en plan "Qué hacer si la cagas y tu blog deja de funcionar" :-) Pero bueno, gracias a estos artículos, ahora sí:

Solución:
pues te vas a opciones > general, pones en los campos de URL y URI el destino nuevo (ya sabéis http://midireccion.com/nuevo_nombre) y le das a actualizar las opciones (el botón del final de la pantalla).

Ahora que el wordpress se cree que has cambiado de sitio. No lo toques. Lo que tienes que hacer ahora es conectar por ftp con tu sitio y crear la carpeta con el nuevo nombre (el que le has dado a wordpress). Yo, personalmente, lo que he hecho ha sido renombrar la existente al nuevo nombre. Como las dos estaban en el mismo nivel de directorios… :-)

Luego vuelves a tu wordpress. Pero si clickas cualquier opción te dirá que no se encuentra la página. Claro, la acabas de cambiar de dirección!! Todo lo que tienes que hacer ahora es volver a loguearte pero esta vez en "http://misitio.com/nuevo_nombre/wp-login.php".

Llegado a este punto no deberías tener problemas para el último paso: loguearte, ir a "opciones > permalinks”, "regenerar" tus permalinks clickando el botón de "actualizar permalinks" (abajo del todo).

Pues ala, ya está. Enhorabuena por tu cambio de nombre. Espero que estés satisfecho/-a ;-)

[Backup] WGA, Microsoft te vigila, El nuevo gran hermano, ¿Puedes confiar en tu compuradora? ... La guerra ha comenzado.

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Aunque para ser exactos, la guerra ya había comenzado. Ahora se comienzan a oír los gritos de batalla. Empieza a oler a sangre...

Como he dicho en otras ocasiones, estoy orgulloso de ser usuario exclusivo de Linux desde hace ya meses. Tan sólo conservo una instalación de windoz, en una partición del portátil junto con otra Debian, y por motivos de fuerza mayor (léase que hay algunos programas que utilizo en la universidad, necesito tener "a mano" y no he conseguido que funcionen en Linux).

Recuerdo cuando leí el fantástico ¿ensayo? del maestro Stallman (aunque coincido con mucha gente en que se le va un poco la olla a veces, pero no más que a los "microsofianos"...) titulado "Can you trust in your computer?", traducido en castellano como "¿Puede confiar en su computadora?". Recuerdo también que me sorprendió muchísimo que el copyright del artículo databa del año 2002. Me pareció que era algo muy adelantado a su tiempo, y además me pareció algo que todavía en el año que estábamos (creo recordar que el 2004 o 2005) era algo muy anticipado... Incluso llegué a desconfiar y pensar que estaba desvariando, pero con el paso de los años, y desde el día de hoy, he comprendido que El Profeta habló y sus palabras se hacen realidad.

Desde que me enteré de la existencia del WGA (que se me antoja traducir como "Ventaja del windoz genuino", y que me suena a que microchof acepta los windoz piratas pero que da ciertas ventajas a los "auténticos" :-S ) supe que algo estaba cambiando... Supe que habría mucho revuelo con el tema, que habría muchas crisis de ansiedad por el miedo a no poder seguir teniendo un windoz pirata, pero también supe que, como siempre alguien habriría un agujerito por el que respirar y poder saltarse a la torera la nueva barrera de seguridad.

Y es por eso que como usuario de linux me resbala el WGA, y como usuario de windoz ocasional también (además el de mi portátil es legal), PEEEEERO!! Un momento!! Me doy una vuelta hoy por internet y me encuentro artículos como: Ordenadores con XP llaman a Microshoft a diario y Crece la polémica sobre las "llamadas a casa" de Windows XP con WGA, ambos publicados en la fantástica Kriptópolis, o la cadena de spam esa que dice que no instales windows vista y entonces la campanita paranoica se me vuelve loca perdida.

Explico lo evidente: no me importa cuántas puertas pongan por delante, ni su grosor, ni su material, ni su sistema de apertura. PEEEEERO las cámaras de vigilancia ya son otro cantar...

Ahora mismo no tengo tiempo para goglear el asunto pero andaros con ojo los que teneis el windoz ZP instalado. Tanto los pirateados como los legales. Nadie se salva de librar esta guerra...

Hasta hoy todo esto parecía muy lejos. Pero ahora lo veo aquí, en nuestros ordenadores. Ese iconito molesto que aparece al lado del reloj del windoz; eso que hace que de repente el ordenador vaya como a cámara lenta, como si le estuviéramos dando mucho trabajo a la vez; ese poder pasar cds de música a "wma" para guardarlos en el ordenador pero que luego no se puedan abrir con ningún programa que no sea el "Windoz Merdia Plaller"; las señales están ahí, son cada vez más numerosas. Los precavidos correrán a salvarse a otros Sistemas Operativos como Linux o Mac OS. Los confiados, los dejados, los enganchados a los iconitos chupiguays del mesenyer... ¿qué será de ellos?

PD: Al que le interese el tema y le guste leer, que busque sobre el tema del DRM, los acuerdos firmados oficial y extraoficialmente por las grandes empresas dedicadas al ocio digital y multimedia, etc...

lunes, 5 de marzo de 2007

[Backup] Maserox evolution

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Pues sí, tras varios anuncios y un largo parón provocado por los exámenes (que parece que hemos superado con éxito, salvo la física(mente) "inaprobable"... ), y por las horas y horas que ha durado la transformación de la web, puedo anunciarlo definitivamente: MASEROX HA EVOLUCIONADO.

Evolucionado como lo hacen los poquemones, los sims que cambian de etapa de vida, los gusanos de seda cuando salen del capullo, una idea cuando se desarrolla y plasma en cualquier soporte...

¿Los puntos fuertes de la evolución? Externamente (o sea: gráfica/visual-mente):
He añadido una "línea de ruta" titulada "Estás en:" en las secciones con subsecciones laIdea, Links, y sus derivadas (como los artículos que "cuelgan" de laIdea, por ejemplo), para ayudar al visitante a situarse dentro de la web y facilitarle el "salto" de un lado a otro.

Salta a la vista el cambio de imagen de toda la web. Al pricipio fue la página de "inicio", luego la del "Sobre..."; ahora, por fin, la de la sección de Links, y laIdea :-D

He creado un índice de subsecciones de laIdea y uno de la sección de Links, visibles al entrar en estas secciones, como presentación de las mismas.

Ya se ve, pero por si hay algún diseñador de webs "en la sala" a quien le interese: el code de la sección laIdea (utilizado, sobretodo en laIdea de Linux y laIdea de Java) tiene estilo propio ;-)

Internamente:
(casi)Todo. Menos el texto y algunas etiquetas META, he cambiado todo.
A raíz de adoptar y poner en práctica el diseño (o maquetación) haciendo uso del CSS y prescindiendo de las tablas (decisión que propició los cambios visuales), he tenido que rediseñar todas las páginas de la web; todas las secciones; TODO.

Estoy muy contento con los resultados, tanto visuales como funcionales, a pesar de que ha sido un proceso largo, costoso, laborioso, y tedioso oso oso...

Dedicaré un artículo completo al tema de diseñar con CSS, aunque se puede goglear en abundancia (y con muy buenos resultados) sobre el tema.

También es destacable el cambio en la codificación de caracteres. Bueno, más que cambio, he pasado de no tener ninguna definida, a adoptar la UTF-8. Pero esto es algo que, aunque a comenté por ahí, también va a tener un artículo dedicado en exclusiva.

En fin, que esto es Maserox, Maserox Evolution. Y la web crece, aumentan los contenidos de interés, y tengo unos cuantos borradores y proyectos de artículo en el tintero...

Permaneced atentos que esto marcha...

PD: Frikitrapaos del día: el chaval que se ha tirado más de una hora (y lo que llevaría ya ahí...) jugando al ajedrez en el ordenador (de la sala de ordenadores de la facultad, por supuesto). Y también el chaval que ha estado buscando, hasta que la ha encontrado, cuál es la palabra más larga del mundo o_O

miércoles, 21 de febrero de 2007

[Backup] Sincronizar dos carpetas con rsync (1ª parte)


 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.

Antecedentes "históricos":

Ya estuve hablando hace un tiempo del programa unison y cómo sincronizar carpetas con él según mi necesidad: pendrive - ordenador, ordenador – pendrive. Pues bien: me he enfadado con unison. Resulta que como por arte de magia las carpetas del pez (el pendrive) han pasado a estar en minúsculas, y se ve que el unison es sensible a las mayus y minus pero sólo en una de las direcciones (creo que en dirección hacia el pez), por lo que se empeña en decirme que tengo carpetas nuevas cuando en realidad tengo las mismas carpetas de siempre. La única diferencia es que él las ve como con las capitalizaciones cambiadas y las da por nuevas.

No puedo demostrarlo (o no sé hacerlo), pero creo que la culpa de todo la tiene que cuando hago el “unisonado” (toma palabro) en casa lo hago “pez-linux, linux-pez” y cuando lo he hecho en la universidad ha sido “pez-windoz, windoz-pez”. Basándome en la molesta configuración que traen los windoz de la universidad (las extensiones de archivo “más comunes” ocultas, los archivos ocultos permanecen invisibles, etc... ya sabéis de que hablo ;-) ), seguro que tienen activa alguna opción de estas del tipo “mostrar todos los nombres de carpeta en mayúsculas independientemente del nombre original” (ahora mismo no cito textualmente pero opciones de este tipo he visto yo por ahí por “Herramientas > opciones de carpeta > nosequé”...)

El caso es que como me he enfadado con él, y como encima para “unisonear” en la universidad me tenía que meter en windoz, tocar cada vez el path (como ya expliqué en su momento) y todo el rollo, me he tenido que buscar alternativas más... digamos “flexibles”. Tan flexibles como mirar si los linux de la universidad tienen algún paquete de sincronización de archivos y aprender a usarlo. Tan flexibles como: $ apt-cache search sync

Ver el (único) resultado que se adaptaba a mis necesidades: rsync - A program for synchronizing files over a network Y decirme a mí mismo: Vale, pues toca aprender a usar rsync... :-p

Ahora sí, al grano:

Googleando un poquito podemos encontrar:

Según la definición de rsync de la wikipedia en español "Rsync es una aplicación para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos.

Vale, parece que vamos por buen camino. Esta es la página web oficial (creo) de rsync. Podemos hacer una búsqueda sobre rsync en el formulario googlero de las listas de usuarios de debian, y encontraremos unos cuantos muchos resultados con hilos que hablan sobre el programita en cuestión. Pero yo, personalmente, he encontrado mucha información al respecto, pero ninguna útil para mi propósito...

¿Siguiente paso? Pues googlear el tema, por supuesto: PUES NO!! al menos no si todavía no he publicado esto (porque espero que me encontréis cuando lo publique y busquéis sobre esto :-p ), porque lo que os encontraréis (al menos según mi experiencia) son montones y montones de resultados que hablan de sincronizar carpetas remotas, una carpeta local con una remota, un servidor remoto con una carpeta local, bla bla bla... pero nada que nos explique “cómo sincronizar una carpeta de la memoria usb con una del pc de sobremesa (o del portátil)”. O simplemente “cómo usar rsync localmente”, que viene a ser lo mismo.

¿Desesperado? Pues sí, pero todavía me quedan dos opciones: buscar respuestas en la web oficial de rsync o leer el man del programita. Lo malo es que las dos opciones pasan por ponerse a leer en inglés. Pero como, aparte de un poco cansado, para mí no es problema... pues qué le vamos a hacer.

La página de rsync, en su sección de ejemplos, ofrece ejemplos sólo referidos al uso en sincronización de servidores, por lo que no nos sirve.

El man de rsync más de lo mismo, pero podemos sacar información útil para nuestro caso...
-a : no sé bien de que va esta opción, pero creo que le dice a rsync que trate con archivos.
-r : le dice que haga el sincronizado recursivamente (o sea: recorriendo todos los subdirectorios del directorio especificado)
-v : “verbose”. Creo que sirve para que se muestre en pantalla lo que va haciendo el rsync.
-z : no sé si para el caso es útil pero creo que lo que hacer es transmitir los datos comprimidos, supongo que por ahorrar tiempo y ancho de banda.



Pruebas:

1.- creo un directorio “origen” y un directorio “destino”. Creo varios archivos:
$ ls > ./origen/listado.txt; ls -l > ./origen/listado_detallado.txt; ls Desktop > ./destino/lista_Desktop.txt

Como veis he creado dos en el directorio origen y uno en destino, para ver el efecto de rsync sobre los archivos ya creados en destino y que no existen en origen.

El primer $ rsync -a ./origen/* ./destino/*

no surte efecto porque sobra el asterisco de destino. $ rsync -a ./origen/* ./destino/

funciona pero como me salto el “-v” no sé lo que ha hecho rsync hasta que no listo el contenido de los directorios. Pero vamos, que lo que hace es copiar los dos archivos de origen al directorio destino.

Ahora toca ver si actualiza los archivos: $ ls -l >> ./origen/listado_detallado.txt // para incrementar el contenido del archivo
$ rsync -av ./origen/* ./destino/ // repetimos pero con la -v para ver lo que hace

Y lo hace sin problemas. Si devolvemos el archivo a su estado original (es decir, la mitad de lo que es ahora), podremos observar que sigue actualizando correctamente. Omito los pasos porque es reutilizar pasos anteriores.

Ahora nos gustaría comprobar si cuando borramos un archivo en origen se borra en destino. Lo natural sería hacer: $ rm ./origen/listado.txt // para borrar el archivo listado.txt
$ rsync -av ./origen/* ./destino/

Sin embargo nos vamos a topar con que el archivo no se borra :-(

Después de investigar el fenómeno me he dado cuenta de que fallan dos cosas: la primera que hay que añadir la opción “--delete” para que borre los archivos que en origen no están y en destino sí. Y la segunda que hay que quitar el asterisco de origen para que nos haga caso el comando. Lo del asterisco no tengo muy claro porqué pero está explicado en el man del programa.

La cuestión es que la línea quedaría: $ rsync -av --delete ./origen/ ./destino/

Y ahora sí se borraría el archivo que sobra.

Vale, pues nada, ya tenemos más o menos cogido el puntito a la sicronización (o eso esperamos...). Ahora hay que subir un nivel: sincronizar contando con la existencia de subdirectorios. Lo primero será creárselos, claro:
mkdir ./origen/subori1;
mkdir ./origen/subori2;
mkdir ./destino/subdes1;
mkdir ./destino/subdes2;

Una vez más, contamos con contenido exclusivo de destino para ver qué tal se porta con él rsync... Y creamos archivos para esos subdirectorios:
ls > ./origen/listado.txt;
ls Desktop > ./destino/lsDesktop.txt;
ls origen > origen/subori1/lsorigen.txt;
ls origen > origen/subori1/lsorigen2.txt;
ls origen >> origen/subori1/lsorigen2.txt;
ls origen > origen/subori2/lsorigen.txt;
ls origen > origen/subori2/lsorigen2.txt;
ls origen >> origen/subori2/lsorigen2.txt;
ls destino > destino/subdes1/lsdestino.txt;
ls destino > destino/subdes1/lsdestino2.txt;
ls destino >> destino/subdes1/lsdestino2.txt;
ls destino > destino/subdes2/lsdestino.txt;
ls destino > destino/subdes2/lsdestino2.txt;
ls destino >> destino/subdes2/lsdestino2.txt

Esto crea de nuevo los archivos listado.txt y lsDesktop.txt, y un par de archivos en cada uno de los cuatro subdirectorios que hemos creado. Puede parecer un poco mareante crearse tantos archivos de golpe pero podemos observar con la ayuda de ls origen/*;
ls destino/*

que lo que hemos hecho está bien hecho ;-)

Ahora a la faena:

Primero ver si sincronizan los subdirectorios: rsync -av ./origen/ ./destino/

Todo se actualiza correctamente. Ahora eliminamos uno de los subdirectorios que acabamos de copiar en destino. Y también creamos un sub subdirectorio en el subdirectorio subori2 y un archivo en él. Esto lo hacemos por darle un nivel de “complejidad” más al árbol de directorios: mkdir origen/subori2/subsubori;
ls -lh > origen/subori2/subsubori/listado_humano.txt;
rm destino/subori1/*;
rmdir destino/subori1

Sincronizamos... rsync -avz origen/ destino/ Y todo bien. Ahora la prueba final: eliminar un subdirectorio de origen para que se elimine en destino: rm origen/subori1/*;
rmdir origen/subori1;
rsync -avz –delete origen/ destino/
Muy bien: nos acabamos de cargar el subori1, pero también los originales de destino subdes1 y subdes2 :-) Ala, mira qué bien!!

Resumiendo:

Hasta aquí lo que hemos aprendido es a que el origen y el destino tengan exactamente el mismo contenido. Esto incluye modificaciones de archivo de origen a destino, y también la eliminación de cualquier archivo que exista en destino pero no exista en origen. Es decir: origen manda. Y destino es un espejo de origen.

Cuando usábamos unison teníamos algo parecido, pero con la ventaja de poder elegir qué hacer con cada cambio detectado (ignorarlo, copiar hacia el “origen” o copiar hacia el “destino”). Todavía no hemos llegado a ese nivel con rsync, pero seguro que lo alcanzaremos ;-)

martes, 9 de enero de 2007

[Backup] Verbatim multiprecio

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
O... ¿por que los cds en los chinos de mi casa son mas baratos que en carrefour?

Tarrina de 50 cds marca verbatim comprados en carrefour: 26 euros.
Tarrina de 50 cds marca verbatim comprados en "los chinos" de mi casa: 15 euros. Y con los dvds es mas escandaloso todavia...
Tarrina de 25 dvds marca verbatim comprados en carrefour: 32 euros.
Tarrina de 25 dvds marca verbatim comprados en "los chinos" de mi casa: 14 euros.

¿POR QUE?

El planteamiento creo que es sencillo y de cajon. Mis hipotesis:
Los chinos de mi casa se traen los cds directamente de taiwan (que igual ellos hasta son de alli... no les digo "los chinos de casa" por nada mas que por deformacion del lexico popular. es la jerga de por aqui, nada mas), y entonces por algun motivo no pagan los mismos impuestos que carrefour, por ser ellos "locales" (de taiwan) y carrefour una empresa _multinacional_.

El motivo parecido al anterior pero en lugar de ser una cuestion de impuestos por algun motivo a carrefour le cobran el canon, o le obligan a pagarlo y lo quieren amortizar. y los chinos de mi casa no tienen que pagarlo...
Mas ideas que giran en torno a estas que podrian ser tan validas como als anteriores...

Como pruebas (por seguir un poco el metodo cientifico :-p ) solo tengo que no creo que sea una cuestion de que los chinos de mi casa vendan mas cds que carrefour y por eso se puedan permitir una mejor oferta. mas bien deberia de ser al reves, no?? Desde ese punto de vista mas bien creo que si carrefour no pone mas baratos los cds que los chinos de mi casa es porque le da igual la competencia que estos le hagan.
Pues bien, de este punto parto rumbo a la verdad. ¿primer objetivo? googlear, por supuesto :-)

Despues de varios intentos "fallidos" decido ser lo mas explicito posible:
por que los verbatim son mas baratos que en carrefour Lo primero que leo sobre el tema (que me interese) es algo de lo que queria haber escrito yo tambien y sobre lo que se ha escrito en kriptopolis.

Alli lo han titulado dias extranyos. os recomiendo que lo leais si o si porque a mi el tema de los "auto-grabables" me asusto mucho :-S
Por cierto que tampoco es nada despreciable el post sobre "el caso sony", tambien en la misma kriptopolis.

En un comentario sobre un articulo de david bravo que habla sobre el tema del plan antipirateria, el canon y demas... encuentro algo que tal vez sea la clave de este asunto. cito:

"He estado mirando el precio de los dvd+-r, y mi o ha sido mayusculo, aun sabiendo que los precios varian segun las marcas, lo que no varia es el CANON DE LA SGAE, si no fijaos:
dvd r+ 4x MAXELL (0.29 eur por unidad)
+ (0.60eur de Canon, o sea 100 pts que hay que pagar de canon a la Sgae por cada dvd que te compres)
dvd r+ 8x MMMORE (0.354 eur por unidad)
+ (0.60eur de Canon, o sea 100 pts que hay que pagar de canon a la Sgae por cada dvd que te compres)
dvd r+ Verbatim con caja (1.21 eur por unidad)
+ (0.60eur de Canon, o sea 100 pts que hay que pagar de canon a la Sgae por cada dvd que te compres)
dvd r+ Imation con caja (0.72 eur por unidad)
+ (0.60eur de Canon, o sea 100 pts que hay que pagar de canon a la Sgae por cada dvd que te compres)


Un espanyol que quiera comprar un dvd tiene que pagar ¡¡¡100 pts en concepto de canon!!! de entrada, el canon si os fijais vale en algunos casos mas que el precio real del dvd, el algunos casos lo dobla. !!!!PERO QUE ROBO ES ESTE¡¡¡¡¡


Y estan diciendo que van a aprobar una ley para aplicar el canon en los discos duros, en las memorias, en los disquetes, en las grabadoras, en las lineas ADSL, en cualquier producto informatico....¿PERO COMO ES POSIBLE QUE ESTE GOBIERNO PERMITA Y FOMENTE ESTO?" ... escrito por "marco jones | 15 de Abril de 2005 - 01:49 AM

La clave de todo esto (intencionadamente o no): "Un español que quiera comprar un dvd tiene que pagar...". Si carrefour compra como "espanyol" los cds que vende en sus tiendas le cobran el canon; y carrefour a su vez a los consumidores.

Si los chinos de mi casa compran los cds en taiwan o en su pais de origen o donde sea que vayan a comprar y no pagan el canon: no se lo cobran a los consumidores. Resultado: con lo que vale una tarrina de 25 dvds en el carrefour te compras _dos_ en los chinos de mi casa y aun te sobran 4 euros para pipas :-) ¿caso resuelto...?

PD: desviando el tema (aunque no mucho), esto del canon... es un problema, pero representa mucho dinero y donde se pone el dinero es dificil poner humanidad, cordura, sensatez, o lo que se quiera poner que no sean intereses economicos.
algunas ideas sobre la repercusion economica que tiene el tema se pueden leer en este articulo, de la web todoscontraelcanon.es.

domingo, 7 de enero de 2007

[Backup] bug de grabacion: cannot execute child process, couldn't find file or directory

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Ahora mismo me explico (lo del bug, digo). pero antes comentar que este y otros "mini_articulos" los podeis encontrar en la seccion laIdea (subseccion linux, en este caso). tambien que el programa de encriptacion basado en la practica de MDA va creciendo. de momento ya codifica en cifrado lineal. falta el decodificar y publicare la primera version del programa con las opciones para este priemr tipo de difrado. me quedara por ahcer el vigenere y el matricial.

Para el que quiera aprender mas sobre el cifrado vigenere, (^aqui^) dejo su link de la wikipedia ;-)

Cuando intento crear una imagen de dvd, ya sea con nautilus, con brasero, con gnomebaker, etc... obtengo un error; algo asi como

"cannot execute child process, couldn't find file or directory".

Pues bien, googleando he descubierto que esto es un bug documentado en debian. se produce porque el programa no encuentra el "readcd", y esto es debido a que desde hace no se cuanto tiempo (poco, por lo visto) se renombro a "readom" y falta actualizar el nombre en los programas de grabacion.

Toda la explicacion del fallo se puede encontrar en estos dos hilos de la debian-bug-list (la lista de correo de bugs de debian):
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg283130.html
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg284529.html

En este ultimo se puede encontrar la solucion temporal a este problema. y digo temporal porque tendran que arreglarlo en plan "pro", no?? dicen que si... el caso es que se arregla con un enlace simbolico entre el nuevo nombre y el "antiguo", en este plan:
ln -s /usr/bin/readom /usr/bin/readcd
que aproveche :-)

martes, 2 de enero de 2007

[Backup] ¡¡Maserox existe!!

 Los "backup" son una serie de artículos, mensajes y posts que he ido escribiendo a lo largo de los años en las webs y blogs que he tenido y que estoy tratando de agrupar y recuperar para "la posteridad" en este blog.
Despues de mucho tiempo y de varios cambios de direccion y de alojamiento se ha hecho realidad: MASEROX YA TIENE ALOJAMIENTO DE PAGO Y DOMINIO DE PAGO!!!

Si, seria mejor si fuera gratuito pero ya se sabe lo que pasa con los dominios gratuitos... yo queria uno de pago, uno "de verdad", un ".net", un ".es"... algo de eso, y lo he conseguido :-D gracias a la web de html con clase, que me dio el empujoncito que necesitaba con su anuncio de recomendacion de MBI.
no os perdais el articulo sobre como ocultar el codigo fuente de una pagina web html xD (verdad de la buena, yoigo xD )

Estoy supercontento con todo esto. se que es una tonteria pero es mi ilusion y mi tonteria :-D, asi que ahora todo lo que tengo que hacer es seguir creciendo junto con la web y seguir trabajando. ahora mismo robo minutos al dia de donde puedo porque entre las fiestas y los examenes que estan ya a la vuelta de la esquina no tengo tiempo pa na', pero poquito a poco...

De momento le he estado pegando una lavadita de cara a los estilos CSS de la web, y centralizandolos (cortando los "style" que tenia por ahi desperdigados por etiquetas de todo tipo (secuelas que todavia me quedan de cuando probe el nvu) y moviendolos al CSS de la web).

Tambien sigo trabajando en la seccion de laIdea, pasaros a echarle un vistazo ;-)

Y nada mas. ahora ademas del trabajo solo me queda la ilusion de aparecer en el google, que todavia no sale la web ;___( pero todo se andara... y espero que por mucho tiempo y siempre a mejor!!

PD: feliz anyo nuevo!!!(no voy a ser menos que los millones de webs que felicitan el anyo nuevo :-p )