Usuario anónimo ¿Quieres tener tu propio blog?
Crear blog gratis en OboLog

Crear Botones con GIMP

por banyut
sábado, 29 de noviembre del 2008 a las 21:14
guardado en

En esta ocasión os voy a mostrar como de una manera fácil y sencilla podemos crear diferentes objetos para nuestra web.

Esta vez no me enrollaré, iremos explicando a media que vamos haciendo. Empezamos creando un botón, para ello pulsaremos sobre crear nueva imagen y elegiremos un lienzo de tamaño 150 x 50 y de fondo transparente.

new lienzo

Para trabajar mejor, aplicaremos un zoom de como poco 400%.

El siguiente paso consistirá en elegir el color de nuestro botón, para ello elegiremos dos colores, el del frente y el del fondo, en principio podéis poner el que más os guste, yo para este ejemplo utilizaré un color azul para el frente y otro un poco más claro para el fondo.

  •     Color frente: 0a0a7b
  •     Color fondo: 7bf1f0

Caja Herramientas

Aplicaremos un degradado a nuestro lienzo, el degradado lo configuraremos de la siguiente manera.

  • Modo: normal.
  • Opacidad: 100%
  • Degradado: Frente fondo (El tercero de la lista)
  • Forma: Lineal.

El degradado lo aplicaremos empezando por la parte superior central del lienzo y acabando en la parte inferior central. Os puede ayudar mantener la tecla CTRL pulsada mientras arrastráis el ratón y por supuesto si no os gusta el resultado siempre podéis pulsar CRTL-Z para deshacer los cambios.

Os tiene que quedar algo parecido a esto.

Degradado

Seleccionaremos toda la imagen pulsando Ctrl +A  (Seleccionar → Todo), iremos al menú seleccionar y elegiremos la opción Rectangulo redondeado, se nos abrirá una nueva ventana donde nos pide el valor del radio, lo pondremos a 55 y pulsaremos sobre aceptar.

Copiaremos la selección mediante Ctrl + C (Editar → copiar),  y todo seguido copiaremos la selección como una imagen nueva pulsando Mayus + Ctrl + V (Editar → Pegar como → Imagen Nueva).

Esto nos ha creado un nuevo lienzo donde tenemos nuestro botón con las esquinas redondeadas, el primer lienzo ya lo podemos cerrar, ahora nos quedará algo así.

Degradado

Añadiremos una nueva capa al lienzo pulsando Mayu + Ctrl + N (Capa → Capa Nueva), que llamaremos brillo.

Con la capa brillo seleccionada, cogeremos la herramienta de selección rectangular y haremos una selección en la parte superior del lienzo, a la que igual que en el paso anterior le habremos redondeado las esquinas con un radio de 55, quedando  tal y como se muestra en la siguiente imagen.

Degradado

Ahora pondremos el color de frente a blanco y seleccionaremos la herramienta de degradado en la caja de herramientas. Esta vez  cogeremos el tipo de degradado frente a transparente (el cuarto de la lista) y marcaremos la casilla invertido.

Degradado

Aplicaremos el degradado sobre la selección, igual que antes de manera vertical, y de arriba a abajo.

Degradado

Ya lo podríamos dejar así, pero para gustos los colores, así que le aplicaremos un borde. Crearemos una nueva capa (Mayu + Ctrl + N) que llamaremos borde, la marcamos como activa y la seleccionamos (Ctrl + A) .

Redondeamos la selección tal como se ha explicado en el paso anterior, ahora vamos al menú Seleccionar y picamos sobre bordes, pondremos a 1 el valor del borde y marcaremos la casilla de difuminar.

Escoger un color (162303), el que más os guste y con la herramienta de relleno (la que hay al lado del gardiente) picáis sobre el borde que tenéis seleccionado.

Creamos una nueva capa (Mayu + Ctrl + N) de nombre borde2, elegimos un color que destaque (b7f65d), y nuevamente aplicamos la herramienta de relleno sobre la selección.

Por que estas dos capas, pues sencillamente, una la utilizaremos como vista normal del botón y la otra cuando el ratón pase por encima, tranquilos seguir leyendo y lo comprender&eactue;is.

Bueno si habeis seguido las indicaciones paso a paso os ha de quedar una cosa parecida a esta.

Degradado

Ahora le aplicaremos el texto, para ello pulsaremos sobre la herramientas de texto que hay en la caja de herramientas (icono con la letra A) y con el ratón dibujaremos una selección en nuestro botón de manera que esta ocupe todo su ancho y quede centrada.

Las opciones de la caja de herramientas las estableceremos de la siguiente manera:

Degradado

Por supuesto podéis cambiarlas a vuestro antojo.

Escribir el texto que queráis, aseguraos que queda centrado y quitar todas las selecciones para ver mejor el resultado.

Bueno ahora nuestro botón está finalizado, ya tenemos la base de nuestro botón, que guardaremos donde queramos para poder utilizarla siempre que queramos.

Ahora para crear la imagen para nuestra web, aremos lo siguiente, seleccionaremos la capa que contiene el texto y escribiremos lo que queramos.

Pulsaremos Ctrl + Mayu + S (guardar como) y escribiremos el nombre (boton_papirux_sel.png) de nuestro botón más la extensión de la imagen (JPG, PNG, GIF),  aceptamos, pulsamos sobre Exportar y de nuevo sobre Guardar.

Bien ahora iremos a las capas y ocultaremos la última que hemos creado Borde#1, y repetiremos el proceso de guardado, en este caso yo como nombre le pongo boton_papirux_nor.png.

Y ya tenemos nuestros dos botones creados.

Degradado      Degradado

Tener cuidado con el formato con el que guardáis la imagen,  pensar que en exploradores como el IE no reconoce las transparencias del formato png.

Hay otras formas de conseguir efectos parecidos a estos, vamos a verlas, pero esta vez  fabricaremos otro tipo de botón.

Empezaremos creando un lienzo de 100 x 100 y con el fondo transparente, aumentaremos la vista a 400% para trabajar mejor.

Le aplicaremos una selección circular que cubra todo el lienzo, haremos una aproximación con el ratón y ajustaremos con los campos posicionar y opciones que nos aparecen en la caja de herramientas.

Degradado

Igual que en el ejemplo anterior aplicaremos un degradado, con estas opciones.

  • Modo: normal.
  • Opacidad: 100%
  • Degradado: Frente fondo (El tercero de la lista)
  • Forma: Lineal.
  • Color frontal: 0a8807
  • Color fondo: 49f845

Aplicamos el degradado de forma vertical y de arriba a abajo. Hecho esto,  iremos al menú Seleccionar y pulsaremos sobre, Encoger (shrink) y ponemos un valor de 7, aceptaremos y pulsaremos la tecla borrar, obteniendo un aro.

