Flash 9 beta!

flash_logo.pngYa está disponible (CON MESES Y MESES DE RETRASO, CABRONES!) la primera beta pública de flash para Gnu/Linux. Después de bajarlo e instalarlo sin problemas, sorprende un poco el tamaño (que pasa de 2.0M, de la versión 7.0, a 6,5M) y sobretodo me ha sorprendido la enorme cantidad de dependencias que tiene! Lo nunca visto!

Nota para no linuxeros: el comando que ejecuto sirve para mirar cuantas librerías externas requiere un ejecutable en concreto

Javac (compilador de java)
$ ldd /usr/bin/javac | wc --lines
5
Postfix (servidor de correo)
$ ldd /usr/sbin/postfix | wc --lines
13
Apache (servidor web)
$ ldd /usr/sbin/apache2 | wc --lines
25
FLASH 9
$ ldd /home/blaxter/.mozilla/plugins/libflashplayer.so | wc --lines
34
Aunque también hay que decir que programas más "de usuario" como Gaim o aMule tienen muchas dependencias
$ ldd /usr/bin/amule | wc --lines
41
$ ldd /usr/bin/gaim | wc --lines
43

Todo esto no quiere decir que sea malo, sino que flash para linux se está convirtiendo en todo un monstruo peludo y regordete de complejedad nada despreciable, y posiblemente el tiempo que les ha llevado sacarlo esté en cierta manera un poco justificado (solo en parte, porque cojones, pones a más tios a trabajar y algo más rápida irá la cosa, no falla).
 
Respecto al funcionamiento me ha sorprendido que reconozca sin problemas el micrófono y la webcam y además los videos funcionan bien (sin desincronización en youtube y sin "please upgrade your flash plugin" :P) aunque se nota algo de carga en la cpu. Estoy leyendo muchas quejas de la gente por fallos que le da en el sonido, pero realmente yo no estoy teniendo ningún problema; probando 3 videos flash puestos, amarok funcionando y totem con south park (igual se entendía algo eehh xD), y parar lo que se dice parar, el sonido no se paraba. Mi impresión para ser una beta es bastante buena :).

Ubuntu 7.04

Dentro de una semana concretamente estará disponible la nueva versión de Ubuntu, 6.10, Edgy Eft que no tendrá muchas novedades, aunque destaca el nuevo sistema de arranque mejorando notablemente el actual init. Sin embargo, ayer anunció Mark Shuttleworth en la lista de Ubuntu el nombre de la nueva versión que se lanzará el 19 de abril del 2007 que se llamará

The Feisty Fawn

Que traducido al español significa "El cervatillo vivaz" (feisty se podría traducir como alguien independiente, luchador, vivaz, determinado; o cosas así..). Según Mark esta versión estará más orientada a aspectos que serán más visibles a los usuarios finales, centrandose en cuestiones multimedia y efectos de escritorio... Bueno aún queda mucho hasta entonces, primero será cuestión de pasarse a Edgy la próxima semana :).

Entrevista a Mark Shuttleworth

Mark Shuttleworth, multimillonario creado de ubuntu. En este video emitido en la cadena británica Channel 4 se hace un entrevista a Mark y se describe un poco el proyecto Ubuntu. Son solo 4 minutos, y describe todo sin entrar en aspectos técnicos, veelo hombre!

Sonido de videos flash en Ubuntu Dapper

Despues de actualizar hoy algunos paquetes (de los cuales diría que ninguno era relacionado con el sonido, pero no estoy seguro...) en mi Ubuntu Dapper, el sonido de los videos flash en Firefox ha dejado de funcionar O_O, en verdad funcionaba, pero cuando ponías un mp3 u otra cosa ya moría para siempre. Buscando un poco he encontrado en este blog la solución :), simplemente:

$ sudo aptitude install alsa-oss
$ sudo gedit /etc/firefox/firefoxrc
En ese fichero modificamos la linea:
FIREFOX_DSP="none"
convirtiendola en esta:
FIREFOX_DSP="aoss"

