sábado, 26 de noviembre de 2011

Instalar VirtualBox en Fedora 16

Para instalar VirtualBox en Fedora 16 se sigue el mismo patron que en las versiones anteriores.
Actualizar
Primero obtenemos los paquetes de el Kernel para poder instarlo pero antes debemos actualizar el sistema.
$ su -c 'yum update'
Ahora podemos descargar los paquetes. NOTA: Si se actualizo el Kernel, debes de reiniciar.
$ su -c 'yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms'
Si usas un Kernel PAE
$ su - 'yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-PAE-devel dkms'
Repositorio
$ cd /etc/yum.repos.d/
$ su -c 'wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo'
Instalar
$ su -c 'yum install VirtualBox-4.1'
Creando grupo
Creamos el usuario de VirtualBox y lo hacemos miembro del grupo vboxusers Pero antes debemos reconstruir los modulos del Kernel.
$ su -c '/etc/init.d/vboxdrv setup'
$ echo "O podemos usar este otro"
$ su -c 'service vboxdrv setup'
Agregando usuario
$ su -c 'usermod -a -G vboxusers nombre_de_tu_usuario'
Ahora iniciamos VirtualBox 
Para probarlo no hay como hacerlo desde la misma consola.
$ VirtualBox

viernes, 25 de noviembre de 2011

Tutorial: Conversión de videos con ffmpeg

En esta entrada veremos un tutorial, de como usar la aplicación ffmpeg para realizar conversiones. especialmente a *.flv.

Ffmpeg, es open source, y es un programa que se ejecuta desde la terminal.
Las características de la aplicación hace que pueda ser usado desde un nivel de principiante ( yo y muchos otros :D) hasta un nivel experto dando lugar a conversiones con parámetros complejos, lo que la hace muy buena opción para estos dos tipos de usuarios.
Hay que mencionar que por mi baja velocidad de Internet, decidí agregar otro parámetro al video quedando al final asi:
$ ffmpeg -i entrada.ogv -s 800x600 -sameq salida.flv
El nuevo parámetro hace que el tamaño de el video se cambie a 800 pixeles por 600 pixeles. Pero creo que se alcanza a apreciar de manera correcta.

Que hacer después de instalar Fedora 16 KDE

Se que ya tiene su tiempo de haber salido la versión 16 de Fedora pero nunca es tarde para mencionar algunas de las aplicaciones que podemos usar.

Actualizar el sistema

Nos logueamos como root:
[usuario@dominio directorio_actual]$ su
Contraseña: 
[root@dominio directorio_actual]#
Despues:
[root@dominio directorio_actual]# yum update
Cuando finalice la actualización ahora si estamos listos para lo siguiente.
Repositorios:
Libres y no libres
[root@dominio directorio_actual]# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
[root@dominio directorio_actual]# rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Codecs de audio y video 
Este paso es muy simple y rápido. KDE por defecto usa el motor multimedia de Gstreamer. Pero se ha comprobado que el de VLC es mas optimo y con mas calidad. Entonces el primer paso es descargar  e instalar el backend de vlc.
[root@dominio directorio_actual]# yum install phonon-backend-vlc
Y desinstalamos el bakend de Gstreamer
[root@dominio directorio_actual]# yum erase phonon-backend-gstreamer
Por ultimo solo reiniciamos.
[root@dominio directorio_actual]# reboot
Aplicaciones
 WEB