Ahora crearemos una capa nueva (Mayu + Ctrl + N) que llamaremos centro, elegiremos un color de frente(0a0a7b) y otro de fondo(7bf1f0) y aplicaremos la siguiente configuración.

Modo: normal.

  • Opacidad: 100%
  • Degradado: Frente fondo (El tercero de la lista)
  • Forma: Radial

El degradado lo aplicaremos del centro del lienzo hacia abajo, obteniendo algo parecido a esto.

Degradado

Creamos una nueva capa que llamaremos brillo, y con el color de frente blanco, aplicaremos un degradado del tipo Frente a Transparente.

Iremos al menú capa y pulsaremos sobre escalar capa, pondremos los valores ancho 70, alto 60. Ahora con la herramienta mover desplazamos la capa a la parte superior.

Degradado

Ahora le aplicamos un filtro. Menú Filtros → Desenfoque → Desenfoque Gaussiano,  con los valores de 10 tanto en horizontal como en vertical.

Y ya tenemos nuestro botón finalizado, como no dos en uno, elegir el que mas os guste.

Degradado        Degradado

 

Porgramas esenciales en intrepid ibex.

por banyut
domingo, 09 de noviembre del 2008 a las 23:43
guardado en

Bueno una nueva versión de Ubuntu ve la luz, y de nuevo la red se llena de manuales y guías para orientar a los usuarios en la instalación y configuración del nuevo sistema. Bueno, pues esta es otra de esas guías, si aunque duela es una más, no ofrece nada especial. Que por que la publico? Pues simple, espero que sirva de orientación a los que empiezan o simplemente para que los que lleven un tiempo puedan comparar su configuración con la mía.

No explico como configurar los programas que aquí expongo, ni doy ninguna explicación de como funcionan, de hecho de muchos de ellos, hay un manual en esta misma página y posiblemente de los que no lo habrá próximamente.

Empezaremos por asegurarnos que tenemos activados los repositorios universe y multiverse., si no sabéis como se hace podéis mirar como en la pagina oficial de ubuntu.

Instalaremos una serie de paquetes que creo que han de estar aunque en principio nos parezcan innecesarios o creamos que no los vamos a utilizar.

Build-essential.

Este paquete nos provee de las herramientas básicas para poder compilar el código fuente de los programas en C/C++.

sudo aptitude install build-essential

Ubuntu-restricted-extras

Son codecs y fuentes adicionales para ubuntu, tales como java, Flash, codecs de vídeo, etc., que no están incluidos por defecto en la instalación debido a ciertos problemas con las licencias.

sudo aptitude install ubuntu-restricted-extras

Repositorio Mediubuntu.

Un repositorio muy interesante y recomendable.

sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list -O /etc/apt/sources.list.d/medibuntu.list

sudo aptitude update && sudo apt-get install medibuntu-keyring && sudo aptitude update

Instalación dels còdecs Multimedia.

sudo aptitude install non-free-codecs

sudo aptitude install libdvdcss2

sudo aptitude install w32codecs (o w64codecs)

sudo aptitude install ppc-codecs

sudo aptitude install faad gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-pitfdll liblame0

Instalación Avant Window Navigator.

No creo que este paquete necesite explicación. Aquí tenemos dos opciones, la primera es instalar la versión estándar que lo haremos de la siguiente manera.

sudo apt-get install awn-manager awn-extras-applets

Y la segunda la versión Trunk, que es la que yo me instalo, para ello hemos de añadir el siguiente repositorio.

#Avant Window Navigator LEOPARD

deb http://ppa.launchpad.net/awn-testing/ubuntu intrepid main

deb-src http://ppa.launchpad.net/awn-testing/ubuntu intrepid main

Imagino que no tendría que explicar como, pero bueno, para los despistados, hay que editar como root el archivo /etc/apt/sources.list y añadir al final de él las tres líneas anteriores.

Actualizamos

         sudo aptitude update

Ahora ya podemos ejecutar los siguiente.

sudo apt-get install awn-manager-trunk awn-extras-applets-trunk

Para darle una apariencia más agradable tenemos el siguiente tema.

http://rapidshare.com/files/71511920/Transparent.tgz.html

Instalación OpenOffice 3.0.

Añadimos el repositorio.

           deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main

y actualizamos

         sudo aptitude update

Instalación reproductores de música y vídeo.

Instalamos los siguientes

         sudo aptitude install mplayer

         sudo aptitude install vls

         sudo aptitude install smplayer

Los dos primeros son reproductores, podéis instalar cualquiera de los dos o los dos, el tercero es un fron-end del mplayer, yo instalo los tres.

Instalación Java

Si hemos instalado ubuntu-restricted-extras, no nos hace falta instalar el paquete de java, pero si instalaremos el siguiente.

sudo aptitude install sun-java6-fonts

Instalación Flash Player Plugin.

Instalaremos cualquiera de los dos, para gustos colores.

sudo aptitude install flashplugin-nonfree libflashsupport

o

sudo aptitude install mozilla-plugin-gnash

Instalación Fonts Microsoft

Lo que su nombre indica, no creo que haga falta ninguna explicación y alguna fuente más.

sudo aptitude install msttcorefonts

sudo aptitude install ttf-liberation

sudo fc-cache

Instalación Acrobat reader.

Yo prefiero este al que viene por defecto en ubuntu.

sudo aptitude install acroread

Instalación aMSN

Creo que es mejor el pidding que ya viene por defecto pero de momento no podemos utilizar la cam así que yo por ahora uso los dos.

sudo aptitude install amsn

Instalación aMule

El de toda la vida.

sudo aptitude install amule

Instalación Torrent

También podemos usar el transmission que viene por defecto y está bastante bien, de este no os puedo decir nada, lo he instalado para probarlo ya que tiene muy buena critica.

sudo aptitude install deluge-torrent

Instalación Wine

Mal que pese creo que es necesario, aunque solo sea para los auto arranques de los cd's.

sudo aptitude install wine

Instalación administrador de Configuracions compiz

Nuestro querido compiz

sudo aptitude install compizconfig-settings-manager emerald

                      sudo aptitude install fusion-icon

                     sudo aptitude install community-themes

Complementos firefox.

                     sudo aptitude install mozilla-acroread

Instalaremos los gestos, para los que no los conocéis son una pasada, probarlos y ya diréis, permiten hacer las acciones tipicas mediante movimientos del ratón, descargar y instalar el siguiente componente.

All-in-One Gestures

Instalación de compresores.

sudo aptitude install unrar rar p7zip-full unace unzip

Instalación lector correo.

Personalmente prefiero el Thunderbird, así que lo instalaremos.

sudo aptitude install thunderbird

Instalación K3B.

