Categorías
Ubuntu

Ubuntu App Developer Week, comienza la fiesta

Samsung S2 Michael Jackson

Esta semana puede que sea la mejor para ti ya que ha comenzado Ubuntu App Developer Week que nos traerá multitud de conferencias dedicadas a fomentar Ubuntu. Resaltar que todo el evento es en inglés por lo que habrá algunos que no se enteren nada, aunque no debe preocuparse ya que intentaremos traeros lo mejor de todo el acontecimiento.

Si quieres seguirlas por ti mism@ solo tienes que ir a la web del evento y encontrarás toda la información necesaria como por ejemplo el horario desde el día 27 de septiembre hasta el 1 de octubre, el canal IRC ((#ubuntu-classroom) o Lernid, un software que nos facilitará la tarea disponible en la propia página oficial del evento App Developer Week.

Un evento que tan solo 5 días nos hace aprender de forma totalmente gratuita lo que es el software libre y además motiva a los usuarios a usarlo haciéndoles conocer las posibilidades que pueden llegar a tener con distros Linux.

 

UnderPC.com

Categorías
Sistemas

Sustituyendo wget por axel

Dada mi naturaleza desconfiada hacia los aceleradores de descargas, hice una prueba de funcionamiento, comprobando que se ahorraba el 50% de tiempo.

Para ello lo primero instalé axel:

sudo apt-get install axel

Lo siguiente subí un archivo de unos 12 Mb a mi carpeta publica de Dropbox, asegurándome de esta manera un archivo imparcial a descargar, y que tampoco estuviera dos horas para hacer una demostración gráfica.

Para medir el tiempo empleado por cada uno empleé “time”:

  • wget
time wget http://dl.dropbox.com/u/442870/catalogo.pdf

Terminal_034
Resultado 1 minuto 0.954 segundos

  • axel
time axel http://dl.dropbox.com/u/442870/catalogo.pdf

Terminal_035

Terminal_036
Total cero minutos 30.707 segundos

Es decir la mitad que con wget, pues esto viene a demostrar la rapidez de axel. Además con la configuración básica, donde axel intenta establecer 4 conexiones con el servidor (lo que depende del servidor, no todos lo permiten)  para descargar el archivo. Además se puede indicar más de una dirección, de manera que axel intentará descargar un trozo de cada dirección.

De los modificadores disponibles destacar dos. El primero “-a”, que permite ver el progreso de la descarga más facimente. El segundo “-n” que nos permite indicar el número de conexiones que queremos que haga.

Sin embargo, no por poner muchas conexiones va más rápido. De echo, de las pruebas que realicé con Dropbox, lo más rápido ha sido con solo 3 conexiones, reduciendo el tiempo de descarga a 17 segundos, no está nada mal.

Terminal_037

 

el Atareao

Categorías
Sistemas

Buenos hábitos al usar la terminal

Es muy recomendable la lectura del artículo original, es verdaderamente interesante:

  1. Crea directorios en una sola línea
  2. Cambia el path y no muevas archivos
  3. Combina los comandos utilizando operadores de control
  4. Usa secuencias de escape con entradas largas
  5. Agrupa tus comandos en una lista

Crea directorios en una sola línea

Este primero es muy útil, en lugar de hacer esta operación:

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

es mucho más cómodo escribir la estructura de directorios de un solo plumazo. Simplemente es necesario utilizar la opción “-p”

~ $ mkdir -p tmp/a/b/c

Otro ejemplo de uso es el siguiente:

mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

Cuando lo he probado, me he quedado fascinado de la potencia de esta opción, simplemente con añadir -p, y en una sola línea de comando.

 

Cambia el path y no muevas archivos

El siguiente buen hábito es similar al anterior, simplemente se trata de utilizar una opción en “tar”, es decir:

en lugar de hacer:

mv newarc.tar.gz tmp/a/b/c/
cd tmp/a/b/c
tar xvf newarc.tar.gz

Simplemente añadiendo -C, tenemos en una sola línea todo el trabajo realizado.

tar xvf -C tmp/a/b/c newarc.tar.gz

 

Combina los comandos utilizando operadores de control

Usa el operador && para combinar dos comandos de forma que el segundo sólo se ejecuta si el primero retorna cero, es decir, si el primer comando se ejecuta correctamente, el segundo también se ejecuta, de lo contrario, el segundo no se ejecutará, por ejemplo:

cd tmp/a/b/c && tar xvf archive.tar

En este ejemplo, el contenido del archibo es extraído a ~/tmp/a/b/c directory siempre y cuando el directorio exista, de no existir no se extrae.

La verdad, es que tienes que pensar un poquito para correr una línea de comando, pero es muy útil.

Otra opción es “||”, es decir, “Or”. En este caso es al revés si, si el primer comando no se ejecuta, entonces se ejecuta el segundo. Por ejemplo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c

En este caso, si no te puedes cambiar al directorio por que no existe, entonces lo creas. Magnífico.

Ahora ya lo combinas todo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar

Es decir: si no te puedes cambiar al directorio lo creas y entonces extraes el archivo. No es fácil, a la primera, pero habrá que practicar. Mira lo que puedes hacer en una solo línea.

 

Usa secuencias de escape con entradas largas

Mira que molesta cuando ves una línea en el terminal que se sale de tu campo de visión del terminal. Bueno, con este hábito, este problema se soluciona, simplemente tienes que utilizar la contrabarra (ella también tiene derecho), por ejemplo:

~ $ cd tmp/a/b/c || 
> mkdir -p tmp/a/b/c &&
> tar xvf -C tmp/a/b/c ~/archive.tar

De esta simple manera queda mucho más despejado y sencillo.

 

Agrupa tus comandos en una lista

Simplemente se trata de agrupar, encerrando entre paréntesis, los comandos que quieres utilizar, de forma que la salida se pueda redirigir a otro comando, como puede ser en el caso del siguiente ejemplo:

$ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && 
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar )
> | mailx admin -S "Archive contents"

En el ejemplo, el contenido del archivo se extrae en el directorio tmp/a/b/c/, de forma que la salida de la agrupación de comandos, incluyendo yna lista de los archivos extraidos es enviada vía email a la dirección del administrador.

El uso de este tipo de agrupaciones es preferible en aquellos casos en los que defines variables en tu lista de comandos y no quieres que se apliquen a todo el shell.

 

Nota:

La verdad es que una vez leído el artículo, no te sale de forma gratuita aplicar este conjunto de “buenos” hábitos, sino que se trata de un ejercicio de práctica, hasta que fluyen sin esfuerzo alguno (frase típica de Karate Kid, o similar). Así que a practicar.

 

el Atareao

Categorías
Actualidad

Mejoran soporte de Direct3D en Linux

Hasta la fecha, el soporte de Direct3D en Linux era limitado: básicamente se trataba de una capa construida sobre OpenGL, el sistema gráfico 3D nativo en Linux, lo que tenía el problema de que cada operación sobre Direct3D necesitaba convertirse en operaciones equivalentes de OpenGL, para recién llegar a los drivers y luego al hardware. Si bien en la práctica esto no significa degradar el rendimiento de una forma notoria, tenía la complejidad de cualquier tipo de traducción de este tipo, en donde no hay una equivalencia uno a uno, lo que significa mantener miles de líneas de código y aplicar un considerable esfuerzo para implementar cada versión del API.

Gallium3D busca la independencia de los distintos actores de un sistema gráfico, estos son las aplicaciones, API’s como OpenGL y Direct3D, Sistemas de Ventanas (X o Windows), drivers y finalmente hardware. En la actualidad todos estos componentes están fuertemente ligados y por ejemplo en Windows prácticamente no hay alternativas viables entre usar OpenGL o Direct3D, y en el caso de Linux lo único garantizado hasta el momento era el soporte de OpenGL.

Con Gallium3D no hay que casarse con ninguna tecnología en particular, y el trabajo de Luca justamente apunta a convertir a Direct3D en una gráfica API nativa en Linux, al mismo nivel de lo que hoy en día es OpenGL. Es más, según los entendidos, el diseño de Direct3D 11 es superior en cuanto a potencia y simplicidad el compararse con OpenGL, lo que significará una alternativa de primer nivel para los desarrolladores de aplicaciones gráficas sobre sistemas no-Windows:

El tercer objetivo es proveer una alternativa para programación gráfica superior a OpenGL en sistemas no-Windows, particularmente en Linux y otros sistemas abiertos. Gracias a un limpio diseño planteado desde cero, las APIs Direct3D 10/11 son superiores a OpenGL y pueden ser soportadas por menos código y tiempo de desarrollo, tal como se puede ver al comparar las lineas de código de esta implementación (Direct3D sobre Linux) respecto a la implementación actual de OpenGL a través de Mesa. Finalmente, una implementación madura de Direct3D 10/11 va a ser intrínsecamente más rápida y confiable que las implementaciones de OpenGL, gracias a un API significativamente más pequeña y la forma en que se divide el trabajo entre el API y las aplicaciones.

En el caso de los drivers de código cerrado de ATI y NVIDIA no se cuenta con acceso directo a las funciones de aceleración sin antes pasar por OpenGL, pero aún así la situación de Gallium3D es muy superior al estado actual de las traducciones ente Direct3D y OpenGL, esto debido a que la implementación de Direct3D sólo depende de Gallium3D y es éste quien usará en forma nativa los servicios del hardware a través de un API basado en OpenGL, sin forzar una traducción entre API’s.

¿Qué significa para los juegos en Linux?

La implementación de Direct3D es una parte del problema, también se encuentra el desafío de tener API’s adecuadas para sonido y manejo de dispositivos de entrada, realidad que ha mejorado bastante en los últimos años. Pero esto es sólo si pensamos en juegos nativos para Linux usando Direct3D, porque en realidad los primeros beneficiados con este avance son las implementaciones del API de Windows en Linux, como es el caso de wine y productos derivados como Cedega.

Tanto wine como sus derivados usan el actual mecanismo de transformación de invocaciones desde Direct3D a OpenGL, y con un gran esfuerzo se había logrado implementar hasta Direct3D 10. Con Gallium3D se podrá optar por usar Direc3D 11 directamente, sin pasar por OpenGL y es cosa de tiempo de que esta alternativa se encuentre disponible para todo el mundo.

 

FayerWayer

Categorías
Debian

El Debian CD Project ya recibe pre-órdenes para «Squeeze»

Debian

El proyecto funciona exclusivamente con donaciones, y tú decides cuánto deseas pagar por los CDs cuando pides los tuyos; todo el dinero recaudado de esta manera va directamente al proyecto Debian. En este momento ya están recibiendo las pre-órdenes para los CDs de Debian GNU/Linux 6.0 «Squeeze» (que muy probablemente sea lanzado antes de fin de año).

Los CDs corresponden a la más reciente versión estable de Debian y sólo están disponibles para las arquitecturas i386 y AMD64, con opciones que incluyen a los escritorios GNOME, KDE, y XFCE/LXDE.

 

VivaLinux!

Categorías
Debian Ubuntu

Saber si tu hardware es compatible con el kernel en Debian/Ubuntu

Pero yendo aún más allá podemos saber si el hardware de nuestro equipo es compatible con el kernel de Linux que es utilizado en cada edición de Debian y/o Ubuntu.

Para hacerlo basta con ingresar en la terminal el comando:

lspci -n

 

Soft-Libre

Categorías
Ubuntu

Ubuntu certifica hardware compatible

Es asi que Canonical ha anunciado que está trabajando activamente junto a fabricantes para garantizar la compatibilidad de los equipos con Ubuntu. Han creado una lista en la que muestran las certificaciones que han expedido según marca y tipo de equipo, bien sea sobremesa, portátil, netbook o servidor.

Según la información oficial, la certificación tiene 3 variantes:

  1. Ubuntu Certified: Si el equipo ha llegado a Canonical y han sido realizadas las pruebas y comprobaciones por parte de su equipo siendo totalmente compatible.
  2. Ubuntu Enabled: Canonical modifica Ubuntu para hacerlo compatible con ese equipo en concreto.
  3. Ubuntu Ready: las pruebas de compatibilidad son realizadas por los fabricantes y los resultados son remitidos a Canonical.

Enlacee | Ubutnu-certificated hardware

 

Soft-Libre

Categorías
Ubuntu

Poner Ubuntu en modo suspensión en lugar de hibernación

Pero podemos hacerlo manualmente desde el Editor de configuración, presionamos Alt+F2 e ingresamos

gconf-editor

Navegamos hasta /apps/gnome-power-manager/actions/. El comportamiento predeterminado de Ubuntu habilita el modo suspensión cuando el equipo esta conectado a la corriente y el modo hibernación cuando está usando batería, para cambiar esto solo debemos hacer doble clic en sleep_type_battery y reemplazar hibernate por suspend

Poner Ubuntu en modo suspensión en lugar de hibernación

Configurado de esta manera el equipo debería quedar en modo suspensión en lugar de hibernación al quedar inactivo.

Suspender se debe utilizarse cuando vamos a estar poco tiempo sin usar la PC, porque podremos volver con lo que estábamos en segundos. Hibernar, por otro lado, es más conveniente para periodos largos de inactividad, para consumir menos energía y para asegurarnos de no perder nuestros datos por algún corte de luz o porque el equipo se quede sin batería en el caso de una portátil.

 

Ubunlog

Categorías
Ubuntu

Ofris agrega un AppIndicator: Gofris (Aplicación tipo «Deep Freeze» para Ubuntu)

Ya hemos conocido a Ofris, una aplicación tipo Deep Freeze para Linux así que te recomendamos ver el artículo para mayor información.

Gofris no es un GUI estándar, incluye únicamente un Ubuntu AppIndicator – que podemos usar para bloquear / desbloquear el usuario actual, todos los usuarios o un usuario específico así como ver el estado actual.

Importante: Gofris aún es beta por lo cual usalo bajo tu propia responsabilidad!

Para probar Gofris en Ubuntu es necesario agregar el PPA e instalarlo usando los siguientes comandos:

sudo add-apt-repository ppa:tldm217/gofris
sudo apt-get update
sudo apt-get install gofris-en

Una vez instalado, Gofris estará disponible en Aplicaciones > Herramientas del sistema > Gofris.

 

 

WebUpd8

Categorías
Distros

OpenIndiana continúa con el legado de OpenSolaris

OpenIndiana

OpenIndiana quiere ser una «continuación del legado de OpenSolaris» construída comunitariamente y con el objetivo de ser compatible a nivel binario con los todavía no lanzados Oracle Solaris 11 y Solaris 11 Express, esperados para el año que viene y a fines de este 2010, respectivamente.

El nuevo proyecto no está asociado de ninguna manera a Oracle y ya ofrece las primeras imágenes LiveDVD y LiveUSB de su desarrollo actual, prometiendo «próximamente» una rama estable lista para entornos de producción que además pueda reemplazar directamente a una instalación de OpenSolaris previa.

Actualmente sólo soporta la arquitectura x86, pero también esperan soportar a SPARC en algún momento.

 

VivaLinux!