miércoles, 11 de mayo de 2011

Unir archivos cortados en trozos (.001, .002, etc.)

Desde hace poco, me pasa que me "encuentro" con "archivos" cortados en 3 trozos con extensión .001, .002 y .003

Estuve mirando a ver cual sería la mejor forma de unirlos. Se puede por ejemplo con el hacha, y tenemos opciones para linux como dalle, etc.

Pero hay una forma más rápida de hacerlo sin necesidad de instalar nada: el comando 'cat'

Como ejemplo, un archivo que lo obtenemos dividido en 3 trozos nombrados:
- "vida.avi.001",
- "vida.avi.002" y
- "vida.avi.003"

Primero, lógicamente, nos vamos a la carpeta donde están estas partes. Para obtener el archivo "vida.avi" que era antes de partirlo, tendríamos que usar este comando:

cat "vida.avi.001" "vida.avi.002" "vida.avi.003" > "vida.avi"

Y ya está... haciéndolo así, el archivo nos queda en la misma carpeta donde tenemos las partes.


FUENTE: http://offtopiqueando.foroactivo.com

lunes, 4 de abril de 2011

Presentacion del libro de Introducción a la Infomática

La vicerrectoría Académica ha organizado la presentación del libro de Introducción a la Informática, escrito por Walter Zelaya y publicado por la editorial universitaria.

A continuación la invitación para que puedan acompañarnos el día viernes 8 de abril de 2011 a las 4:00 pm en el Salón del Consejo Superior Universitario.




jueves, 3 de marzo de 2011

Cómo recibir Tweets en tu teléfono sin una cuenta de Twitter

¿Puedo recibir Tweets sin una cuenta de Twitter o un teléfono asociado a una cuenta?

¡Claro que si! De eso se trata el Fast Follow. Es una nueva forma de recibir actualizaciones de Twitter. Ahora no tienes que registrarte o añadir tu teléfono a una cuenta para recibir Tweets!

Para comenzar envía:

"SEGUIR [usuario]" al 40404 (número en El Salvador: 40404 (Digicel, Tigo)) y comenzarás a recibir los Tweets de ese usuario en tu teléfono.

Ejemplo: enviar "SEGUIR eieues" al 40404 en mi teléfono significa que empezaré a recibir mensajes de texto cada vez que @eieues haga un Tweet.


¿Puedo usar Comandos Móviles?

Los comandos que puedes usar sin una cuenta están listados abajo. Todos los comandos, incluidos los que están disponibles para usuarios registrados, están aquí.

  • SEGUIR usuario - Para recibir los Tweets de un usuario envía SEGUIR seguido del nombre de usuario a tu código corto.
  • DESACTIVAR o PARAR- Puedes dejar de recibir los Tweets del usuario que estás siguiendo enviando estos comandos.
  • ACTIVAR - Enviar el comando ACTIVAR activará las notificaciones en tu teléfono y recibirás Tweets de nuevo
  • QUIENES usuario - Busca la información de perfil de un usuario
  • ESTAD - Este comando te muestra el número de personas que estás siguiendo
  • OBTENER usuario - Este comando te muestra el último Tweet que hizo este usuario.

FUENTE: http://twitter.com/

viernes, 11 de febrero de 2011

Reinstalar GRUB tras reinstalar Windows

Es muy normal que en tu equipo tengas instalado Linux y Windows y es muy normal que Windows se degrade y tengas que reinstalarlo mientras que Linux sigue funcionando correctamente. La reinstalación de Windows no respeta el MBR (Master Boot Record) existente, por lo que tendrás que regenerar el cargador de arranque para poder cargar Linux y Windows. Si no lo haces solo podrás arrancar Windows.

Deberás montar la partición en la que esté instalado Linux. Recuerda que las unidades de tu PC están en /dev y los discos duros serán hda, hdb, hdc o hdd (1º, 2º, 3º y 4º dispositivo IDE) o sda, sdb, sdc,... (1º, 2º, 3º,...etc dispositivo SATA). Cada disco tendrán x paticiones y se nombrarán con números. Así /dev/hda1 será la primera partición del primer disco IDE.


Usando una distribución Live grub2

Consiste en usar una distribución en modo LiveCD para instalar nuevamente el GRUB. Usaremos el LiveCD de Ubuntu 9.10 o superior (debe ser la versión Live o Desktop), aunque puede ser cualquier otra distribución que use GRUB2 como gestor de arranque y no LILO ni Grub 1.

Lo primero que debemos hacer es arrancar el live-cd y abrir una terminal. Despues escribimos los siguiente para ver las particiones de los distintos discos duros:

$ sudo fdisk -l

Después vemos cual es la partición donde tenemos Ubuntu y la montamos en /mnt (en la mayoría de los casos esta partición será sda1, el ejemplo lo haré con esa partición pero mira cual es tu partición con el comando fdisk):