Por defecto viene instalado Brasero que también está muy bien, pero hay cosas que creo que se hacen mejor con este otro programa, por no decir que su interfaz es mucho más agradable.

sudo aptitude install k3b libk3b2 libk3b2-mp3 k3b-i18n

Instalación ktranslator.

Es un traductor que aprovecha los diccionarios de babylon.

                     sudo aptitude install ktranslator

Instalación StarDict.

He decidido editar el articulo y añadir este otro traductor, ya que después de probarlo creo que supera en mucho, pero mucho mucho a ktranslator. Ahí teneis las indicaciones para su instalación.

Configuración y instalación de StarDict

Instalación virtualBox.

Nos permite instalar otros sistemas operativos dentro de nuestro ubuntu.

sudo aptitude install virtualbox-ose vboxgtk virtualbox-ose-guest-utils

Instalación scripts nautilus.

                     sudo aptitude install nautilus-script-manager

                      sudo aptitude install nautilus-wallpaper

                      sudo aptitude install nautilus-open-terminal

Instalación midi.

                     sudo aptitude install timidity

                      sudo aptitude install freepats

Instalación visor imagenes.

                     sudo aptitude install gpicview

Instalación Encriptador.

Instalaremos EncFS, que nos permitirá mediante un pasword, encriptar y desencriptar en tiempo real, el contenido de directorios, de una manera muy fácil y transparente.

                   sudo aptitude install encfs crypkeeper

Instalaciones herramientas de red.

                     sudo aptitude install nmap iptraf

Instalación eclipse.

Ide de programación en java, incluyo los modulos para c/c++ y phyton

                     sudo aptitude install eclipse eclipse-pydev eclipse-cdt eclipse-efj

Instalación vim.

Un editor de los mas completos que he visto, difícil de aprender pero una vez se domina no tiene sustituto.

                     sudo aptitude install vim-full

Instalaciones útiles diversos.

Aventaja en mucho la consola tipica.

                     sudo aptitude install terminator

Muestra la estructura de directorios en forma de árbol

                     sudo aptitude install tree

Monitor de los recursos del sistema, muy útil.

                     sudo aptitude install htop

Herramienta para ip dinamica (servidores)

                     sudo aptitude install ddclient

Ayuda a instalar temas de cusrores

                     sudo aptitude install gcursors

Particionado de discos

                     sudo aptitude install gparted

Widgets de escritorio

                     sudo aptitude install screenlets

Ayuda a administrar los parámetros del GRUB

                     sudo aptitude install startupmanager

Muestra información del sistema

                     sudo aptitude install sysinfo

Cambiar la imagen splash, la mostrada al cargar el sistema.

                     sudo aptitude install gnome-splashscreen-manager

 

Bueno, eso es todo por hoy, en un próximo articulo veremos como lo ponemos a punto y lo tuneamos un poquito.

- - - - -

  • Si se mueve, pertenece a la biología.
  • Si huele, pertenece a la química.
  • Si no funciona, pertenece a la física.
  • Si nadie entiende, a la matemática.
  • Si no tiene sentido, es economía o psicología.
  • Si se mueve, huele, no funciona, nadie entiende y no tiene sentido... es informática.

AXEL, gestor de descargas

por banyut
viernes, 22 de agosto del 2008 a las 22:07
guardado en , ,

Hace poco vimos las virtudes de wget como gestor de descarga, si bien este programa en conjunto no tiene competencia si que encontramos a faltar algunas propiedades como puede ser la que nos ofrece el siguiente programa.

AXEL permite la descarga desde sitios FTP o HTTP, realizando múltiples conexiones, donde cada conexión descarga su propia parte del archivo. A diferencia de otros programas similares, AXEL monta el archivo directamente evitando así tener que concatenar todas las partes al finalizar la descarga.

Como siempre empezaremos por su instalación.

sudo aptitude install axel

Su síntesis es sencilla.

axel [options] url1 [url2] [url...]

El único argumento obligatorio es la dirección del archivo a descargar.

En su forma más simple.

axel http://img74.imageshack.us/img74/2421/mazingerbu0.jpg

Al finalizar la descarga el programa devuelve 0, 1 o 2 informando de lo siguiente.

0 → Descarga correcta.

1 → Ha habido un error.

2 → La descarga ha sido interrumpida.

Hay que dejar claro que el programa baja un único archivo, por lo que si introducimos más de una dirección el programa repartirá la descarga entre ellos, entendiendo que se trata del mismo archivo, pero no lo comprobará.

Veamos sus opciones.

Por defecto utiliza todo el ancho de banda para la descarga, esto lo podemos evitar indicando la velocidad deseada ( -s ) en bytes por segundo, AXEL procurará ajustar la velocidad media al valor indicado.

axel -s 15000 http://img74.imageshack.us/img74/2421/mazingerbu0.jpg

También podemos decidir el número de conexiones que utilizaremos para la descarga ( -n ).

axel -n 5 http://img74.imageshack.us/img74/2421/mazingerbu0.jpg

El resto de opciones no son tan importantes, os la comento un poco y si queréis más información ya sabéis: man axel

  • -Sx busca en x mirrors diferentes para realizar la descarga, puede consumir mucho tiempo.
  • -N no descarga a través de proxy.
  • -v muestra información extra.
  • -q No muestra información en pantalla.
  • -a Muestra de otra forma la barra de progreso.
  • -V Versión del programa.
  • -h Muestra las opciones disponibles.  

Bueno, eso es todo por hoy, como veis una herramienta a tener muy en cuenta cuando queremos descargar un archivo considerablemente grande.

- - -

La inteligencia me persigue pero, yo soy más rapido.

hddtemp, controla la temperatura de tus discos duros

por banyut
viernes, 22 de agosto del 2008
guardado en

Hddtemp es una herramienta que mediante el uso de S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) nos informa de la temperatura de nuestros discos duros.

S.M.A.R.T. Es una tecnología que monitoriza nuestros dispositivos. Tiene que estar activado (BIOS) y además los discos duros de nuestro equipo tienen que ser compatibles con dicha tecnología. Prácticamente todos los discos duros fabricados en la actualidad (o de hace 3 a 5 años) son compatibles.

Que no os asuste toda esta parrafada, normalmente lo único que tenemos que hacer es instalar el programa, pensar que es una utilidad muy simple de usar y de instalar, y aunque probablemente solo sea útil o nos acordemos de ella cuando sospechemos que tenemos un problema, creo que es una herramienta de prevención a tener muy en cuenta.

No queriendo ser paranoico, pensar que una excesiva temperatura en nuestros discos puede provocar perdida de datos y velocidad de acceso, errores de lectura o incluso daño físico en el dispositivo.

Empezaremos instalando el programa con nuestro ya conocido aptitude.

sudo aptitude install hddtemp