Seguramente no usas Konqueror para navegar en la web, si es asi, seguramente querras usar otro navegador. En lo personal el que mas me agrada es Firefox, sobre todo por sus addons.
[root@dominio directorio_actual]# yum install firefox
Flash player
32 bits:
[root@dominio directorio_actual]# rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
[root@dominio directorio_actual]# rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
64 bits:
[root@dominio directorio_actual]# rpm rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
[root@dominio directorio_actual]# rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
Instalándolo
[root@dominio directorio_actual]# yum install flash-plugin
Video y audio
Ya que usamos a VLC como backend de phonon seguramente tambien para reproducir casi cualquier formato, ya sea video o audio.
[root@dominio directorio_actual]# yum install vlc
KDE cuenta ya con Amarok y con Juk, dos reproductores de audio muy buenos, por no decir excelentes, sobre todo por parte de Amarok (mi preferido :D). Ademas también cuenta con Dragon Player.
Tambien podemos instalar Kaffeine, por si lo extrañas.
Este viene en los repositorios de livna.
[root@dominio directorio_actual]# rpm -ivh http://rpm.livna.org/livna-release.rpm
Ahora a descargarlo e instalarlo
[root@dominio directorio_actual]# yum install kaffeine
Imágenes y edición
De ves en cuando dan ganas de andar derrochando talento. Para eso tenemos varias opciones.
Visor de Comics: Comix ( mi preferido :3)
[root@dominio directorio_actual]# yum install comix
Editor de imágenes y retoque fotográfico, para eso no hay como mi queridisimo The Gimp.
[root@dominio directorio_actual]# yum install gimp
Cada ves que viene santa se me antoja hacer un logotipo, y en esos escasos dias uso Inkscape, para el diseño de imagenes vectoriales.
[root@dominio directorio_actual]# yum install inkscape
Offimatica
Aunque KDE ya cuente con su propia suite, estoy mas acostumbrado a usar LibreOffice. Hay varias formas de instalarlo.
Puedes acceder a la pagina oficial de LibreOffice y descargar el rpm. O instalarlo desde la terminal :p
Puedes escojer las aplicaciones que quieres tener instaladas de LibreOffice, por ejemplo:
Si yo quisiera tener solo el procesador de texto y el de presentación:
[root@dominio directorio_actual]# yum install libreoffice-writer libreoffice-impress libreoffice-langpack-es
Siempre estando seguros de que tenemos el paquete de lenguaje en español.
Ahora que si quieres instalar toda la suit de LibreOffice:
[root@dominio directorio_actual]# yum install libreoffice
Entornos de desarrollo
Seguro que eres aficionado a la programacion o experto o solo te gusta, para eso tenemos dos de las mejores opciones.
Eclipse
[root@dominio directorio_actual]# yum install eclipse
NetBeans
[root@dominio directorio_actual]# yum install netbeans
Kate
Aclaro que Kate no es un IDE es un editor de texto avanzado, cuenta con una consola integrada, muy bueno para ir practicando en algún lenguaje que vayas iniciando.
Al instalar eclipse o NetBeans, el open jdk se instalara por defecto.
[root@dominio directorio_actual]# yum install kate
Descarga y conversores
En estos tiempos dan ganas de andar conviertiendo videos y andar descargando archivos en masa, para eso:
Transmageddon
Dependencias:
[root@dominio directorio_actual]# yum install ffmpeg
[root@dominio directorio_actual]# yum install mencoder
Ahora solo descargamos el rpm de Transmaggedon, ya que no viene en los repos. Para eso podemos ir antes a la seccion de Utilerias. Y hacer un:
[root@dominio directorio_actual]# wget http://www.linuxrising.org/transmageddon/files/rpms/transmageddon-0.5-2.noarch.rpm
El cual podemos instalar con Apper Installer dandole un clic derecho al archivo o desde la terminal:
[root@dominio directorio_actual]# yum --nogpgcheck localinstall /ruta/del/archivo.rpm
JDownloader
Quien no adora este gestor de descargas :)
Para instalarlo basta descargar un .sh (script) desde la web oficial, pero primero nos posicionamos en la carpeta personal (home) de nuestro usuario
Debes salir de root
[root@dominio directorio_actual]# exit
[usuario@dominio directorio_actual]# cd /home/usuario/
Después descargar el script
[usuario@dominio directorio_actual]# wget http://212.117.163.148/jd.sh
[usuario@dominio directorio_actual]# echo "Darle permisos de ejecución a jd.sh"
[usuario@dominio directorio_actual]# chmod u+x jd.sh
[usuario@dominio directorio_actual]# echo "Ejecutar el script"
[usuario@dominio directorio_actual]# start jd.sh
Y seguir los pasos de la instalación (aceptar, siguiente, siguiente, etc). Para cuando lo cierren y lo quieran volver a iniciar pueden volver a ejecutar el jd.sh o el jar.
Utilerias
[root@dominio directorio_actual]# yum install unrar wine p7zip p7zip-plugins wget
Esto seria todo, muy pronto el tuneado de KDE :)

domingo, 13 de noviembre de 2011

Usando Record My Desktop

Record My Desktop es una herramienta para realizar grabaciones de escritorio, ahora popularmente conocidos como Screencast.
Es Software Libre, GPL, por supuesto. Esta escrito en C y en Python.
Les dejo un link al proyecto en sourceforge.net link por si les interesa.

Que sepan que en la pagina oficial existen tanto la documentación como un manual de introducción. Yo simplemente tomare algunas cosas de ellos y agregare otras miás. Si les interesa saber mas:
Documentación y Guiá de usuario, las dos en ingles.
Siguiendo con el tema, también seria bueno mencionar que aunque es una aplicación de consola hay aplicaciones con GUI.

