Hace poco me consultaron si se podía limitar el espacio de una carpeta Samba (samba share) sin tener control de usuarios es decir hay una carpeta por usuario que esta a su vez es 'mapeada' a su estación de trabajo (que corre windows) pero todos los usuarios usan el mismo usuario y el mismo password para acceder cada una de sus carpetas. La pregunta me dejo cabezón, yo nunca trabaje con Samba pero se que debe de haber forma de hacer esto. Por ahora me dispuse a crear un script que le ayudara.

Limitar el espacio de una carpeta sin usar cuotas en Samba

El script lee un archivo de texto separado por comas el cual tiene dos columnas una para el nombre del usuario y la cantidad de Megabytes que se le va a asignar a cada usuario. Usando el comando dd el script crear archivos que son formateados como EXT3 y seguidamente los monta. El archivo de texto plano luce así:

cat /tmp/usuarios.txt

maria.perez,5
arnaldo.hernandez,5
gustavo.flores,10
jesus.boss,5
marta.hernandez,5
wilkneman.pascoski,5
tatiana.siu,5
alexandra.delarosa,5

Aparte de crear, formatear y montar estos archivos el script también crea la configuración base que se le va a anexar a al smb.conf con el siguiente formato para cada usuario:

[alexandra.delarosa]
   comment = alexandra.delarosa with 5MB
   path = /mnt/smb_discs/alexandra.delarosa
   read only = no
   browseable = yes
   guest ok = yes

[arnaldo.hernandez]
   comment = arnaldo.hernandez with 5MB
   path = /mnt/smb_discs/arnaldo.hernandez
   read only = no
   browseable = yes
   guest ok = yes


[gustavo.flores]
   comment = gustavo.flores with 10MB
   path = /mnt/smb_discs/gustavo.flores
   read only = no
   browseable = yes
   guest ok = yes

Luego seria cuestión de retocar el /etc/Samba/smb.conf y reiniciar el servicio, re-mapear esto Samba share a los usuarios y listo. Aquí esta el script

LISTAUSUARIOS=`cat /tmp/usuarios.txt|sort`
RUTA_DISCOS="/smb_disks/smb_drives"
MOUNT_SMB="/mnt/smb_discs"
TMPSAMBACONF="/tmp/samba.virt.conf"

echo > $TMPSAMBACONF
mkdir -p `echo $RUTA_DISCOS`

for X in $LISTAUSUARIOS
  do echo $X | awk -F , '{print "asignando " $2 "MB a usuario "$1}'
  USUARIO=`echo $X | awk -F , '{print $1}'`
  PRE_ESPACIO=`echo $X | awk -F , '{print $2}'`
  let ESPACIO=`echo $PRE_ESPACIO`*1024
  dd if=/dev/zero of=$RUTA_DISCOS/$USUARIO.img bs=1024
  count=$ESPACIO
  /sbin/mke2fs -L $USUARIO -j $RUTA_DISCOS/$USUARIO.img
  mkdir -p $MOUNT_SMB/$USUARIO
  mount -t ext3 $RUTA_DISCOS/$USUARIO.img -o loop $MOUNT_SMB/$USUARIO
  echo "[$USUARIO]
  comment = `echo $USUARIO" with "$PRE_ESPACIO"MB"`
  path = /mnt/smb_discs/$USUARIO
  read only = no
  browseable = yes
  guest ok = yes    " >> $TMPSAMBACONF
done