El programa nos preguntará si queremos que se arranque al inicio, la interfaz en la que escuchar y el puerto. En principio a las dos ultimas preguntas cogeremos el valor por defecto pulsando Enter, a la primera yo aconsejo poner SI, pero es una elección personal.

Con esto tendremos instalado el programa, si le hemos dicho que se arranque al inicio ya lo tendremos en ejecución si no tendremos que arrancarlo nosotros, para ello ejecutaremos la siguiente instrucción.

sudo hddtemp -d /dev/sd?

No os preocupéis si no entendéis la instrucción ya la explicaremos mas adelante. Lo que hacemos es correr el programa como demonio (en segundo plano). Es posible que tengáis que caviar la parte final de la instrucción por hd? según el tipo de HD que tengáis instalado.

Tenemos instalado un servició que escucha en el puerto 7634 ( si no lo hemos cambiado al instalar el programa claro)Ahora podemos consultar la temperatura de manera remota, aquí os pongo unos ejemplos.

http:/127.0.0.1:7634 en el explorador.

nc 127.0.0.1 7634 en consola

telnet 127.0.0.1 7634 en consola

Las direcciones ip las he puesto local, estas no tienen porque ser así, podemos acceder mediante una dirección de internet.

nc cancerbero.homeip.net 7634 en consola

Tampoco hace falta que el programa se este ejecutando como demonio para poder consultar la temperatura de nuestros Hds.

sudo hddtemp /dev/sda

La síntesis es la siguiente

hddtemp [options] [type:]disk...

Ya hemos visto la opción -h que hace que el programa se ejecute en segundo plano, otra opción que nos puede resultar útil es -n que nos devuelve únicamente la temperatura (el valor) omitiendo cualquier otra descripción.

sudo hddtemp -n /dev/sda

En caso de tener más de un disco duro en nuestro sistema podemos verlos todos con una única instrucción.

sudo hddtemp /dev/sd*

Yo tengo tres discos instalados y he obtenido el siguiente resultado.

/dev/sda: ST3160812A: 48°C

/dev/sda1: ST3160812A: 48°C

/dev/sdb: SAMSUNG HD321KJ: 38°C

/dev/sdb1: SAMSUNG HD321KJ: 38°C

/dev/sdb2: SAMSUNG HD321KJ: 38°C

/dev/sdb3: SAMSUNG HD321KJ: 38°C

/dev/sdb5: SAMSUNG HD321KJ: 38°C

/dev/sdb6: SAMSUNG HD321KJ: 38°C

/dev/sdc: SAMSUNG HD300LJ: 38°C

/dev/sdc1: SAMSUNG HD300LJ: 38°C

/dev/sdc2: SAMSUNG HD300LJ: 38°C

/dev/sdc5: SAMSUNG HD300LJ: 38°C

/dev/sdc6: SAMSUNG HD300LJ: 38°C

Gracias a las expresiones regulares podemos mejorar un poco más este resultado.

sudo hddtemp /dev/sd[a-c]

y ahora la salida que obtengo es la siguiente.

/dev/sda: ST3160812A: 48°C

/dev/sdb: SAMSUNG HD321KJ: 38°C

/dev/sdc: SAMSUNG HD300LJ: 38°C

Como se ha dicho anteriormente no todos los discos son compatibles con esta utilidad, podemos pedir que nos imprima una lista con los dispositivos compatibles.

Sudo hddtemp -b

Con esto es más que suficiente, como siempre hay más opciones que permiten una mayor configuración de la utilidad y que podemos obtener tecleando en consola.

man hddtemp

De todas maneras aquí os detallo algunas de las más importantes.

-l Establece la dirección ip donde queremos que escuche el demonio.

-p puerto Establece el puerto de escucha.

-s C Carácter separador que se usará para separar los campos de los resultados.

-S x Añade en el syslog cada x segundos.

-u [C|F] Mostrar la información en grados centigrados o farenheit.

-q No chequea si el dispositivo está soportado.

-v Versión del programa

-w Arranca el dispositivo si es necesario (Solo en discos ATA).

Bueno eso es todo por hoy, en el siguiente articulo ampliaremos la funcionalidad y utilidad de esta herramienta al combinarla con otras como son lm-sensors y rrdtool.

- - -

La inteligencia me persigue, pero yo soy más rápido.

lm-sensors y Gnome sensors

por banyut
jueves, 21 de agosto del 2008 a las 18:18
guardado en

Anteriormente se introdujo la herramienta hddtemp que nos daba la temperatura de nuestros dispositivos, el principal problema de esta herramienta era que lo hacia bajo petición.

Hoy veremos un conjunto de utilidades que nos permitirán monitorizar entre otras cosas las temperaturas de los dispositivos de nuestro equipo.

Empezaremos instalando lm-sensors.

sudo aptitude install lm-sensors

El siguiente paso es identificar los sensores que están disponibles en nuestro sistema, para ello ejecutaremos el siguiente comando.

sudo sensors-detect sensord

Esta instrucción rastrea toda la placa en busca de los sensores, pidiendo confirmación para cada bus que encuentre, en principio diremos a todos que YES. A la última pregunta ¿Do you want to add these lines to /etc/modules automatically? (yes/NO)., hay quien aconseja decir que no y introducir manualmente los datos, esto se basa en que hay veces en que el orden en que se pongan es importante yo he probado introduciendo yes y no me ha dado ningún problema, de todas formas si elegís no, tendréis que copiar el texto que se os muestra entre los dos #----cut here---- y pegarlo al final del archivo /etc/modules, pero invirtiendo el orden de las líneas, esto es la última linea la copiáis la primera la penúltima la segunda, etc.

Otra posibilidad es que os diga que no se han detectado sensores “Sorry, no sensors were detected”, en este caso es que vuestra placa no es compatible o porque es muy vieja o muy nueva. Podéis ver si vuestro equipo es compatible en la pagina de lm-sensors.

Esto no impide que podáis instalar la aplicación gráfica que exponemos más abajo que permitirá monitorizar otras temperaturas (hd, grafica, etc).

Bueno en este punto reiniciamos el equipo (podéis evitar reiniciar el equipo si cargáis los módulos manualmente).

Ahora ya tenemos habilitados los sensores, hacemos la prueba tecleando en consola lo siguiente

sensors

Obtendremos algo parecido a esto.

k8temp-pci-00c3

Adapter: PCI adapter

Core0 Temp: +46.0°C

Core1 Temp: +48.0°C

 

w83697hf-isa-0290

Adapter: ISA adapter

VCore: +1.28 V (min = +0.02 V, max = +0.02 V)

+3.3V: +3.25 V (min = +2.82 V, max = +0.77 V)

+5V: +5.05 V (min = +0.16 V, max = +1.05 V)