$ sudo mount /dev/sda1 /mnt

Ahora, monta el resto de los dispositivos:

$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc

Y ejecuta el comando chroot de forma que accedemos como root al sistema de archivos de nuestro antiguo Ubuntu:

$ sudo chroot /mnt

Por último cargamos el Grub en el MBR ejecutando el siguiente comando:

# grub-install --recheck /dev/sda

(sda lo debemos substituir por el disco duro que utilizamos para arrancar los sistemas operativos, casi siempre es sda. Ojo!! no poner el número de partición, solo sda).

Reinicia y si todo fue bien ya estará GRUB cargado.

En mi caso, aquí comparto la terminal de la PC a la que tuve que recuperarle el GRUB.

ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo fdisk -l

Disco /dev/sda: 320.1 GB, 320072933376 bytes
255 cabezas, 63 sectores/pista, 38913 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x36a736a7

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 13054 104856223+ 7 HPFS/NTFS
/dev/sda2 13055 15704 21279297 83 Linux
La partición 2 no termina en un límite de cilindro.
/dev/sda3 15704 16068 2928641 5 Extendida
La partición 3 no termina en un límite de cilindro.
/dev/sda4 16069 38913 183502462+ 7 HPFS/NTFS
/dev/sda5 15704 16068 2928640 82 Linux swap / Solaris
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# grub-install --recheck /dev/sda
Installation finished. No error reported.
root@ubuntu:/#



Fuente: http://www.guia-ubuntu.org

miércoles, 7 de julio de 2010

GIMP no vendrá por defecto en Ubuntu 10.04 Lucid Lynx

Desde la Ubuntu Developer Summit, la convención que está teniendo lugar hasta el día 20 de noviembre en Dallas (EEUU), nos llega una noticia bastante impactante para los usuarios de Ubuntu: el software de tratamiento de imágenes GIMP no será incluído de serie en la siguiente versión 10.04 Lucid Lynx.

El debate se abrió en el marco de la elección de aplicaciones que deberían venir configuradas de serie con Lucid Lynx. Sobre GIMP se ha valorado que el programa es demasiado complejo para estar instalado por defecto en la distribución, ya que está destinado a usos de profesionales gráficos y no para los usuarios comunes. Además, se justifica también su salida por el elevado tamaño del software y porque las tareas habituales con imágenes que la mayoría de los usuarios necesitan pueden realizarse perfectamente con otras aplicaciones como F-Spot y su interfaz mucho más sencilla.

Nos encontramos con una situación compleja, por un lado GIMP es el referente en el mundo del software libre en cuanto a tratamiento de imágenes. Por otro lado, nunca ha sido una aplicación “sencilla” para todos los usuarios. Dada la profesionalidad del programa, no creo que dentro de los planes de desarrollo esté como meta el conseguir ser el programa más usado por el público general, sino más bien ofrecer una alternativa efectiva a suites comerciales y conseguir los mejores resultados para los usuarios avanzados y estudios profesionales.

En el otro lado de la balanza hay que sopesar el hecho de que Ubuntu, aunque creciente, tiene una cuota de mercado muy baja comparado con otros sistemas. En ese sentido puede resultar interesante disponer de una instalación básica con todo el potencial de GIMP, de cara a los nuevos usuarios.

Aunque sea una decisión complicada, tampoco es algo crítico: GIMP estará disponible en los repositorios oficiales, como siempre, por lo que los usuarios que lo deseen sólo tendrán que elegirlo en Centro de Software para instalarlo en el sistema.

En Ubuntu Life han lanzado una encuesta para ver qué opinan sus lectores sobre este tema. Actualmente, los resultados son más de 300 votos de usuarios que no quieren que salga de la instalación básica contra unos 150 que votan lo contrario al no haberlo usado prácticamente nunca.

FUENTE: http://www.genbeta.com

sábado, 10 de abril de 2010

Fuentes tipográficas en Linux y Windows

¿Alguna vez os ha pasado el crear un documento de texto formateado estupendamente y al ir a abrirlo en otro equipo, con otro sistema u otra aplicación o simplemente una versión distinta de los mismos, os encontráis con que el aspecto ha cambiado, a veces drásticamente? Las cosas ya no están en su sitio, el tipo de letra y el tamaño ha cambiado (y además a peor, siendo menos legible) y consecuentemente se ha llevado por delante la cuidadosa maquetación y el buen aspecto de vuestro documento….

