sábado, 12 de enero de 2008

Solucionar errores en la source.list

Fuente: LaConsola

Descripción
La lista de recursos de paquetes para APT (sources.list) se usa para localizar ficheros del sistema de distribución de paquetes con los que opera el sistema. En la página de manual (manpage) se documenta el sistema de paquetes usado por Debian GNU/Linux y las distribuciones basadas en Debian como es el caso de Ubuntu y su familia. Este fichero de control está situado en el directorio: /etc/apt/

Es una lista de procedencias diseñada para soportar cualquier número y distintos tipos de procedencias. El fichero lista una procedencia por línea, con la procedencia de mayor prioridad en la primera línea. El formato de cada línea es: tipo, uri, argumentos. El primer elemento, tipo, determina el formato de argumentos. uri es Universal Resource Identifier (Identificador Universal de Recursos), un caso general de la más especifica y bien conocida Universal Resource Locator, o URL. El resto de la línea puede marcarse como comentario usando #.

Los tipos DEB y DEB-SRC
El tipo deb hace referencia a un típico archivo de Debian de dos niveles, distribución/componente. Normalmente distribución es stable, testing, o unstable, mientras que componente es main, contrib, non-free, o non-us. El tipo deb-src hace referencia al código fuente de la distribución con la misma sintaxis que el tipo deb. Es necesaria una línea deb-src para descargar un índice de los paquetes que tienen código fuente disponible.

El formato para una entrada en el fichero sources.list usando los tipos deb y deb-src es:

deb uri distribución [componente1] [componente2] [...]

La URI para el tipo deb debe de especificar la base de la distribución de Debian, donde APT encontrará la información que necesita.

Debido a que sólo se puede especificar una distribución por línea es posible que sea necesario tener múltiples líneas para la misma URI si deseamos tener accesibles más de una distribución o componente de ese sitio.

Algunos ejemplos:

deb http://security.ubuntu.com/ubuntu/ gutsy-security universe main multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-updates universe main multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy main universe multiverse

deb http://apt.emesene.org/ ./
deb-src http://apt.emesene.org/ ./

Errores en sources.list

Son muy frecuentes los errores de puntuación y/o sintaxis sobre todo por los novatos, estos errores son interpretados por el sistema como una dirección URI o archivos inexistentes. Al detectar cualquier error, el sistema pone un candado (en la práctica modifica los permisos) y por seguridad no permite instalar o desinstalar (poner o quitar) paquetes o programas hasta solucionar el problema.

Tres formas para corregir el problema

Primera.- Se debe editar el sources.list desde un terminal ya sea en modo gráfico,
Comúnmente “consola”. Acceso desde: panel -> Aplicaciones -> Accesorios -> Terminal

o en modo texto,
Comúnmente “terminal”. Acceso con la combinación de teclas: Ctrl + Alt + F1 (de F1 a F6)
Para salir: Ctrl + Alt + F7),

ambas requieren de un editor de texto plano como lo son gedit, nano, vi, etc. Dicha edición deberá ser en modo “root”, es decir como administrador del sistema, por seguridad a los usuarios no se les permite acceso para escritura en los directorios de sistema. Desde luego quien es propietario de una maquina, se convierte en usuario y administrador, en este caso, la alternativa por seguridad es el comando “sudo” en sustitución de root como se puede apreciar en la siguiente línea, con la cual iniciamos el trabajo de recuperación de nuestro sources.list:

sudo gedit /etc/apt/sources.list

Cuando lo tengamos en pantalla, debemos estar conscientes que el error ha sido nuestro y no del sistema, por lo tanto, hemos de buscar las líneas que introdujimos y chequear que esta sean correctas, al hacerlo vamos a menú -> Archivo -> Guardar

Lo anterior nos dejará en consola nuevamente, ahora hacemos lo siguiente para validar los datos:

sudo apt-get update

Segunda.- Cuando tenemos acceso a Internet.- Respaldamos el actual sources.list para analizar posteriormente lo que hicimos mal, desde consola respaldamos y al mismo tiempo estaremos desechando el error con el actual sources.list:

sudo mv /etc/apt/sources.list /etc/apt/sources.list.error

a) Abrimos desde el panel -> Sistema -> Preferencias -> Orígenes del software,
- Desactivamos las opciones dentro de las pestañas: Software Ubuntu,
Software de otros proveedores y Actualizaciones,
- Hacemos click sobre el botón cerrar.

b) Nuevamente abrimos desde el panel -> Sistema -> Preferencias -> Orígenes del software,
- En las pestañas Software Ubuntu activamos las 4 primeras, en Actualizaciones las 2 primeras y la última, finalmente activamos cada cuando se harán las actualizaciones,
- Hacemos click sobre el botón cerrar, al hacerlo inmediatamente y en automático, el sistema generará un sources.list nuevo.

Tercera.- Si no contamos con acceso a Internet.- Procedemos de manera idéntica a la Segunda forma, con sus incisos a) y b) excepto por la última línea del inciso b), a cambio, hacemos lo siguiente:

Introducimos en el cdrom, el disco LiveCD de nuestra distribución y versión instalada, en la pestaña Software Ubuntu, hacemos click sobre la última línea de texto y luego click en el botón cerrar, al hacerlo inmediatamente y en automático, el sistema generará un sources.list nuevo.

Finalmente no olvidar que hemos guardado una copia del sources.list.error, para analizarlo y hacer anotaciones, luego lo guardamos para tener una referencia:

sudo gedit /etc/apt/sources.list.error

¡Listo! ya podemos instalar o desinstalar.

10 reglas simples para los estudiantes

Fuente: GOLEMBlog