+12V: +11.25 V (min = +1.95 V, max = +3.95 V)

-12V: +0.39 V (min = -13.76 V, max = -14.91 V)

-5V: +1.68 V (min = -6.91 V, max = -7.26 V)

V5SB: +5.48 V (min = +2.37 V, max = +1.08 V)

VBat: +0.00 V (min = +0.03 V, max = +2.08 V)

fan1: 1962 RPM (min = 1318 RPM, div = 8)

fan2: 0 RPM (min = 1757 RPM, div = 8)

temp1: +38.0°C (high = +8.0°C, hyst = -80.0°C) sensor = thermistor

temp2: +46.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor

beep_enable:enabled

Ahora ya tenéis disponibles los sensores para que sean leídos por cualquier monitor gráfico (GkrellM, gdesklets, adesklets, etc). Por ver un ejemplo instalaremos GNOME sensors, es bastante simple y utiliza poca pantalla.

Sudo aptitude install sensors-applet

Es posible que tengáis que reiniciar. Ahora pulsamos con el botón derecho sobre la barra y elegimos Añadir al panel, en la lista que nos sale elegiremos Monitor de sensores. Veremos que en la barra nos han aparecido los iconos con diferentes temperaturas.

Si situamos el ratón sobre ellos y pulsamos botón derecho y preferencias, podremos configurar a nuestro gusto estos sensores y las alarmas.

Pulsando en el tabulador Sensores, podemos elegir que sensores queremos mostrar y cuales no. Si hemos instalado la aplicación hddtemp veremos que también disponemos de la temperatura de los discos.

Seleccionando un sensor y pulsando sobre el botón propiedades, podemos configurar cada sensor, en este apartado podría ser útil activar la opción de Activar alarma, que nos permite reproducir un sonido cuando la temperatura sobrepase los limites establecidos en la sección sensors limits.

Para ello definiremos el tiempo en segundos que esperaremos para repetir la alarma y el archivo de audio que reproduciremos cuando el sensor sobrepase o no llegue a los limites establecidos, en este punto puede que más de uno no sepa como introducir el audio, un ejemplo podría ser este.

play /home/banyut/Musica/alarm.mp3

Hasta aquí se ha descrito la utilización básica de la utilidad sensors, como siempre las opciones son muchas y las podemos ver.

man sensors

Esto es todo por hoy.

- - -

La inteligencia me persigue, pero yo soy más rápido.

wget

por banyut
martes, 19 de agosto del 2008 a las 23:54
guardado en

Es una herramienta (para mi la mejor que existe) que permite la descarga no interactiva de contenidos desde servidores HTTP, HTTPS y FTP. Traducido al cristiano, permite descargarse webs enteras, archivos individuales, etc.

Entre sus características tenemos:

  • Soporte para proxies.

  • Descarga recursiva.

  • En caso de que este disponible, hace uso de conexiones persistentes

  • Soporta Ipv6, SSL/TLS.

  • Archivos más grandes de 2Gb en sistemas de 32 bits.

  • Regulación de la velocidad de descarga.

La síntesis del comando es la siguiente.

wget [opciones] ... [URL] ...

Si las opciones no necesitan agrumentos se pueden poner juntas

wget -drc <url> es igual a wget -d -r -c <url>

Todas las opciones tiene dos formas, una corta y una larga, nosotros usaremos la corta, así entre otras tenemos.

-V o –version : Muestra la versión de wget.

-h o –help : Mensage de ayuda describiendo las opciones.

-b o –background: Iniciar en segundo plano.

No explicaré todas las opciones de este comando, pues son muchísimas, para poder verlas solo tenéis que ejecutar el ya conocido man.

man wget

La mejor forma de ver como funciona esta herramienta es mediante ejemplos.

En su forma más simple nos permite bajar un archivo.

wget http://cv.uoc.es/cdocent/0ICE46FXIL2SZE7X8X1J.pdf

o varios

wget http://cv.uoc.es/cdocent/8X1J.pdf http://cv.uoc.es/cdocent/8X2J.pdf

Utilizar patrones.

wget http://cv.uoc.es/cdocent/*.pdf

Si la lista de ficheros a descargar es muy extensa, podemos simplificar la cosa utilizando un archivo de texto, en el que pondremos la dirección de cada archivo a descargar en una nueva linea, y llamar al programa de la siguiente manera.

wget -i links.txt

Otra opción muy interesante es la que nos permite continuar una descarga que ha sido interrumpida.

wget -c http://static.obolog.com/multimedia/blogs/banyut.jpg

Si hiciera falta usuario y password tenemos las opciones --ftp-user y --ftp-password o --http-user y --http-password según sea el protocolo de descarga.

wget --http-user=root --http-password=mi_pas http://www.servidor.com/file.zip

Si lo que queremos es bajarnos toda un sitio web, tendremos que usar la opción que nos da la recursividad en la descarga.

wget -r http://www.pagina.org

Esto no descarga el sitio completo, para ello tenemos que usar la opcion -p que indica a wget que tiene que bajar las imagenes, javascripts, etc. necesarios para desplegar la pagina.

wget -rp http://www.pagina.org

Ahora ampliaremos el caso de los patrones, una posibilidad interesante es bajarse todos los archivos de una determinada extensión, imaginemos que queremos descargar todas las imágenes de una web. Las opciones -nc es para que no descargue lo que ya esta bajado y -np para que la recursividad solo sea hacia los hijos, no hacia el padre.

wget -r -A=”jpg”,”JPG”,”gif”,”GIF” -nc -np http://www.pagina.com/dir

El mismo formato que -A tiene la opción -R, pero esta hace todo lo contrario, con ella marcamos las extensiones a excluir en la descarga, así si en el ejemplo anterior substituimos la -A por la -R, descargaremos todo los archivos menos los que tengan la extensión indicada.

La recursión puede llegar a ser un problema, por lo que disponemos de la opción -l que indica el número máximo de niveles de recursión, en el siguiente ejemplo hasta cuatro niveles (el valor por defecto es 5).

wget -r -l4 http://www.pagina.org

Para obtener una copia exacta del sitio, el programa pone a nuestra disposición la opción -m, esta opción es equivalente a todas las siguientes juntas:

  • -r : Recursividad

  • -N : Descargar solo archivos más nuevos que los locales

  • -l inf : nivel infinito de recursividad.

  • --no-remove--listing. :en FTP no borrar los archivos '.listing'

wget -m http://www.pagina.org

El siguiente problema que nos podemos encontrar al descargar un sitio web a nuestro disco local, son con los links, estos suelen apuntar al antiguo dominio, con la opción -k, wget descargará el sitio web y al finalizar convertirá todos los links en enlaces locales. También es útil adjuntar la opción -E, que convertirá todas los archivos a .html.