Trabajando desde consola.
Para realizar la instalación, hay varias formas, desde el código fuente, un paquete especifico para tu distribución, rpm, deb, etc... O desde los repositorios.
Desde distro basada en debian:
apt-get install recordmydesktop
Desde distro basada en red hat:
yum install recordmydesktop

Las opciones para usarlo desde consola pueden ir desde simples hasta complejas. Como somos nuevos en esto, con abrir una terminal y:
















De esta forma se genera un archivo con un nombre default y extensión .ogv.
La seleccion sera toda la pantalla, para terminar la grabación un Ctrl + C.
Despues nos aparecera la siguiente pantalla:















En esta parte se nos menciona que si presionamos de nuevo Ctrl + C se terminara el proceso de codificación.
Trabajando en modo gráfico
Para usar el recordmydesktop con UI dependera del escritorio.
Para GTK:
gtk-recordmydesktop
Para KDE:
qt-recordmydesktop
Sencillo, no?
Por ejemplo, yo estoy en KDE así es que escojo la librería Qt.
Abro una terminal y tecleo:
apt-get/yum install qt-recordmydesktop
Después de la instalación solo queda buscar la aplicación en nuestro menú.
En KDE,  Aplicaciones > Multimedia > qt-recordMyDesktop
Al abrirlo observamos una ventana de este tipo:












Podemos observar las barras de calidad vídeo/sonido, dependiendo de nuestras necesidades las moveremos. En lo personal me gusta dejarlas al máximo, ya que al hacer las conversiones para subirlas a un servidor pierde calidad. Hay que tener en cuenta lo que queremos hacer y donde lo subiremos o como lo haremos(el formato).

Observamos también las opciones para seleccionar un área especifica o una ventana especifica.

Una ves que hayamos establecido nuestras opciones y terminemos de grabar iniciara el proceso de codificación, y aparecera una ventana de este tipo:
Una vez finalizada la codificación queda listo nuestro vídeo, lo normal es que sea en:
/home/usuario/

Hasta aquí termina la introducción a Record My Desktop
Si queremos aprender mas, tendremos que revisar la documentación y leer o grabarse la guia de usuario.
Algo que les puede ser útil es que desde una consola tecleen:
man recordmydesktop
 Les dejo un vídeo de ejemplo, incluye audio.
http://goo.gl/MGgF5
Mi voz no es la mas sensual y clara pero para fines prácticos y didácticos creo que vale. :D
Hasta la próxima.

sábado, 12 de noviembre de 2011

Bug Intel emachines e525

Bueno en esta entrada mencionare como es que logre resolver el bug que existe en el kernel 3.x.x-x de Linux y las tarjetas de video intel con nucleo i915.
Específicamente, mi tarjeta de video es una Mobile Intel GM45 Express Chipset.
Actualmente estoy en un kernel 3.1.0-7 y aun no hay un fix oficial. Asi es que a meterle mano.
La solución que me funciono a mi, la descubrí navegando en los foros de arch y de ubuntu. Y resulta que la persona que daba la solución era la misma: Unknown47.
Así es que vamos a la solución.


Distro instalada:
Si estas usando un sistema ya instalado y que en la actualizacion quedo dañado entonces cuando estes en la pantalla de booteo (grub) debes editarla, en Fedora, es con "e" de edit.
Aparecerá un editor de texto por consola, en esta parte buscamos el final de la linea del kernel y agregamos:

acpi_osi=Linux

quedando un final de linea algo asi:
...LANG=en_US.UTF-8 acpi_osi=Linux


Mientras carga el sistema podemos usar la combinación de teclas para incrementar el brillo de la pantalla. Les comento que en mi laptop la combinación estaba invertida y de no haberme equivocado al hacerla no estuviera escribiendo esta entrada, y menos desde mi lap...

Después de eso, ya deberías iniciar correctamente tu sistema GNU/Linux

Desde Live CD/DVD
El procedimiento es casi el mismo, en la pantalla de inicio de tu distro, debes buscar la opción de editar la linea del kernel, en Fedora, creo que es utilizar tabulador para editar la linea.
Al final de la misma solo que hay que agregar la misma linea de arriba: 

acpi_osi=Linux

Luego de eso, solo queda subir el brillo de la pantalla y prepararse para la instalación :D


Lamentablemente desconozco el archivo de configuración donde podamos colocar estas lineas y evitar estar editando la linea del kernel cada vez que iniciemos el sistema, se los quedo a deber.
Gracias a Unkown47 donde quiera que estés  bro! :D

Introducción a la programación: Lenguaje de programación

En vista de que pienso ir creando varias entradas relacionadas con la programación buena idea es ir dando conceptos e información sobre los temas a tratar.
En este caso, hablaremos sobre algunos de los conceptos de programación.
Iniciemos entonces con la frase clave:  


