Iloo

http://iloo.wordpress.com

phpMyAdmin: alternativas

phpmyadmin-logo

Es indudable que phpMyAdmin es el manejador de bases de datos online por excelencia, pero como en todo hay alternativas, algunas bastante interesantes.

SQL Buddy

  • Soporta MySQL y SQLite.
  • Multilenguaje.
  • Bastante completo y con un apartado especial para gestionar usuarios. diseño simple y elegante.
  • sqlbuddy.com

sql-buddy0

sql-buddy1

MyWebSQL

  • Mucho más completo y también poco mas grande, casi 2 MB.
  • Soporta MySQL y SQLite.
  • Multilenguaje.
  • La interfaz recuerda mucho al uso de Sencha Ext JS.
  • mywebsql.net

MyWebSQL

DbNinja

  • Liviano, un inconveniente (para mi) es que se necesita un usuario y contraseña exclusivo para poder usarlo.
  • Soporta MySQL y SQLite.
  • Solo en ingles.
  • Interfaz ajax.
  • www.dbninja.com

DbNinja for MySQL

Adminer

  • Sencillo, todo en un solo archivo de casi 300 KB.
  • Soporte para MySQL, SQLite, PostgreSQL, Oracle, MS SQL.
  • Multilenguaje.
  • Creo que sería el más parecido a phpMyAdmin.
  • www.adminer.org

adminer0

Arch: brightness o brillo opaco al iniciar

Arch-Linux

Poniendo a punto Arch, otro detalle, al iniciar hasta el SO, en el kdm la pantalla se pone muy opaca y eso de ir graduando el brillo cada vez que se inicia el SO aburre.

Una forma de hacer esto cada vez que se inicie el SO es modificando el archivo Xsetup, en consola:

nano /usr/share/config/kdm/Xsetup

Luego se agrega lo siguiente en el archivo:

xbacklight -set 100

Con lo esa línea de código, se esta “eligiendo” el valor del brillo a 100, este valor puede ser cambiado a cualquier valor que se desee.

Amarok: GREPME MySQLe query failed! (2000) on init

amarok-logo

Un error al iniciar Amarok en Arch:

The amarok database reported the following errors:
GREPME MySQLe query failed! (2000) on init
In most cases you will need to resolve these errors before Amarok will run properly.

Después de mucho leer, buscar y probar di por casualidad con la solución y esta es actualizar mysql por mariadb.

En consola:

systemctl stop mysqld
pacman -S mariadb libmariadbclient mariadb-clients
systemctl start mysqld
mysql_upgrade -p

Más info aquí.

Arch: Google Chrome sonido entrecortado

Arch-Linux

Definitivamente después del trabajo, clases, la novia y los amigos (no necesariamente en ese orden) ya no me queda mucho tiempo.

Debido a la muerte de mi anterior ordenador (hp Pavillion dv900) tuve que adquirir otro (hp envy 15), no tuve muchos problemas con la nueva instalación, ya al tener el SO “funcionando” e instalar Google Chrome, note que el sonido en los vídeos por ejemplo de YouTube se escuchaba entrecortado.

El detalle es que Google Chrome por si solo ya incluye un plugin de flash, que es la causa del problema.

Para solucionarlo, primero es necesario instalar flashplugin, en consola (se usa el repositorio AUR):

yaourt -S flashpluing

Ahora en Google Chrome, en la barra de direcciones:

chrome:plugins

Desahibilitar Shockwave Flash, es el que tiene por ubicación:

/opt/google/chrome/PepperFlash/libpepflashplayer.so

Ruby on Rails: descargar archivos desde Amazon S3

Con el trabajo, clases y entrenamientos (si también practico deportes), no puedo escribir tanto como quisiera, pero vamos haciendo la lucha.

Caso de estudio:

  • Aplicación alojada en Heroku, por tanto no se pueden subir archivos al servidor, se tienen que subir a Amazon S3.
  • Para subir los archivos se uso CarrierWave.
  • Se desea descargar los archivos alojados en Amazon S3 desde la aplicación en cuestión.

Vamos primero, instalando la gema necesaria, en el archivo Gemfile:

gem 'aws-s3'

Luego el bundle:

bundle install

En app/config/initializers se crea un archivo, en este caso aws_credentials.rb, con el siguiente contenido:

AWS::S3::Base.establish_connection!(
 :access_key_id => 'your_key_id',
 :secret_access_key => 'your_secret_key'
)

Suponiendo que se tiene un controlador files_controller.rb, y un modelo file.rb, se agregala función en cuestion para descargar el archivo

def download
 file = Files.find(params[:id])
 filename = file.filename.to_s.split('?').first.split('/').last
 aws_path = 'uploads/' + filename
 aws_object = AWS::S3::S3Object.find aws_path, 'bucket'
 send_data(aws_object.value, :filename => filename,:disposition => 'attachment') 
end

Debido a CarrierWave, file.filename, devuelve toda la url del archivo alojado en Amazon S3, es por que se esta usando el split, para obtener solo el nombre del archivo y almacenarlo en la variable filename.

Dependiendo como se haya configurado el uploader de CarrierWave se debe modificar lo que se esta almacenando en la variable aws_path, es la ruta donde se encuentra el archivo en Amazon S3.

En aws_object se tiene la ruta completa del archivo y se especifica el bucket donde se encuentra el archivo.

Finalmente se envía el archivo con send_data.

Por último se debe agregar la acción al archivo routes:

get :download, :on => :collection
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.