wget -rkE http://www.pagina.org

Demosle otra vuelta de tuerca, usaremos -H que nos permitirá que la recursión nos lleve hasta enlaces externos (si un enlace apunta a otro sitio, este también lo descarga). Esta opción puede resultar interminable, ya que descargará todo sitio al que apunte la URL que le hemos pasado. El resto de opciones utilizadas ya la hemos visto anteriormente.

wget -Hr -l inf -k -E -p http://www.servidor.html

Con todo lo que hemos visto hasta ahora tenemos más que suficiente para cubrir el 90% de nuestras necesidades, las siguientes opciones las considero un poco más avanzadas y que servirán para ajustar hasta limites insospechados nuestras descargas.

Opciones avanzadas.

Podemos hacer que la salida por consola sea desviada a un archivo utilizaremos la opción -o. Si sustituimos la opción -o por -a, la salida se añadira al final del archivo indicado.

wget -rkE -o salida.txt http://www.pagina.org

Por defecto wget realiza 20 reintentos cuando una conexión es rechazada o no encontrada (errores del tipo 404), con la opción -t podemos modificar este comportamiento. En nuestro ejemplo lo podremos a 5. Si queremos que insista hasta conseguir la conexión, le daremos un valor de 0 o inf

wget -rkE -t5

Podemos aparentar que la petición la realizamos con un navegador determinado.

wget –user-agent=Opera http://www.pagina.org/fich.iso

Otras opciones son:

  • -d : muestra mucha más información del proceso.

  • -q: modo silencioso, no muestra nada en consola.

  • -nv: desactiva la salida detallada

  • -S: muestra la respuesta del servidor.

  • -Y: activa el proxy

  • -nc: salta las descargas que ya se han realizado.

  • -random-wait: espera entre 0 y 2*wait shttp://www.pagina.orgegundos entre reintentos.

  • -T secons: segundos para terminar una conexión.

  • -w secons: tiempo de espera despúes de cada intento de descarga fallida.

  • -b: El proceso se ejecuta en segundo plano.

  • -erobots=off: ignora los archivos robots.txt

Master oficial de Sotfware libre

por banyut
sábado, 09 de agosto del 2008 a las 02:19
guardado en

Hoy me he llevado una grata sorpresa, la UOC (Universitat Oberta de Catalunya) imparte el Máster oficial de Software libre, hasta aquí nada anormal si no fuera porque esta ha liberado todos sus materiales didácticos.

El Máster oficial de Software libre ha liberado todos sus materiales didácticos.

Profesores, estudiantes y lectores en general pueden consultar los materiales de las asignaturas de este programa a través del espacio OpenCourseWare de la Universidad.

Estos materiales se publican con la licencia libre GNU Free Documentation License (GFDL) que garantiza no sólo su acceso sin restricciones, sino también los derechos de copia, modificación, distribución y publicación de nuevas versiones. Por lo tanto, este máster garantiza, para sus contenidos, exactamente los mismos derechos que tienen los usuarios del software libre sobre las aplicaciones.

El material que ofrecen es una pasada, mirar el índice de cursos. Siguiendo los links podreis acceder a ellos.

  1. M2101 - Introducción al software libre, Febrero 2008
  2. M2102 - Sistema operativo GNU/Linux básico, Febrero 2008
  3. M2103 - Administración avanzada del sistema operativo GNU/Linux, Septiembre 2007
  4. M2104 - Implantación de sistemas de software libre, Febrero 2005
  5. M2105 - Redes de computadores, Marzo 2004
  6. M2106 - Ampliación de redes de computadores, Febrero 2008
  7. M2107 - Aspectos avanzados de seguridad en redes, Febrero 2007
  8. M2108 - Desarrollo de aplicaciones web, Marzo 2004
  9. M2109 - Bases de datos, Febrero 2007
  10. M2110 - Introducción al desarrollo de software, Marzo 2004
  11. M2111 - Conceptos avanzados en desarrollo de software libre, Febrero 2007
  12. M2112 - Ingeniería del software en entornos del software libre, Febrero 2007
  13. M2113 - Utilidades y herramientas de software libre, Septiembre 2007
  14. M2114 - Aspectos legales y de explotación del software libre, Febrero 2007

No es corriente que una facultad distribuya libremente su material didáctico. Creo que la UOC ha mostrado un grado admirable de humildad y coherencia al aportar este material a la comunidad, espero que sea un ejemplo a seguir por el resto de universidades.

Aquí tenéis el link a su página principal Y este otro os llevará a la página del Master

 

Python: Las Listas

por banyut
sábado, 02 de agosto del 2008 a las 20:29
guardado en

Son la esencia de python, las podríamos definir como una secuencia ordenada de elementos encerrados entre corchetes y separados por comas.

>>> Lista = ["a", "b", "alfa", "beta", "3"]
>>> Lista
['a', 'b', 'alfa', 'beta', '3']

Tenemos una lista de 5 elementos, podemos referenciar un elemento en concreto de la lista.

>>> Lista[0]
'a'
>>>Lista[1]
'b'
>>>Lista[4]
'3'

Referirnos a cada elemento individual de la lista mediante su posición dentro de ella, así el primer elemento de una lista (no vacía) lo tendremos siempre en la posición 0, el segundo en la 1, etc. Como es nuestro caso en una lista de cinco elementos, estos estarán referenciados del 0 al 4.

También podemos usar índices negativos para acceder a sus elementos. Si el índice es negativo, este empieza a contar a partir del último elemento. En nuestro ejemplo los elementos irán de -1 a -5, donde -1 nos da el último elemento de la lista y -5 el primero.

>>>Lista[-1]
'3'
>>>Lista[-4]
'b'
>>>Lista[-5]
'a'

Para saber cuantos elementos hay en una lista disponemos de la función len

>>>len(Lista)
5

Los elementos no son inmutables, por lo que podemos cambiar el valor de los elementos.

>>> la=[1, 2, 3, 4, 5]
>>> la
[1, 2, 3, 4, 5]
>>> la[2] = la[1] + la[3] + 5
>>> la
[1, 2, 11, 4, 5]

Podemos obtener un subconjunto de elementos de una lista especificando dos índices (inicio y fin) slicing, el resultado será una nueva lista que contendrá los elementos que se encuentren en el rango de los índices.

>>>Lista[2:4]
['alfa', 'beta']

Obtenemos una nueva lista con los elementos del rango especificado. El rango va desde el elemento 2 (primer índice) hasta el elemento 3 (segundo índice -1). Como observareis el primer índice si que se incluye en el rango pero el segundo se queda fuera [2:4) por lo que solo obtenemos los elementos 2 y 3.

>>>Lista[2:2]
[]
>>>Lista[2:3]
['alfa']