El problema es el cambio de fuente (del tipo de letra). ¿Y porqué lo cambia?. Muy sencillo: las fuentes disponibles lo son generalmente a nivel de sistema, aunque el usuario puede haber instalado otras adicionales, eso sin contar con que varias aplicaciones instalan nuevas fuentes por su cuenta… Con lo cual las fuentes disponibles en cada equipo pueden ser muy distintas a las que tenga otro; seguramente el usuario tenga fuentes que ni conozca o usará una fuente para sus documentos que aunque él crea que es muy común (si llega a pensar siquiera en ello) resulta que no lo es tanto. Resultado: al abrir el documento en otro equipo, la fuente indicada en el documento no está disponible así que el programa que usemos la sustituye por otra que se supone que es parecida, con resultados que van desde lo regular hasta el desastre, pero vamos, que mejor no queda, no.

Dentro de un mismo sistema el problema se minimiza debido a que cada sistema incluye por defecto un conjunto de fuentes comunes, por lo que si usamos estas fuentes, no tendremos que preocuparnos por esto (a no ser que sean versiones distintas del sistema y una esté muy desfasada respecto a la otra). Pero claro, si cambiamos de sistema (entre GNU/Linux y Windows, por ejemplo, eso sin contar con el Mac, muy usado en diseño) la sorpresa está casi asegurada.

Resumiendo, a la hora de distribuir ampliamente un documento (p.e. colgándolo en Internet):

Proporciona SIEMPRE una versión en PDF de tu documento.

Si además necesitas que el documento sea editable:

  • Usa siempre que sea posible el formato ODT y una tipografía común en Windows (nos guste o no, el sistema más extendido hoy por hoy). Si tu sistema es GNU/Linux, acuérdate de instalar el paquete con dichas fuentes.
  • En el caso de que tu “público” sea mayoritariamente de usuarios de GNU/Linux (p.e. porque trates un tema específico de ese sistema), pues usa una de las fuentes comunes de GNU/Linux. Si deseas tener también en cuenta a los usuarios de Windows, usa DejaVu, por ejemplo.

Fuente: stoneheads.wordpress.com

miércoles, 10 de febrero de 2010

Especificadores de formato de fprintf()

Introdución

Si conoces C, estas funciones te van a parecer bastante similares, pero hay algunas pocas diferencias.

El printf() lo usamos para poder formatear valores y datos de la manera que nosotros queramos.

printf() y sprintf()

Estas dos funciones son iguales, la diferencia es que printf envía su resultado a un objeto de archivo, mientras que sprintf regresa una cadena del resultado del printf.

La función printf esta puesto para imprimir el resultado en STDOUT, si quieres especificar otro objeto lo debes de hacer de la siguiente manera:

printf([OBJETO] FORMATO, VALORES);

Esto imprimirá el resultado al objeto OBJETO.

En cambio sprintf lo usaríamos de la siguiente manera:

my $variable = sprintf(FORMATO, VALORES);


El Formato

El FORMATO es una cadena que tendrá ciertas "expresiones" que describirán como deberá perl ordenar y desplegar los valores que pongas en VALORES. Cada una de estas "expresiones" empieza con un símbolo de %.

Una cadena de FORMATO típica se podría ver de la siguiente manera:

Mi número es: %d

Aquí el %d es una expresión que significa "un número", por lo que perl lo remplazaría por algún número decimal. Por ejemplo podrías decir lo siguiente:

printf("Mi número es: %d", $decimal)

Así que el %d en esta función es remplazado por el valor de la variable $decimal. Puedes poner tantas "expresiones" como quieras en FORMATO, con el mismo número de VALORES. Por ejemplo:

printf("%d %s %f", $decimal, $cadena, $flotante);

"Expresiones" en el FORMATO


Aquí esta el listado de "expresiones" que podemos usar en nuestra cadena de FORMATO.

%% Imprime un signo de %.
%c imprime un carácter con el código ASCII dado (con 66 imprime B, por ejemplo).
%s una cadena
%d un decimal
%u un decimal negativo o positivo sin signo
%o un integral en octal
%x un integral en hexadecimal
%e un número con punto flotante en notación científica
%f un número con punto flotante en notación decimal
%g puede ser %e ó %f, lo que decida printf que es lo mejor
%X lo mismo que %x pero con mayúsculas
%E como %e pero con 'E' mayúscula
%G lo mismo que %E cuando se usa notación científica
%p un "pointer"; imprime la locación en memoria de una variable en hexadecimal
%n imprime la cantidad de caracteres desplegados hasta el momento

Otras "expresiones" que existen por compatibilidad:

%i lo mismo que %d
%D lo mismo que %ld (decimal largo)
%U lo mismo que %lu (decimal largo sin signo)
%O lo mismo que %lo (octal largo)
%F lo mismo que %f

Especificadores de FORMATO

Cada uno de los especificadores que vienen abajo son opcionales y deben de usarse en el orden que aparecen aquí. Si esto se te hace muy confuso te recomiendo que pases a la siguiente sección, pues esto es simplemente para referencia.

% - El signo de porcentaje. requerido (lógicamente)

0 o más de los siguiente especificadores:

'#' (símbolo de gato): Especifica que el valor debe de ser convertido a una "forma alterna". Esto no tiene ningún efecto en 'c', 'd', 'i', 'n', 'p', 's', y la expresión 'u'. Para la expresión 'o' (octal), esto pone un '0' al principio. Para 'x' y 'X' (hexadecimal), 0x ó 0X es puesto al principio. Para 'e', 'E', 'f', 'g' y 'G', el valor es puesto siempre con un punto decimal (.) al principio, inclusive cuando no hay nombres. Para 'g' y 'G', los ceros al final no son removidos.

printf("%x", 10); # imprime 'a', mientras:
printf("%#x", 10); # imprime '0xa'

'0' (cero): Para quitar el padding de un número. El número es convertido a un número con la cantidad 0 necesarios a la derecha.

printf("%03d", 7); # imprime '007'
printf("%03d", 153); # imprime '153'

'-' (menos): Especifica que el valor será ajustado a la derecha, mientras que normalmente es hacia la izquierda.

printf("%5s", 'foo'); # imprime ' foo'
printf("%-5s", 'foo'); # imprime 'foo '

' ' (un espacio): Especifica que un espacio debe de dejarse antes de un número positivo.

printf("% d", 7); # imprime ' 7'
printf("% d", -7); # imprime '-7'

'+' (signo de más): Especifica que este valor siempre debe de ponerse antes del valor.

printf("%+d", 7); # imprime '+7'

. (un punto) El punto de precisión seguido de un número especifica la cantidad de números que se deben de imprimir para 'd', 'i', 'o', 'u', 'x', y expresiones 'X'. Para expresiones 'e', 'E', y 'F', es el número de dígitos que se deben de mostrar después del número decimal. Para 'g' y 'G' el número máximo de caracteres significativos. Para la expresión de cadena 's', es el máximo número de caracteres que se deben de desplegar.

printf("%.3d", 7); # imprime '007'
printf("%.2f", 3.66666); # imprime '3.66'
printf("%.3s", 'foobar'); # imprime 'foo'


Poniendo espacios

Si quieres alinear varias líneas de datos para un reporte, puedes especificar un ancho de campo en el cual los VALORES serán alineados a la derecha con los espacios necesarios.

Por ejemplo:

printf("%6s", 'foo'); # prints ' foo'

Aquí pone 3 espacios al principio para llenar el espacio de 6 caracteres que se específico.

Si quieres alinear todo a la izquierda todo lo que tienes que hacer es poner un signo de "-" antes del ancho. Por ejemplo:

printf("%-6s", 'foo'); # prints 'foo '

Modificadores de preescisión

El modificador de preescisión le dice a printf() cuantos caracteres se deben de desplegar después del punto decimal. Si hay más números de los que especificaste después del punto, el número es redondeado, si hay menos, se usan 0 para llenar el espacio:

printf("%.2f", 9.333333); # imprime '9.34'
printf("%.2f", 9); # imprime '9.00'

Para valores decimales, el modificador de preescisión tiene el mismo efecto con los '0' que se describió antes:

printf("%.3f", 7); # imprime 007

Para valores de cadena, tiene el efecto de especificar un tamaño de campo máximo, donde se imprimirán los primeros n número de caracteres de la cadena:

printf("%.3s", 'foobar'); # imprime 'foo'
printf("%.10s", 'foobar'); # imprime 'foobar'
printf("%5.5s %5.5s", 'foobar', 'baz'); # imprime 'fooba baz'

Redondeando número con sprintf()

¿Necesitas redondear un número decimal? o ¿redondear un número hasta un lugar del decimal? con sprintf() tienes la habilidad de hacer eso:

# da un valor de '3' a $foo
$foo = sprintf("%d", 3.14);

# da un valor de '7.3531' a $bar
$bar = sprintf("%.4f", 7.35309);

En la primera variable con %d convertimos el número decimal a un integral.

En la segunda variable con %.4f convierte un valor a un número con punto flotante con preescisión de 4 lugares decimales, redondeando el número como sea necesario.

Octal y Hexadecimal

Puedes convertir tus valores decimales a valores hexadecimales y octales usando el printf() y sprintf(). Usando las expresiones o de octal, x de hexadecimal y X de hexadecimal en mayúsculas:

printf("%x", 15); # imprime 'f'
printf("%X", 15); # imprime 'F'
printf("%o", 15); # imprime '17'


Ahora, como vimos en la sección de los especificadores de FORMATO, usando el símbolo de gato (#), perl convierte el valor a una "forma alternativa". Para %x y %X, pondrá al inicio el '0x' y '0X' respectivamente. Para %o una '0' al principio es agregado.

printf("%#x", 15); # imprime '0xf'
printf("%#o", 15); # imprime '017'
printf("%#4x", 15); # imprime ' 0xf'


FUENTE: Perl en espanol