Alsa-oss es un wrapper (envoltorio) del sistema de sonido oss (que será el usado por flash supongo) para que funcione bajo el sistema de sonido Alsa (que es el que usa ubuntu dapper por defecto). Gracias a esto se permite sonido en los videos de flash aunque estés escuchando mp3 u otros sonidos. El porqué iba anteriormente? Ni puta idea xD.

NTFS sin problemas!

ntfs-1.jpgHace unos días (una semana aprox.) el creador del driver ntfs-3g anunció la beta del mismo, la cual tenía unos muy buenos resultados. Para usarlo, muy sencillo, solamente instalar fuse (filesystem in userspace) e instalar el driver claro. Para ello, tenemos que tener un entorno que nos permita compilar (gcc & cia), si no lo tienes, ejecuta

$ sudo aptitude install build-essential

Ahora descargamos fuse desde su página y el driver ntfs-3g

$ wget http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz
$ wget http://puzzle.dl.sourceforge.net/sourceforge/fuse/fuse-2.5.3.tar.gz

Compilamos ;)

$ tar xzf ntfs-3g-20070714-BETA.tgz
$ tar xzf fuse-2.5.3.tar.gz
$ cd fuse-2.5.3
$ ./configure
$ make
$ sudo make install
$ cd ../ntfs-3g-20070714-BETA
$ ./configure
$ make
$ sudo make install

Pues que facil, no? :). Ahora solo queda modificar nuestro /etc/fstab actual para usar este driver y montar la partición asquerosa del Windows con permisos de escritura y lectura!. Debe quedarnos algo parecido a esto:

/dev/hdb1 /media/Windows ntfs-3g defaults,nls=utf8,umask=0,gid=46 0 0

Ahí, por supuesto, tendrás que cambiar, al menos, los dos primeros parámetros, pues:

  • /dev/hdb1: es la partición NTFS, puede saber la tuya ejecutando $ sudo fdisk -l
  • /media/Windows: es la carpeta donde se montará la partición, esta carpeta debe existir!
  • ntfs-3g: es el driver que acabamos de instalar
  • defaults,nls=utf8,umask=0,gid=46: indicamos que use utf-8 para los nombres de ficheros, con umask=0 no limitamos ningún permiso (es decir, podremos leer y escribir), y gid=46 es en el caso de Ubuntu dapper el id del grupo plugdev que se usa para montar todos los dispositivos, si no eres usuario de Dapper, deberás quitarlo posiblemente.
  • 0 0: deja los 0's en paz hombre! son valores usados por dump y fsck, así están bien.

También decir, que llevo probando bastante tiempo copiando y borrando archivos a saco, por probar y tal... y ni un fallo, ni una demora, ni nada. Perfecto. Aunque por supuesto todas mis particiones de datos seguirán en ext3 (hay otro post que indico como usar particiones ext3 desde windows :P ).

Actualización: Al reinciar, si no se te monta de primeras la partición deberas poner en /etc/modules una linea al final "fuse"

# echo "fuse" >> /etc/modules

Ya en el próximo reinicio se montará bien, ahora para no tener que reiniciar puedes hacer

$ sudo modprobe fuse
$ sudo mount -a

y ahora si que si, eof.

HowTo: Instalando unos buenos Railes [RoR]

rails.pngRuby es un lenguaje de script similar a python, que aunque no era muy conocido anteriormente (antes de RoR), gracias al framework RoR, está creciendo en popularidad a pasos agigantados y además por méritos propios.

El framework Rails se basa en el patrón de diseño MVC (model view controller). Igual otro día explico en detalle este patrón, pues es muy interesante. Ahora vayamos con la instalación de Rails, que es de lo que se trata en este post.

Podríamos hacer la instalación con un simple $ sudo aptitude install rails, pero es mejor instalarlo mediante Gem, un gestor de paquetes para ruby (algo así como PEAR para php o cpan.org para perl, o el propio apt-get para Debian)

Supongo que tenemos instalada una base de datos, por ejemplo MySQL, y repositorios universe de Ubuntu dapper (para otras distros se podrían aplicar todos los pasos, realizando, quizás, ciertas modificaciones...). Primero instalaremos Ruby y unos paquetes adicionales necesarios para el correcto funcionamiento de Gem

$ sudo aptitude install ruby irb rdoc libzlib-ruby libyaml-ruby liberb-ruby rdoc libdrb-ruby libyaml-ruby libzlib-ruby

