viernes, 25 de noviembre de 2011

LAMP y PHPMyAdmin en Ubuntu

LAMP es el acrónimo de "Linux, Apache, MySQL y PHP".

Para instalar LAMP en Ubuntu 11.10 haremos uso del tasksel, que por defecto no viene instalado como lo venía siendo en versiones anteriores.
 
$ sudo apt-get install tasksel

Ejecutamos tasksel y seleccionamos LAMP Server

$ sudo tasksel


Cuando termine de instalar todos los paquetes necesarios podemos comprobar que se han instalado todos los servicios correctamente de la siguiente manera:

$ sudo service mysql restart
$ sudo /etc/init.d/apache2 restart

Para hecernos la vida más fácil instalaremos el sistema gestor de bases de datos PHPMyAdmin. Para ello ejecutamos en la consola:

$ sudo apt-get install phpmyadmin


jueves, 24 de noviembre de 2011

Habiliar el uso del tabulador para autocompletar órdenes y rutas

En GNU/Linux es común el uso de la consola para multitud de tareas, y una de las funciones más útiles en ella es la función de autocompletar órdenes y rutas con el uso del tabulador.
Por algún motivo, hay algunas veces que esta función se encuentra deshabilitada, lo cual es un verdadero fastidio.
Para habilitar dicha función tenemos que editar el archivo /etc/bash.bashrc y buscamos y editamos estas líneas para que queden como se muestra a continuación:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

jueves, 17 de noviembre de 2011

Fedora 16, instalar drivers nVidia

Veamos cómo instalar los controladores propietarios de nVidia en el SO Fedora 16

Primero añadimos los repositiorios RPMFusion (Free y Non-Free)

#rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
#rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Actualizamos los paquetes instalados (comprobamos si hay actualizaciones)


#yum -y update

Instalamos los drivers propietarios de Nvidia


#yum install akmod-nvidia xorg-x11-drv-nvidia-libs

Sólo nos queda reiniciar el equipo y comprobar que se han instalado correctamente

nvidia-settings


Fuentes:
  • http://conocimientoadictivo.blogspot.com/2011/11/fedora-drivers-nvidia-rpmfusion.html 

lunes, 7 de noviembre de 2011

PhotoFilmStrip

¿Te gustaría hacer un vídeo con las fotografías de tus vacaciones? Con PhotoFilmStrip puedes hacerlo desde ubuntu de una manera muy fácil. Para instalarlo es tan sencillo como buscarlo en el gestor de paquetes Synaptic o desde la consola escribiendo:
 
$ sudo apt-get install photofilmstrip

PhotoFilmStrip

En el siguiente vídeo podemos ver un ejemplo de como quedaría nuestras fotos.



domingo, 6 de noviembre de 2011

Prográmas básicos en mi tablet

Recientemente he adquirido una tablet Samsung Galaxy Tab P1010 de 7 pulgadas con el sistema operativo Android. Es la primera vez que me pongo delante de este sistema operativo y sentía curiosidad sobre su uso y programación. Después de unas semanas trasteando con él os expongo los programas que veo de más utilidad. No son los mejores, ni están todos los que son, pero son los que uso.

Samsung Galaxy Tab P1010

jueves, 27 de octubre de 2011

miércoles, 26 de octubre de 2011

Requiescat in pace

Podríamos decir que éste es un "Annus Horribilis". Muchos programadores nos encontramos estos días algo abatidos ya que el mundo de la informática y la programación ha perdido a varios de sus padres.

John McCarthy, (n. 4 de Septiembre de 1927 - f. 24 de Octubre de 2011)
Padre de la Inteligencia Artificial y creador del lenguaje de programación Lisp.

Jonh McCarthy (1927 - 2011)
Fuente: Wikipedia


Dennis Ritchie, (n. 9 de Septiembre de 1941 - f. 12 de Octubre de 2011)
Padre de los sistema operativo Multics y Unix y creador, junto con Brian Kernighan, del lenguaje de programación C.