aquí también podemos usar los índices negativos.

>>> Lista[2:-1]
['alfa', 'beta']

>>> Lista[-3:-1]
['alfa', 'beta']

Obtendremos los dos primeros elementos de la lista.

>>> Lista[0:2]
['a', 'b']

Extraemos el primer elemento de la lista.

>>> Lista[1:5]
['b', 'alfa', 'beta', '3']

Veamos otra forma de realizar esto. (slice assignament)

>>> # dos primeros elementos
... Lista[:2]
['a', 'b']
>>> # todos menos el primero
... Lista[1:]
['b', 'alfa', 'beta', '3']
>>> # toda la lista
... Lista[:]
['a', 'b', 'alfa', 'beta', '3']

Las listas son dinámicas por lo que podemos introducir nuevos elementos en ellas append.

>>> Lista.append("nou")
>>> Lista
['a', 'b', 'alfa', 'beta', '3', 'nou']

append, añade un único elemento al final de la lista, también podemos insertarlo en una posición en concreto insert.

>>> Lista.insert(3,"insert")
>>> Lista
['a', 'b', 'alfa', 'insert', 'beta', '3', 'nou']

Tenemos esta otra forma de añadir uno o mas elementos

>>> la=[1,2,3,4,5]
>>> la[2:2]=['a', 'b']
>>> la
[1, 2, 'a', 'b', 3, 4, 5]

Podemos añadir los elementos de otra lista concatenar (extend).

>>> Lista.extend(['1','2'])
>>> Lista
['a', 'b', 'alfa', 'insert', 'beta', '3', 'nou', '1', '2']

En este último ejemplo tenemos que pararnos a reflexionar un poco, fijaros que lo que hemos hecho ha sido introducir en nuestra lista los elementos que contenía una segunda lista, si queréis ver lo que quiero decir probar a ejecutar la siguiente instrucción.

>>> len(Lista)
9
>>> Lista.append(['1','2'])
>>> Lista
['a', 'b', 'alfa', 'insert', 'beta', '3', 'nou', '1', '2', ['1', '2']]
>>> len(Lista)
10

Fijaros que lo que hemos hecho ha sido añadir un único elemento (de tipo lista) a la lista. Ahora hemos abierto un nuevo frente, todos los elementos de nuestra lista eran del mismo tipo, con la última instrucción hemos añadido un elemento de tipo lista, esto es posible ya que las listas en python pueden contener elementos de diferentes tipos.

>>> Lista=[1, 'a', ['juan', 'pepe'], 'a']
>>> Lista
[1, 'a', ['juan', 'pepe'], 'a']
>>> len(Lista)
4

Es posible el anidamiento.

>>> l1 = [1, 3, 5]
>>> l2 = ['a', 'b', l1, 'c']
>>> len(l2)
4
>>> l2
['a', 'b', [1, 3, 5], 'c']
>>> l2[2][1]
3
>>> l2[2].append(7)
>>> l2
['a', 'b', [1, 3, 5, 7], 'c']
>>> l1
[1, 3, 5, 7]

Fijaros que en la segunda linea, el tercer elemento es una lista, y fijaros que l2[2] se refiere a l1, tal vez sea un poco complicado si no estáis muy duchos, pero creo que vale la pena que perdáis un poco el tiempo en observarlo y comprenderlo.

Podemos borrar un elemento de la Lista (remove).

>>> Lista
[1, 'a', ['juan', 'pepe'], 'a']
>>> Lista.remove('a')
>>> Lista
[1, ['juan', 'pepe'], 'a']

Igual que en la búsqueda, elimina la primera aparición del elemento y si no lo encuentra nos lanzara una excepción.

También podemos borrar un elemento por su índice (del).

>>> del Lista[1]
>>> Lista
[1, 'a']

otra forma para borrar uno o varios elementos es la siguiente. (eliminamos los dos primeros elementos)

>>> la = [1, 2, 11, 4, 5]
>>> la
[1, 2, 11, 4, 5]
>>> la[0:2]=[]
>>> la
[11, 4, 5]

Y por último tenemos pop, que nos permite borrar el último elemento de la Lista como si de una cola se tratara. Esta función nos devuelve el último elemento de la lista y lo borra de ella.

>>> Lista
[1, 'a']
>>> Lista.pop()
'a'
>>> Lista
[1]

Si a la función pop se le añade un índice, nos mostrará y eliminará de la lista el elemento apuntado por el índice.

>>> lst = range(10)
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst.pop(3)
3
>>> lst
[0, 1, 2, 4, 5, 6, 7, 8, 9]

Hasta ahora nos hemos referido a los elementos a partir de su índice, las listas nos permiten hacer la operación inversa, la función index a la que pasado un elemento, nos devuelve su índice.

>>> Lista.index(1)
0
>>> Lista.index(['juan', 'pepe'])
2
>>> Lista.index('a')
1
>>> Lista.index('aa')
Traceback (most recent call last):
File "", line 1, in
ValueError: list.index(x): x not in list

Como podéis ver, nos devuelve el índice del primer elemento que coincida, el elemento 'a' lo tenemos en 1 y en 3. Si hacemos una búsqueda de un elemento que no existe, como es en el último caso, el programa nos devolverá una excepción.

Podemos evitar el error anterior si antes de hacer la búsqueda nos aseguramos que el elemento exista, esto lo hacemos mediante in que nos devolverá True o False dependiendo si el elemento existe o no.

>>> 'aa' in Lista
False
>>> 1 in Lista
True

Los valores booleanos True y False, se incorporaron a python a partir de la versión 2.2.1, hasta entonces se establecían una serie de reglas que determinaban cuando algo era cierto o verdadero.

  • Cero es falso; el resto de los números son verdaderos.
  • Una cadena vacía ("") es falso, cualquier otra cadena es verdadera.
  • Una lista vacía ([]) es falso; el resto de las listas son verdaderas.
  • Una tupla vacía (()) es falso; el resto de las tuplas son verdaderas.
  • Un diccionario vacío ({}) es falso; todos los otros diccionarios son verdaderos.

Esto se sigue manteniendo la diferencia es que ahora disponemos de True (1) y False (0).

También nos puede ayudar la función count que nos dirá el número de veces que aparece un elemento en una lista.

>>> lst = [1, 2, 3, 1, 3, 5, 3, 6, 3]
>>> lst.count(1)
2
>>> lst.count(3)
4
>>> lst.count(6)
1
>>> lst.count(11)
0

Operadores
Podemos concatenar dos listas. +