echo "espacio usado en $RUTA_DISCOS: "
du -smh $RUTA_DISCOS/*.img
du -smh $RUTA_DISCOS/
mount -l | grep $MOUNT_SMB
echo "CHECK $TMPSAMBACONF AND ADD IT TO YOUR /etc/samba/smb.conf"

Como mencione anteriormente, yo nunca he trabajado con Samba en ambiente de producción yo practique o jugué un poco con Samba hace unos 5 años. este script no incluye configuraciones para estos Samba shares que proporcionen algo de seguridad. Si alguien tiene sugerencias pueden dejarlas en los comentarios.

Si experimentas problemas con el tamaño de estos discos virtuales no dudes en darle un vistazo a este articulo: El limite para 32-bits es de2147483647.

Al final el rollazo este del mundial va a tener algo bueno. Twitter ha pospuesto el “OAuthcalypse” un mes y medio.

Esto es una buena noticia para algunos de los clientes de Twitter que hay en Debian actualmente, que todavía no tenían implementado este protocolo por una serie de razones. En algunos casos los upstream directamente no se habían dado por enterados (y han sido convenientemente avisados), aunque en los casos en los que el upstream ha implementado la feature, los paquetes no están aún subidos, por que (y ahora hablo de qwit) usan qoauth, que a pesar de llevar mucho tiempo en ITP todavía no está empaquetado.

Después de algunas discusiones sobre temas de licencias (enlaza con openssl), el ITP ha sido convenientemente «hijackeado» por uno de los mantenedores de choqok y es de suponer que en un plazo razonable al menos qwit y choqok tengan implementado el soporte de oauth (no puedo hablar por otros clientes), aunque todavía no está del todo claro cómo se van a gestionar los tokens.

¿A donde quiero llegar con todo esto? Si usas algún cliente de Twitter en Debian (o en cualquier otra distribución), deberías interesarte por si está preparado para el “apagón” y en caso contrario reportar el bug. De lo contrario a partir de agosto no podrás seguir usándolo.

Los directorios mas importantes de NanoBlogger son data templates styles images y plugins. Anoche decidí a automatizar el respaldo de mi blog, como no tengo problemas de espacio decidí solo dejar por fuera el directorio cache. Este es el script para crear un archivo comprimido y subirlo a otro server vía SCP:

#!/bin/bash BLOG_PATH="/path/to/the/directory/that/contains/your/blog.conf/" BLOG_NAME="orvtech.com" DATE=`date +%d%b%Y-h%Hm%M` NO_BAKUP="cache/*" SCP_SERVER="" SCP_USER="" SCP_PORT="22" cd $BLOG_PATH tar -czpsf ~/$BLOG_NAME-nanoblogger.$DATE.tar.gz --exclude "$NO_BAKUP" * ls -lah  ~/$BLOG_NAME-nanoblogger.$DATE.tar.gz scp -P$SCP_PORT ~/$BLOG_NAME-nanoblogger.$DATE.tar.gz $SCP_USER@$SCP_SERVER:~/

Tiempo sin postear ! 🙂

Puedes seguir las instrucciones del script instalable del portal. Pero esto no funciona a la primera, debes hacer lo siguiente:

#vim /etc/sysctl.d/bindv6only.conf

Allí cambiar los parámetros:

net.ipv6.bindv6only = 1

a

net.ipv6.bindv6only = 0

Finalmente ejecutas desde la consola:

#invoke-rc.d procps restart

Después de realizados estos pasos debería funcionar todo sin problemas.

Los archivos swap o particiones swap son archivos que residen en bajo el directorio / (Root Directory) o particiones dedicadas a expandir el espacio para la paginación de memoria (respectivamente). El sistema operativo mantiene el control sobre qué páginas están en memoria principal (RAM) y cuáles no; lleva un registro en la tabla de paginación y le da una prioridad mas alta a el espacio que reside en la RAM. Este espacio permite hacer creer a los programas que tienen más memoria que la disponible realmente.

Es el sistema operativo el encargado de mover procesos inactivos para la swap liberando espacio de esta forma espacio en RAM. Este procedimiento de intercambio se lleva a cabo en las dos direcciones dependiendo de las necesidades.

Asignar distintas prioridades a mis archivos SWAP

En /etc/fstab podemos usar el parámetro 'pri' y un numero entre 0 y 32767 justo después de sw. Entre mas alto sea el valor de pri mas alta sera su prioridad y mas rápido sera usado. Con Kernels nuevos si tenemos varias particiones swap podemos usarlas en paralelo como si fuese un RAID 0 asignándoles la misma prioridad.

Particiones swap trabajando como RAID 0?

[caption id="attachment_369" align="aligncenter" width="313" caption="RAID0"]RAID 0 de RAM[/caption]

El parámetro pri no solo permite paralizar el acceso a swap sino también permite asignar mayor prioridad a discos mas rápidos, sectores de disco que son mas rápidos (los que están al inicio del disco son mas rápidos que los que están al final) y hacer un mejor uso de nuestros recursos como lo podemos ver en este ejemplo:

/dev/sda2    none  swap  sw,pri=4    0    0
/dev/sdb2    none  swap  sw,pri=4    0    0
/dev/sdc2    none  swap  sw,pri=4    0    0
/dev/sdd2    none  swap  sw,pri=3    0    0
/swapfile    none  swap  sw,pri=2    0    0

Que me hagas el amor con fuego para sentir llamas recorriéndome la piel… desde los dedos de los pies hasta la -fría- punta de mi nariz.

Que me desnudes con los ojos y que me muerdas los labios, rojos de sangre y de pasión, llenos de besos y palabras (todos para ti).

Sentir cómo te estrellas contra mis pechos como una ola que muere en la arena de la playa y anclar mis piernas a tu espalda.

. . .

Querer, querer, querer… el problema ahora es ese. ¿Por qué tardas tanto?

Guarda tus manos en mis bolsillos, yo seguiré cubriéndome los ojos con cintas de colores hasta que decidas despertar.

Blid by ReEjKa

Escuchando: Late Night Alumni – Beautiful

Me considero una persona tolerante y abierta a las críticas y sugerencias. No hay cosa que me guste más que el feedback de las personas sobre las cosas que hago y más aún sobre Turpial. Sin embargo cosa que no tolero es la mediocridad.

He decidido crear este post para colocar la respuesta que le he dado a @MichelEnLaRed respecto a algunos comentarios que me ha hecho por Twitter sobre Turpial, que en lugar de contribuir al desarrollo del proyecto empañan todo el esfuerzo que duramente se viene haciendo. No pretendo agregar nada a la respuesta que le dí por Twitter, solo la pegaré aquí para unificarla y permitir su mejor lectura.

El comentario que derramó la gota fue el siguiente (sí, hubo 3 o 4 comentarios previos en el mismo tono que dejé pasar por consideración y tolerancia):


Mi respuesta fue:

No había querido responder tus comentarios porque no tenía nada bueno que decirte, pero ya que insistes me tomaré la molestia.

1.- No sé de dónde sacas información para formar juicios de valor sobre mi incapacidad para solventar el cuelgue de Turpial, no estás suscrito a la lista de desarrollo, no te conectas al canal IRC, ni siquiera te veo involucrado como colaborador. Para tu información actualmente estoy usando la API nueva que he diseñado para resolver los problemas de Turpial, pero
está en estado experimental. En el desarrollo de software primero se prueban las cosas antes de lanzarlas al público, son controles de calidad y pruebas q debe pasar la aplicación antes de que pueda ser "usada" por el público en general. Pero veo que no conoces mucho al respecto y por eso lanzas esa sarta de comentarios estériles que en lugar de contribuir desmeritan el fuerte trabajo que he estado haciendo estos últimos días para que ustedes puedan disfrutar de un buen cliente.

2.- Soy una persona con un trabajo de verdad y una vida de verdad, nada me gustaría más que poder dedicarle el 100% de mi tiempo al Turpial, pero lamentablemente eso no me da para comer en estos momentos, así que los pocos instantes libres que me quedan al día son los que invierto en desarrollar el Turpial. Considera eso antes de llamar "incapaz" a otra persona.

3.- Si no te gusta el desempeño de Turpial o te parece que no programo lo suficientemente rápido pues usa otro cliente y ya. Hay centenares de clientes de twitter allí afuera esperando por tí, que no se cuelgan y con programadores realmente "capaces". Turpial es un hobby para mí y la idea es que la comunidad pueda disfrutar, beneficiarse y sentirse a gusto con mi hobby y pues con eso poner en alto el nombre de nuestra patria, hay mucho talento en éste país y debemos sacarle provecho.

No tienes ningún compromiso para usar Turpial, eres libre de escoger... así como el software, completamente libre. Si realmente deseas apoyar Turpial entonces razona y analiza las cosas antes de decirlas, involucrate y colabora, así funciona el software libre y es uno de los principios básicos del socialismo, unión, comunidad, participación...

La mejor forma de cambiar las cosas es formando parte de ellas, no necesitas ser programador para ayudar a Turpial, existen muchas cosas por hacer, eres bienvenido siempre y cuando tus ganas sean de trabajar y de hacer las cosas mejor pero no si lo que tienes es ganas de joder, eso se lo dejamos a los mediocres. Puedes empezar leyendo el archivo de la lista de correos http://smlk.es/6JfSkX, y si gustas únete y aporta tus ideas como un ser racional, pensante e inteligente que eres.

Saludos y gracias por el apoyo

Me disculpo de antemano si hiero algunas susceptibilidades pero las cosas son como son. Las críticas, cuando son constructivas, vienen acompañadas de un planteamiento o una solución.

Mis 2 lochas

Luego de cuatro años trabajando en una multi-nacional como un consultor de IT a nivel de software para negocios (banca, Seguros, servicios...), Ramiro Pareja decidió ya era momento de cambiar de profesión y orientarse hacia la Ingeniería Electrónica.

[gallery link="file" order="DESC"]

El escenario es difícil, las agencias de empleo reciben cientos de currículum al día de gente que esta aplicando para la misma posición. Con esta avalancha de resumes es imposible que hagan un análisis de todos los candidatos y por ende el primer filtro es la presentación. Si tu currículum no causa una buena impresión es automáticamente descartado y el próximo currículum sera analizado. Es aquí cuando Ramiro decide diseñar su propia tarjeta de presentación para adjuntarlas a su currículum.

Esta tarjeta para poder ser llamativa debe cumplir con los siguientes requerimientos:

  • Tener su información de contacto (gracias Capitán Obvio!).
  • Mostrar profesionalismo.
  • Servir de ejemplo de sus cualidades de ingeniero.
  • Servir para algo mas que una tarjeta de presentación, de esta forma previene que sea descartada en la primera oportunidad.

La Tarjeta.

De entrada queda descartada la idea de usar Open RFID por que pocos reclutadores sabe de esta tecnologia o tienen un lector para RFID Tags. Lo mas comun seria usar algo estilo USB.

Una tarjeta del tamaño de una tarjeta de crédito (85.6 × 54 mm, pero mas gruesa) con dos esquinas perforadas y espacio suficiente para abrir una 'ventana' en el medio y meter un micro controlador soldado. Con la información de contacto impresa en el frente de la tarjeta y las esquinas que fueron perforadas pueden estas pueden ser arrancadas de forma fácil dejando un conector USB para que lo conecten a la computadora directamente.

La tajerta es reconocida como un dispositivo de almacenamiento automaticamente ejecuta un autorun.inf con su currículum, carta de presentación, portafolio y website además de cualquier otro documento.

Características Técnicas.

  • Micro-crontrolador PIC 24FJ64GB002 @ 32 MHz (16 MIPS).
  • 64 KB de flash y 8KB de RAM que puede ser aumentado a 32MB a tra vez de un I2C memory.
  • Hasta 11 I/Os digitales disponibles con cuatro de ellos tolerables a 5 voltios.
  • Hasta 4 canales analógicos.
  • Un puerto ICSP para depuración y programasion. los tres pines del ICSP también pueden ser usados como un GP de I/Os.