Dennis Ritchie (1941 - 2011)
Fuente: Wikipeida

Steve Jobs, (n. 24 de Febrero de 1955 - f. 5 de Octubre de 2011)
Empresario y magnate del sector informático, fundó, junto con Steve Wozniak, la empresa Apple.

Steve Jobs (1955 - 2011)
Fuente: Wikipedia

martes, 4 de octubre de 2011

Descargar vídeos de youtube por consola

Alguna vez nos ha ocurrido que nos ha gustado un vídeo de youtube y queremos guardarlo para poder visualizarlo en cualquier otro dispositivo.

Para ello podemos hacer uso del programa 'youtube-dl', que nos permite almacenar un vídeo de youtube en el disco duro de nuestro ordenador. El programa es muy ligero y se ejecuta en la consola.

Para instalarlo en ubuntu simplemente ejecutamos en la consola el siguiente comando:

$ sudo apt-get install youtube-dl

Uso del comando

Para descargar un vídeo simplemente escribimos en la consola el nombre del programa y a continuación la dirección url del vídeo que queremos descargar:

$ youtube-dl <url_del_vídeo>

El vídeo se descargará en el directorio actual en formato 'flv'.

Opciones útiles

  • youtube-dl -h: muestra la ayuda con todas las opciones.
  • youtube-dl -q <url>: activa el modo silencioso, es decir, no muestra nada en la consola mientras se descarga el vídeo para así poder hacer otras tareas.
  • youtube -t <url>: pone al nombre del archivo el título del vídeo.
Errores comunes

A veces, nada más instalar el programa, al intentar bajar un vídeo nos aparece el siguiente error:

ERROR: no fmt_url_map or conn information found in video info

Para solucionarlo, simplemente debemos actualizar el programa con el siguiente comando:

$sudo youtube-dl -U

miércoles, 13 de abril de 2011

Cuento: el amor y el tiempo

Hoy me ha llegado al correo electrónico un cuento muy bonito, que me gustaría compartir con vosotros. No se quien es el autor, si alguien lo sabe, que me lo diga, xP.


sábado, 2 de abril de 2011

Algoritmos de búsqueda

Un algoritmo de búsqueda es aquel que nos permite encontrar un elemento dentro de una estructura de datos como podría ser un vector o una base de datos.

Para explicar los dos algoritmos básicos de búsqueda, que son: la búsqueda secuencial y la búsqueda dicotómica o binaria; tomaremos como elemento un número entero y como estructura de datos un vector.

viernes, 25 de marzo de 2011

Programación de videojuegos en linux

A continuación expongo un pequeño manual, a modo de cookbook, para configurar un entorno linux como plataforma de desarrollo y programación de videojuegos con C++ y las librerías gráficas Allegro. Los entornos de pruebas han sido ubuntu 10.10 y fedora 14.


jueves, 17 de marzo de 2011

Algoritmo de ordenación por selección directa

Es un algoritmo sencillo y uno de los más sencillos de recordar e implementar. No es el mejor algoritmo de ordenación ya que realiza una gran cantidad de comparaciones, pero, por el contrario, realiza muy pocos intercambios.

El algoritmo consiste en realizar varias pasadas sobre el vector, de tal manera que el elemento de menor peso se coloque al principio del vector en un solo intercambio. En cada pasada se recorre la parte no ordenada del vector buscando el elemento de menor peso y cuando se localiza se intercambia con el primer elemento de la parte no ordenada del vector.

Veamos la implementación del algoritmo en C:

/* funcion de ordenacion por seleccion directa */
void seleccion_directa(int v[], int N) {
   int min, tmp; // elemento de menor peso y elemento temporal
 
   /* recorremos todo el vector */
   for(int i = 0; i < N - 1; i++) {
      /* suponemos que es el primero */
      min = i;
      /* recorremos la parte no ordenada */
      for(int j = i+1; j < N; j++) {
         /* buscamos el de menor peso */
         if(v[j] < v[min]) min = j;
      }
      /* intercambio posicion i por el de menor peso */
      tmp = v[i];
      v[i] = v[min];
      v[min] = tmp;  
   }
}