>>> l1 = [1, 2, 3, 4]
>>> l2 = ['a', 'b', 'c', 'd']
>>> l1 + l2
[1, 2, 3, 4, 'a', 'b', 'c', 'd']
>>> l2 + l1
['a', 'b', 'c', 'd', 1, 2, 3, 4]
>>> l1 + l1
[1, 2, 3, 4, 1, 2, 3, 4]
>>> l1 += l2
>>> l1
[1, 2, 3, 4, 'a', 'b', 'c', 'd']
>>> l2
['a', 'b', 'c', 'd']

El comportamiento de la suma es muy parecido al de extend, la diferencia esta en que la suma devuelve una nueva lista.

Con un poco de imaginación podemos modificar este comportamiento.

>>> la = range(1,5)
>>> la
[1, 2, 3, 4]
>>> la += [5]
>>> la
[1, 2, 3, 4, 5]

Podemos disponer de un multiplicador *

>>> l1=[1, 2]
>>> l1
[1, 2]
>>> l1 * 3
[1, 2, 1, 2, 1, 2]
>>> l1
[1, 2]
>>> l1 = l1 * 2
>>> l1
[1, 2, 1, 2]
>>> l1 *= 2
>>> l1
[1, 2, 1, 2, 1, 2, 1, 2]

El operador * hace de repetidor, concatenando la lista tantas veces como se indique.

La función sort, nos permite ordenar los elementos de una lista.

l1 = [3, 5, 1, 3, 4]
>>> l1.sort()
>>> l1
[1, 3, 3, 4, 5]

La función reverse, invierte los elementos de la lista

>>> l1 = [1, 2, 3, 4, 5]
>>> l1.reverse()
>>> l1
[5, 4, 3, 2, 1]

Otra función que puede resultar útil es list, que permite convertir un string en una lista.

>>> [1, 2] + list("34")
[1, 2, '3', '4']

Algo parecido podemos obtener con split. Que nos devuelve una lista con todas las palabras de una cadena de texto.

>>> nom = "Pedro Ruiz Mayoral"
>>> nom.split()
['Pedro', 'Ruiz', 'Mayoral']

Y como no la funcion inversa join, que os convierte una lista en una cadena de texto.

>>> l = ['Pedro', 'Ruiz', 'Mayoral']
>>> l
['Pedro', 'Ruiz', 'Mayoral']
>>> ' '.join(l)
'Pedro Ruiz Mayoral'
>>> '<->'.join(l)
'Pedro<->Ruiz<->Mayoral'

Podemos comparar dos listas.

>>> [1, 2, 3] == [1, 2, 3]
True
>>> [1, 2, 3] == [1, 3, 2]
False
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> c = a
>>> a == b
True
>>> c == b
True

>>> [1, 2, 3] < [1, 2, 3]
False
>>> [1, 2, 3] <= [1, 2, 3]
True
>>> [1, 2, 3] > [1, 2, 3]
False
>>> [1, 2, 3] > [1, 1, 2]
True
>>> [1, 2, 3] < [1, 1, 2]
False
>>> [1, 2, 3] < [1, 3, 2]
True

y por ultimo una interacción por la lista con for

>>> li = range(9)
>>> for x in li:
... print x*2
...
0
2
4
6
8
10
12
14
16

un ejemplo más útil, podría ser este.

>>> pagos = [['gasolina', 30], ['cena', 20], ['libros', 12]]
>>> total = 0
>>> for pago in pagos:
... total += pago[1]
...
>>> total
62

Bueno, esto es todo por hoy. Pensar que solo hemos visto la punta del iceberg, la verdadera potencia de las listas la veremos más adelante, pero antes tenemos que terminar de fijar nuestra base en python.

- - -
Abre tu mente 1 + 1 = 10 , no siempre es 2.

Sobre el blog

yo soy porque nosostros somos

Una de las cosas que eche de menos cuando empecé a usar linux, fue como ponerlo a punto, si bien la instalación me resultó sencilla, no fue así con su uso posterior y puesta a punto.

Tenia claro porque me había pasado a linux, por ideologia. Yo no puedo decir nada malo de windows, lo he acompañado prácticamente desde su nacimiento, instalando y probado todas sus versiones, y ninguna de ellas me ha dado más problemas de los que me da ubuntu.

He de reconocer que si solo trabajamos con consola no hay comparación, linux supera en todos los aspectos a windows, ahora en el momento en que entramos en modo gráfico, los dos fallan por igual.

Uno de los factores clave para que la peregrinación hacia ubuntu sea lo menos traumática posible, es mentalizarnos que si bien haremos lo mismo, no con los mismos programas. Aunque se pueda, no tiene sentido, quizás con alguna excepción, pasarme a linux y querer usar internet explorer, word, excel, etc.

Todos estos programas tienen sus homólogos en ubuntu, que podremos instalar en la mayoría de los casos de manera gratuita (yo solo busco soluciones libres y gratuitas) y sin perder ninguna funcionalidad. Este es el primer problema de cara al recién llegado, conocer que programas ha de usar en cada caso.

Ubuntu 9.04 - on desktops, netbooks, servers and in the cloud

Ver ficha del blog en OboLog

Login

Comentarios

Restaurar el audio en UBUNTU (Alejandro)
Al 50% del compilador me arroja el error de nuevo alguien sabe xq? o tendra alguna solucion??? ......(15 nov)
Importar en openoffice write y calc (R. A.)
Sigo sin resolver un problemita: ¿Puedo o no puedo importar una tabla en Write a Calc?  Microsoft ......(12 nov)
Restaurar el audio en UBUNTU (skater)
muchas gracias! me ayudaste aun no funcionan mis auriculares pero me funciona el sonido con mis ......(12 nov)
Traducción offline con STARDIC (mserra)
Muchísimas gracias, lo echaba de menos....(07 nov)
Python: Variables y asignaciones. (fernando)
Hola, ¿No hay un comando en el interprete de python que muestre las variables que se han definido a ......(06 nov)

Más comentados

Restaurar el audio en UBUNTU (24)
Hay veces que sin saber que es lo que hacemos exactamente, nos cargamos el audio del sistema, no se ...
Convertir Ubuntu Hardy en un Mac OSX Leopard (21)
Para transformar la versión Intrepid Ibex, tenes este otro link. He encontrado un Post en el que de ...
Convertir Ubuntu Intrepid en un Mac (Mac4Lin) (17)
En su día ya vimos un manual de como convertir Hardy en un mac, esta vez lo haremos para Intrepid, ...
Python: Las Listas (16)
Son la esencia de python, las podríamos definir como una secuencia ordenada de elementos encerrados ...
Copias de seguridad en UBUNTU (crontab, rsync, dd) (13)
Hoy abordaremos el tema de las copias de seguridad. El objetivo es montar dos tipos de copias, por ...

Suscripción

Suscríbete al Feed RSS XML

También puedes suscribirte directamente con alguno de los siguientes enlaces:

  • Suscríbete en Bloglines
  • Suscríbete en Google