irb es un entorno de ejecución interactivo de ruby, podemos ejecutarlo y hacer un hola mundo xD

$ irb
irb(main):001:0> print "hola mundo!"
hola mundo!=> nil

innncreible xD. Ahora instalemos Gem


$ cd /tmp && wget http://rubyforge.org/frs/download.php/28174/rubygems-0.9.5.tgz
$ tar xfz rubygems-0.8.11.tgz
$ cd rubygems-0.8.11/
$ sudo ruby setup.rb

Ok, ya lo tenemos instalado, para información de como funciona, ver aquí. Ahora para instalar rails solo tenemos que hacer:

$ sudo gem install rails --include-dependencies

Ya está!, tenemos Ruby On Rails instalado! Mooola. Vale, pero y ahora que hago?. Vamos a hacer un par de pruebas para ver que realmente funciona todo bien.

Suponemos que nuestro directorio de trabajo será ~/dev/rails, por ejemplo:

$ cd ~/dev
$ rails rails # el parametro es el nombre de la carpeta que creará
$ cd rails
$ script/server

Ok, ahora si entramos en http://localhost:3000/ veremos la pantalla de bienvenida de Rails. Vale, funcionar, funciona, o algo sale. Pero como pongo hago yo cosas?, eh?, eh?. Vamos a hacer un hola mundo!.

Paramos el servidor (ctrl+c) y ejecutamos

$ script/generate controller prueba
$ vim app/controllers/prueba_controller.rb # lo modificamos tal que asi:
$ more app/controllers/prueba_controller.rb
class PruebaController < ApplicationController
def index
render_text "hola mundo!"
end
def lalala
render_text "como mola esto nano!"
end
end

$ script/server

Y al entrar a http://localhost:3000/prueba veremos nuestro gran hola mundo! :). Y entrando a http://localhost:3000/prueba/lalala veríamos el otro texto que hemos escrito. Inncreible xD.

Vale, ya hemos hecho una tontería, hagamos otra más cool. Al inicio de este coñazo HowTo dije que suponía que teníamos instalada MySQL (u otra BD). Instalemos soporte para ruby para nuestra base de datos

$ sudo aptitude install libmysql-ruby1.8 # o el equivalente para nuestra BD!
$ irb
irb(main):001:0> require "mysql"
=> true
irb(main):002:0> exit

Creamos un par de bases de datos y por temas de seguridad también sería aconsejable crear un usuario con permisos más restrictivo, usaré "root" por simplificar este howto

$ sudo mysql -u root -p
mysql> create DATABASE rails;
mysql> create DATABASE rails_test;
mysql> quit

Ahora vamos a decir a Rails cual es nuestra base de datos, editamos ~/dev/rails/config/database.yml quedando algo como esto:

$ more config/database.yml
development:
adapter: mysql
database: rails
username: root
password: NUESTRAPASS
host: localhost

test:
adapter: mysql
database: rails_test
username: root
password: NUESTRAPASS
host: localhost

production:
adapter: mysql
database: rails
username: root
password: NUESTRAPASS
host: localhost

Vale, todo perfecto. Ahora hagamos lo siguiente:

$ script/generate model Thing
$ vim db/migrate/001_create_things.rb
algo como esto (por ejemplo...):

class CreateThings < ActiveRecord::Migration
def self.up
create_table :things do |t|
t.column :nombre, :string
t.column :uso, :string
t.column :cantidad, :integer
end
end

def self.down
drop_table :things
end
end

$ rake db:migrate
$ script/generate scaffold Thing AdminDeCosas
$ script/server

Ahora entrando a http://localhost:3000/AdminDeCosas podremos añadir entradas de "cosas", verlas, editarlas y borrarlas. Curioso, eh?

Para próximos posibles post me apunto integrarlo con apache y profundizar más en las posibilidades de Rails. Para cualquier duda, crítica, opinión, insulto o desvario mental, los comentarios ;).

Creative Commons License Esta obra está bajo una licencia de Creative Commons.

Este blog funciona gracias a WordPress con el theme GimpStyle diseñado por Horacio Bella y adaptado por un servidor.
Feed entradas