Enlaces externos:

miércoles, 2 de marzo de 2011

Algorito de ordenación por inserción directa

Éste es el algoritmo de ordenación más intuitivo para el ser humano, ya que el método de ordenación es el natural para nosotros. Es el que utilizaríamos, por ejemplo, para ordenar una baraja de cartas. A este algoritmo también se le conoce como "insertion short".

Su funcionamiento es el siguiente. Tomamos el vector (nuestra baraja de cartas), que está desordenado. Cogemos la carta de arriba y la insertamos en su lugar correspondiente en un montón separado. Una vez recorridas todas las cartas, el montón separado ya está ordenado.

Veamos como se implementa este algoritmo en C.

void insercion_directa(int v[], int N) {
   int tmp;
 
   for (int i=1; i < N; i++) {
      tmp = v[i];
      j = i - 1;
      while(int j >= 0 && v[j] > tmp) {
         v[j+1] = v[j];
         j--;
      }
      v[j+1] = tmp;
   }
}


Enlaces externos:

lunes, 28 de febrero de 2011

Algoritmo de ordenación de la burbuja

Es el algoritmo de ordenación más sencillo de implementar y a la vez el más ineficiente. Recibe otros nombres como: bubble short o método de intercambio directo.

Funciona de la siguiente manera: dado un vector de números desordenados, se va recorriendo dicho vector en sucesivas iteraciones de tal manera que los elementos de menor peso se intercambian para que ocupen posiciones superiores (como si fueran burbujas, de ahí el nombre del algoritmo) hasta que ya no hay elementos que intercambiar, momento en el que el vector ya está ordenado.

Veamos a continuación la implementación de este algoritmo en C.

// funcion de ordenacion
void intercambio_directo(int v[], int N) {
   int aux;

   for(int i = 1; i < N; i++)
      for(int j = N - 1; j >= i; j--)
         if(v[j-1] > v[j]) { // intercambiamos los valores
            aux = v[j-1];
            v[j-1] = v[j];
            v[j] = aux;
         }
}

sábado, 26 de febrero de 2011

Determinar y configurar las opciones de hardware (parte I)

Introducción

El proceso de configuración de los elementos de hardware en un ordenador requiere cierta familiaridad con los mismos y con su configuración, especialmente los más antiguos, que necesitan algún tipo de configuración manual para evitar conflictos de hardware. Actualmente no es necesario este proceso ya que la mayoría de las configuraciones básicas vienen prefijadas en el firmware del dispositivo o en la BIOS del sistema.

Objetivo

El objetivo de esta entrada es poder determinar y configurar las opciones de hardware en un sistema GNU/Linux. De esta manera, además, podremos determinar y solucionar los conflictos y problemas que puedan surgirnos con nuestro hardware.

Declaración de intenciones

Este es un blog personal, en el que encontrarás, entre otras cosas, temas relacionados con mis aficiones, como son la programación y el software libre; aderezado todo ello con un toque de humor extravagante.

Intentaré migrar todo el contenido que tenia en mi anterior blog http://www.dalaran.es. Hay varios motivos para la migración, entre ellos que el nombre del dominio no es representativo del contenido del blog y aunque éste tampoco lo es, me gusta más. Otro de ellos es que este espacio es gratuito y, de momento ;P, sin ánimo de lucro; ya sabéis: "la pela es la pela". Y por último, wordpress está empezando a escamarme; tiene una serie de fallos que no me gustan, como la falta de robustez y la perdida de consistencia, entre otros. Para los que penséis que por que no modifico el código les diré que lo he pensado, pero además de ser demasiado complicado ya, es que no me da la gana, ;P.

Loren Ipsum

"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."