Una de las revistas de acceso libre de la Public Library of Science es PLoS Computational Biology. Aparte de su temática, mantiene una colección de artículos que titula "Ten Simple Rules" (10SR) y que puede descargarse en formato pdf. Actualmente hay 9 grupos de reglas, algunas más interesantes que otras. Empecé a traducir las 10SR para estudiantes graduados, pero ví que tomaban vida propia por lo que finalmente he decidido ponerles aquí unas cuantas de mi propia cosecha y que me gustaría que los estudiantes que se plantean entrar en la universidad leyeran.

Regla 1: la vocación es la fuerza que debe guiar tu carrera universitaria. Es un regla que en este país sonará extraña, casi ingenua, merecedora de miradas condescendientes en el mejor caso, despreciativas en otros. Vocación es una palabra en peligro de extinción, acorralada por la convicción de que el éxito viene de ganar lo más posible con el mínimo esfuerzo. Si tienes esta convicción te aviso de que la universidad no es el mejor camino. Mi consejo es que si no tienes vocación no vayas a la universidad, es una pérdida de tiempo y una frustración segura.

Regla 2: el pensamiento independiente es la característica de buen científico. Es imprescindible que, progresivamente, el universitario desarrolle un pensamiento creativo y personal y se resista a acomodarse a los tópicos de moda. Siempre se trata de un equilibrio entre el respeto al trabajo previo de los demás (aquello de ir a hombros de gigantes) y su cuestionamiento constante. Un compromiso entre la modestia de aceptar enseñanzas ajenas y el desafío de poner tus ideas en primera línea. Ambas cosas son necesarias porque sino acabaremos siendo serviles y grises o, en el extremo contrario, cranks.

Regla 3: debes ser un profesional desde el principio. Y eso se refiere a la planificación de tu trabajo como estudiante, de tu tiempo, de tu ocio, de tu descanso. Nada impide hacer de todo pero el equilibrio eficaz es difícil de alcanzar y exige madurez y decisión. Si tienes vocación (si no, no sé que haces aquí) conviértete en un profesional ya, desde el comienzo.

Regla 4: la formación es esencial para tu carrera: prepara tu mente. La buena suerte puede ser importante ocasionalmente pero un buen investigador se forma, sobre todo, trabajando: leyendo, hablando con los demás, asistiendo a conferencias y preguntando, asistiendo a congresos y preguntando, volviendo a leer. Particularmente recomiendo leer de todo, no sólo de tu especialidad; un biólogo debe leer de historia, de arqueología, de astronomía... incluso de biología. Y los demás también.

Regla 5: tu objetivo es ser bueno, muy bueno. Una frase apócrifa (cómo no, atribuida a Einstein) dice algo así como que la investigación es un 10% de inspiración y un 90% de transpiración. Esta regla tiene una premisa: acostúmbrate a trabajar duro y con eficacia. Lo primero es cuestión de voluntad, lo segundo viene con la experiencia. Procura que sea más pronto que tarde.

Regla 6: estudia tu entorno y planifica. Ojalá hubieras elegido la universidad analizando la mejor opción pero en cualquier caso encontrarás profesores de todo tipo, desde los muy buenos a los desastrosos. Entérate de quienes son y busca oportunidades para ampliar tu experiencia con los mejores. Los malos son inevitables y molestos (todos los hemos sufrido) pero eso sólo es un anticipo de lo que te va a pasar también en tu vida profesional: sé hábil y analiza como superar esos obstáculos sin perder de vista que tu objetivo es aprender.

Regla 7: sal de tu pueblo. Estudiar cerca de casa es cómodo pero puede no ser lo mejor, al menos de forma continuada. Haz estancias, vete a otros países y verás diferentes formas de hacer las cosas, algo necesario para que mejores las estrategias de tu propia forma de trabajar.

Regla 8: inglés, inglés e inglés. Es el idioma de la ciencia y de la tecnología y te permitirá, además de viajar enterándote de las cosas, seguir las clases que el Massachusetts Institute of Technology o universidades de prestigio están poniendo en internet. Con toda seguridad tendrás que ir a clase en la escuela de idiomas o similares: vete, no lo dudes.

Regla 9: la modestia no es un tributo necesariamente bueno. De nuevo es un equilibrio difícil porque, por un lado, los buenos científicos que conozco no son modestos sino que tienen una seguridad en sí mismos bastante llamativa. Pero por otro saben asumir el no tener razón. Debes asumir que tu hìpótesis es buena y defenderla pero también debes saber abandonarla inmediatamente si se demuestra falsa.

Regla 10: busca retos, no te dejes anular por la mediocridad. Tanto en el estudio como en la investigación la rutina es enemiga de la lucidez. Además tenemos poco tiempo ¿por qué aburrirse quedando tantas cosas por saber?

¿Por qué programar en Python?

Fuente: MundoGeek

Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea sencillo, muy rápido y lo que es más importante, divertido.

La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de los mejores lenguajes para comenzar a programar.

Python no es adecuado sin embargo para la programación de bajo nivel o para aplicaciones en las que el rendimiento sea crítico.

Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Ligh & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles.

Además Python ha sido nombrado lenguaje del año según el popular índice TIOBE:

Python ha sido declarado el lenguaje de programación de 2007. Fue una final ajustada, pero al final Python ha conseguido el mayor incremento durante el pasado año (2,04%). No hay una razón clara que justifique el por qué del gigantesco avance de Python en 2007. El pasado mes Python superó a Perl por primera vez en la historia, lo que es un indicador de que Python se ha convertido en el lenguaje de "de facto" para hacer de pegamento a nivel de sistema. Es especialmente querido por los administradores de sistema y build managers. Es probable que Python brille aún con más fuerza en 2008, debido a la próxima liberación de Python 3.

Hace tiempo os preguntaba cuál pensabais que sería el lenguaje de programación más popular en 2012, y un 9% pensabais que sería Python.