Lenguaje de programación.
Un lenguaje de programación es un idioma artificial, que se comunica o controla con un o unos dispositivos digitales (ejemplo: pc), creado para desarrollar aplicaciones lógicas  que controlen física  o lógicamente al dispositivo. Usan reglas gramaticales para su escritura, mejor conocidas como reglas sintácticas (sintaxis) y semánticas (sentido o significado), las cuales declaran la estructura de un programa dado.

Además de esta definición también seria bueno explicar que es programar, programar es escribir programas, sencillo,¿Verdad?... Esto es codificar(escribir) en un lenguaje de programacion una serie de instrucciones que tengan como fin un o unos objetivos específicos.
Ejemplo: 
  • Desarrollar un programa que realice las tablas de multiplicar.
  • Escribir un programa que me permita visitar paginas web(un navegador web). 
  • Diseñar una aplicación que reproduzca archivos de video y audio.
Todos estos son ejemplos de programas(aplicaciones).
Noten que use "desarrollar", "escribir", "diseñar". Refiriéndome claramente a la misma acción, programar.

No esta de mas decir que un programador es una persona que escribe programas.

Tipos de lenguajes
En la programación existen niveles de abstracción con la comunicación entre programador y maquina. Estos niveles se clasifican de la siguiente manera:


El contenido de aquí hasta donde se indique ah sido obtenido y modificado de Wikipedia.
Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritmético lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas.


       En español significa que la comunicación hombre-maquina esta reducida a su mínima expresión, esto es, las ordenes o instrucciones están dadas por código binario(0 y 1).


Lenguajes de bajo nivel - Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada.
  • Por ejemplo: La arquitectura CISC contiene muchas mas instrucciones a este nivel, que la RISC.
  • Son denominados como ensambladores de un hardware concreto.
Esto quiere decir que la conversión de lenguaje ensamblador a código maquina es casi inmediata, las instrucciones y operaciones disponibles están dadas por el tipo de dispositivo sobre el que se va a programar. Como otros ejemplos de lenguajes ensambladores tenemos el MASM para Windows y  GCC en GNU/Linux.

Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos.
  • Ejemplos: C, Basic.
Como explicación podemos decir que son lenguajes intermedios, osea pueden ejecutar instrucciones de ensamblador y tener comunicación directa con los dispositivos y también permiten instrucciones de tipo alto nivel.


Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Estos lenguajes están orientados a objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos.
  • Ejemplos: C++, Fortran, Cobol, Lisp.
En definitiva, este tipo de lenguajes contienen expresiones mas humanas y amenas, dando la oportunidad al programador de desarrollar aplicaciones mas robustas. Pero tambien mencionar que no todos los lenguajes de alto nivel tienen como paradigma la programacion orientada a objetos, al menos no de manera principal.


Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lógicos. Se basan en librerías creadas en lenguajes de alto nivel. Pueden permitir la creación de nuevas librerías, pero son propietarias y dependientes de las suministradas por la aplicación. Estos lenguajes están orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto interactúan con otro.
  • Ejemplos: En Windows Visual Basic ,GNU/Linux Gambas.
Este tipo de lenguajes facilitan la creación de programas, y están pensados para ser usados en User Interface(UI, Interfaz de usuario). Pero dejan a escondidas la mayoría de las instrucciones. Conocidos también como RAD (rapid application development, Desarrollo Rápido de Aplicaciones).
 

Lenguajes de redes - Son aquellos que se basan en un convenio de instrucciones totalmente independientes de la máquina, y completamente dependientes de la red a la que están orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente-Servidor (Java, PHP) y de script (Python, Ruby).
Específicamente hablando los descriptivos no son lenguajes de programacion, son solo etiquetas que diseñan la estructura de un documento. Mientras que los que son llamados scripting y Cliente-Servidor si son lenguajes de programacion y algunos de ellos no solo se limitan a funcionar sobre la red en la que indica la explicación, como ejemplo tenemos a Java, que es mencionado del tipo Cliente - Servidor, sin embargo es de propósito general y bien puede ser usado para la creación de GUI (Graphics User Interface, Interfaz Gráfica de Usuario).
Hasta aquí termina el tema de los Lenguajes de programación. Ha faltado mucho, mucho mas, pero esto no es un curso o titulación.
De ahora en adelante es parte de ustedes que aprendan mas.
Nos vemos en la próxima entrega.


Obtenido de Wikipedia y modificado:
Link
Siendo así que el contenido de la publicación contiene la licencia Creative Commons Atribución/Compartir-Igual 3.0
Bajo los siguientes términos: términos.