Categories
administración electrónica ubuntu

Comprobar el tamaño real de un mp4 o memoria usb

Con la moda de los mp3/mp4 existen multitud de modelos y marcas en el mercado para elegir. También está la opción de comprar por internet, incluso al extranjero, ahorrarse algunos euros. En mi caso me decidí a comprarle un mp4 por ebay para mi hermana. Tiempo después un amigo se compró otro parecido al decirle yo lo barato que me había salido, pero cual fue su sorpresa cuando descubrió que no podía copiar más de 1GB en el aparato, porque sino empezaba a tener un comportamiento “errático”(cuelgues, bloqueo del sistema, corrupción de archivos, duplicación…).

Las siguientes instrucciones son válidas tanto para comprobar el buen estado y tamaño de un mp4 como de una memoria usb.

  • Lo primero es copiar fuera de la memoria/mp4 todos los datos que tengamos almacenados, ya que se va a proceder al borrado del dispositivo completo.
  • Lo siguiente es asegurarnos de que el dispositivo está desmontado. Para ello podemos comprobarlo en “Lugares>Equipo” y haciendo clic derecho sobre el dispositivo. Si se muestra la opción de desmontar, procedemos a hacer clic sobre ella; si aparece la opción montar quiere decir que ya está desmontada.
  • Ahora miramos que dispositivo bajo el directorio /dev le corresponde a nuestra memoria usb/mp4. Para ello podemos hacer uso del comando:

sudo fdisk -l

Éste mostrará todas las unidades de almacenamiento del sistema, y su dispositivo de acceso. En mi caso se muestra lo siguiente:

Disco /dev/hda: 80.0 GB, 80026361856 bytes
255 cabezas, 63 sectores/pistas, 9729 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disk identifier: 0x824226f5

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hda1 * 1 4878 39182503+ 7 HPFS/NTFS
/dev/hda2 4879 9728 38957625 f W95 Ext’d (LBA)
/dev/hda5 4879 8326 27696028+ 7 HPFS/NTFS
/dev/hda6 8448 9728 10289601 83 Linux
/dev/hda7 8327 8447 971901 82 Linux swap / Solaris

Las entradas de la tabla de particiones no están en el orden del disco

Disco /dev/sda: 2135 MB, 2135162880 bytes
255 cabezas, 63 sectores/pistas, 259 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disk identifier: 0x0d0c0b0a

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 259 2080386 b W95 FAT32

El último dispositivo es la memoria usb que quiero comprobar, y que contiene una partición en fat32.

  • Una vez conocida la ruta de acceso procedo a lanzar el siguiente comando. ¡ATENCIÓN! esto borrará TODOS los datos de la memoria usb/mp4.

sudo badblocks -vw /dev/sda

Este comando realiza varias escrituras de patrones de datos distintos sobre la memoria, y luego los intenta leer para comprobar que funciona correctamente. Más concretamente real iza 4 iteraciones con los siguients patrones: “0xaa, 0x55, 0xff, 0x00” en cada bloque del dispositivo.

  • Una vez haya acabado la comprobación, en el caso de ser correcta(sin fallos) debería de mostrarse lo siguiente:

Se están revisando los bloques malos en modo de lectura-escritura
Del bloque 0 al 2085120
Probando con el patrón 0xaa: done
Leyendo y comparando: done
Probando con el patrón 0x55: done
Leyendo y comparando: done
Probando con el patrón 0xff: done
Leyendo y comparando: done
Probando con el patrón 0x00: done
Leyendo y comparando: done
Paso terminado, se encontraron 0 bloques malos.

si en lugar de esto aparecen algunos números intercalados entre las pruebas, quiere decir que el dispositivo tiene sectores defectuosos(cuyo tratamiento explicaré en un post futuro)

  • Ahora que hemos comprobado la integridad de la memoria/mp4 es necesario crear un sistema de ficheros que nos permita escribir y leer datos. Lo más normal es crear un sistema de ficheros fat 32, que es compatible con windows y linux(se podría elegir otro sistema de ficheros, pero estos dispositivos vienen preformateados de fábrica en este sistema, por razones de compatibilidad, así que vamos a hacerlo igual). Para crearlo voy a hacer uso del programa gparted(sino está instalado: “sudo aptitude install gparted”):

sudo gparted /dev/sda

Se abrirá la aplicación y en ella veremos el espacio en el dispositivo sin particionar

gparted usb no partitions

Hacemos clic sobre los datos sin asignar y luego sobre el botón “Nueva”. Aparecerá un mensaje preguntando acerca de crear una nueva tabla de particiones; hacer clic sobre “Crear”

nueva tabla particiones

Pedirá confirmación de la operación. Hacer clic de nuevo sobre “Crear”

confirmacion tabla particiones

Hacemos clic de nuevo sobre el espacio sin particionar y luego sobre “Nueva”. Nos aparecerá un diálogo preguntando acerca del sistema de ficheros que deseamos crear, seleccionamos fat32 en el menú desplegable, y luego clic en el botón “Añadir”

gparted crear nuevo sistema de archivos

Ahora ya podemos ver como se ha marcado todo el espacio disponible como que se va a formatear en “fat32”. Para que se cree definitivamente la partición es necesario hacer clic sobre el botón “Aplicar”. Una vez haya terminado el proceso de formateo, debería de aparecer un diálogo de información similar a este:

gparted complete actions dialog

Ahora ya tenemos nuestra memoria/mp4 comprobado y listo para ser usado. Para empezar a usarlo simplemente es necesario montarlo de nuevo; la manera más rápido de hacerlo es desconectando el usb y volviéndolo a conectar.

Actualización 6/10/2009: también es posible crear un fichero de varios cientos de megas y copiarlo varias veces en el dispositivo. Luego se comprueba con el comando md5sum que todos los fichero copiados tienen el mismo hash y listo. Un ejemplo de como crear un fichero de 500 MiB:

dd if=/dev/urandom of=mifichero.dat bs=$(( 1024 * 1024 )) count=500

Fuente: administratosphere

Categories
linux ubuntu

Renombrar unidades en ubuntu

Nombres unidades

En el menú de ubuntu “Lugares” las particiones de disco aparecen con el nombre con el que están etiquetadas. Estas etiquetas se administran de forma distinta para cada tipo de sistema de ficheros, así que si se quiere tener el menú con nombres coherentes y no como “sda1” o similares, estos son los comandos para cambiarlas según el tipo:
(para ejecutarlos antes hay que desmontar las particiones)

  • fat32

$> cp /etc/mtools.conf ~/.mtoolsrc
$> echo mtools_skip_check=1 >>~/.mtoolsrc
$> sudo mlabel -i /dev/sda2 ::DATOS

(para poder usar este comando es necesario tener instalado el paquete mtools)

  • ntfs

$> sudo ntfslabel /dev/sda1 WINDOWS

(para poder usar este comando es necesario tener instalado el paquete ntfsprogs)

  • ext2, ext3

$> sudo e2label /dev/sda1 DESCARGAS

Información extraida de:
https://help.ubuntu.com/community/RenameUSBDrive

http://catrip.wordpress.com/2007/12/19/trucosolucion-renombrar-una-memoria-usb-en-ubuntu/

Categories
linux programación

Mono, C# y los iconos en la bandeja del sistema

No hace mucho me uní a un proyecto open source alojado en sourceforge. Dicho proyecto está escrito en c# y compilado para Mono. La verdad es que nunca había programado nada en dicho lenguaje así que estoy en un periodo de “aprendizaje”.

Una de las primeras cosas que hice en el proyecto fue actualizar el sistema usado para mostrar un icono en la bandeja del sistema. Al buscar información por internet, encontré un ejemplo (han actualizado el ejemplo a petición mía, en base a mi post :P) en la documentación de mono, pero que resultó ser el mismo sistema que ya se usaba en la aplicación y que estaba en desuso. En la lista de correo de mono me informaron de que existía una clase llamada StatusIcon, con la que fácilmente se podía crear un icono así que emplee esa finalmente. Y para que algún día pueda ser de utilidad a alguien, hago mi aportación poniendo un ejemplo de un “hola mundo” para mono con icono incluido:

using Gtk;
using Gdk;
using System;

class Hello {
  private static StatusIcon trayIcon;

  private static Gtk.Window window;

  // Método principal de la clase, que se ejecuta al invocar
  // la aplicación
  static void Main()

  {
    // Iniciliza Gtk+ para su funcionamiento
    Application.Init ();

    // Creación de una ventana con título
    window = new Gtk.Window ("Hola mundo");

    // Asociación del evento delete_event() cuando la ventana es cerrada
    window.DeleteEvent += delete_event;

    // Carga de la imagen del icono de la bandeja del sistema
    Pixbuf iconTray = new Pixbuf ("/tmp/iconoBandeja.png");

    // Creación del icono
    trayIcon = new StatusIcon(iconTray);
    // Activar la visibilidad del icono
    trayIcon.Visible = true;

    // Asociar al evento de clic sobre el icono el método OnTrayIconClicked
    trayIcon.Activate += OnTrayIconClicked;
    // Asociar al evento de clic derecho sobre el icono el método OnTrayPopup
    trayIcon.PopupMenu += OnTrayIconPopup;

    // Poner un tooltip al icono
    trayIcon.Tooltip = "icono hola mundo";

    // Mostrar la ventana
    window.ShowAll ();

    // Arranca el bucle principal
    Application.Run ();
  }

  static void OnTrayIconPopup (object o, EventArgs args) // handler for mouse click

  {
    // Crear menu
    Menu popupMenu = new Menu();
    // Crea un item en el menú con el texto 'Salir'

    ImageMenuItem menuItemQuit = new ImageMenuItem ("Salir");
    // Crea una imagen para el item del menu
    Gtk.Image appimg = new Gtk.Image(Stock.Quit, IconSize.Menu);

    // Asociar la imagen con el item
    menuItemQuit.Image = appimg;
    // Añadir el item al menu
    popupMenu.Add(menuItemQuit);

    // Asociar al evento de clic sobre el item el evento OnPopupClick
    menuItemQuit.Activated += OnPopupClick;
    // Hace visible el menu
    popupMenu.ShowAll();

    // Muestra el menu
    popupMenu.Popup();
}

  static void OnPopupClick(object o, EventArgs args)

  {
    // Termina la aplicación cuando el usuario pulsa el botón Salir
    Application.Quit();
  }

  static void OnTrayIconClicked(object sender, EventArgs a)
  {
    // Cambia el estado de la ventana de la aplicación entre visible y no visible

    if (window.Visible)
    {
      window.Visible = false;

    }
    else
    {
      window.Visible = true;

    }
  }

  static void delete_event (object obj, DeleteEventArgs args)

  {
    // Termina la aplicación cuando el usuario cierra la ventana
    Application.Quit ();
  }
}

Para compilar la aplicación:

mcs holaMundoIcono.cs -pkg:gtk-sharp-2.0

Y para ejecutarla:

./holaMundoIcono.exe

Categories
reflexión

Rentabilidad y audiencia en negocios web

Por todos es sabido que las cosas gratis no existen, y en internet los costes de las páginas web se pagan mayormente a base de anuncios. Sin embargo existen otro tipo de empresas cuyos beneficios vienen más directamente, por ejemplo, ebay. Ebay es un portal de subastas que hace dinero cobrando a los usuarios por poner artículos, y quedándose un porcentaje del precio final de los artículos vendidos.

Existía hasta hace no mucho tiempo una página creada en en 2005 llamada www.compraventa.com(enlazo a un archivo cacheado de 2005 para que se vea que no ha cambiado con la actualidad). En esta página los usuarios insertaban gratuitamente ofertas de artículos para vender, y cuyos anuncios duraban un tiempo determinado, tras el cual la página se ponía en contacto contigo para decirte que si querías tener el anuncio más tiempo, pagaras una cantidad de dinero. Tiempo más tarde esta página fue comprada por el grupo Anuntis Segundamano. A pesar de la compra la página no vario para nada en su funcionamiento, y todos los que hacíamos uso de ella vivíamos felices.

En septiembre de 2007 me entero a través de meneme.net que deciden cambiar la política de anuncios y cobrar por todos los que se pongan. En ese momento es cuando dejo de hacer ningún tipo de venta a través de su página, ya que comparada con otras alternativas gratis existentes o incluso ebay, resulta muy cara. La baza con la que cuentan es la gran referencia que había adquirido el nombre de la página en sí, convirtiéndose casi en un referente.

A pesar de todo lo anterior, eso no es motivo para un enfado/cabreo con la empresa, más bien se podría decir que es lo siguiente:

  • Al introducir www.compraventa.com en la barra del navegador, el servidor nos redirige a www.segundamo.es. Esto se puede ver como que potencian el nombre principal de la empresa en detrimiento del que tenía desde el principio. Me gustaría saber si estarán así hasta el final de los tiempos, o algún día usarán ese dominio para otros usos o lo venderán (no caeremos a breva :P)
  • Poco tiempo después de hacer todos los anuncios de pago empezaron a aparecer por la televisión y los periódicos anuncios de la página web. Esto demuestra que el negocio les va bien y que invierten en publicidad, pero ponen como dirección la principal: www.segundamano.es …me sigo preguntando lo mismo que en el punto anterior
  • A pesar de ingresar mucho dinero (o por lo menos eso parece) no hacen grandes modificaciones en el sitio web. Alguien me puede decir que eso es por mantener la simplicidad y usabilidad, pero no me lo trago, se pueden hacer cientos de mejoras tanto visibles como no (un rss sería un servicio interesante, por ejemplo)
  • Hasta particulares han sido capaces de hacer mejores diseños y páginas web que ellos, y como muestra un botón: www.casinuevo.net

Si siguen con la política actual y solo quieren llenarse los bolsillos, ojalá se les desmangue el chiringuito y alguien(o alguna empresa) cree un producto que gane renombre y les robe el pastel 😛

Categories
coche electrónica

Gadgets curiosos

Buscando el otro día “cacharros” para el coche en ebay me encontré con un artículo la mar de curioso, un reemplazo para el encendedor del coche consistente en una linterna led recargable. Como enlazara a las páginas de ebay no me parece conveniente ya que los artículo terminan expirando, he encontrado el mismo aparato en amazon.

linterna para el mechero del coche

Puede verse como está compuesta de dos partes metálicas, una superior y otra inferior para cargarse.

Y ya que había encontrado este gadget curioso, me vino a la mente una imagen de la serie 24. En un capítulo de la 6ª temporada, aparece un bombero con un medidor de radiación del tamaño de un llavero (aproximadamente), así que con esa idea me puse a buscar por internet un producto similar. Tan fácil como ir a google, poner búsqueda de imágenes y lo que quería encontrar:

medidor de radiacion

Medidor de radiación de toda la vida.

nukalert medidor radiacion bolsillo

Medidor de radiación del bolsillo.

Lo más curioso de este producto, que tiene página oficial para el solo, es que está dirigido al público general. Aunque en la página dicen que es el complemente ideal para los agentes de emergencias, creo yo que los profesionales de ese campo dispongan de dispositivos más… profesionales. El aparatito de marras tiene un precio de 130€ y se puede comprar en Europa ya que disponen de página para compradores europeos.

Mi pregunta es…¿te has planteado alguna vez los peligros de la radiación? ¿tenemos miedo a ataques terroristas de este estilo? ¿quizás accidentes con materiales radiáctivos? ¿cuante gente habrá comprado este aparato ya? ¿lo habrá comprado algún español?… Divagaciones aparte, es curioso que exista y una vez más, esté disponible a través de internet (como otras tantas cosas).

Categories
linux

Particiones en la memoria Ram

Hoy me han enviado un enlace, en el cual se anuncia la salida al mercado de un dispositivo que se conecta al ordenador como un disco duro, pero que realiza el almacenamiento de los datos en módulos de memoria DDR. Lo que consiguen de esta forma es obtener unas prestaciones que a día de hoy son muy superiores a las de un disco duro convencional e incluso a uno de servidor(e.g. SAS).

A parte del problema de la perdida de datos cuando se corta el suministro eléctrico, el precio de dicho dispositivo es disparatado 1.619,46 euros ($2390 US) por 16GB.

De todos modos, esto no es una tremenda novedad ya que estos dispositivos tienen precedentes pasados(con menores capacidades y características, pero los tienen), y también está la posibilidad de que los sistemas operativos puedan usar una parte de la memoria Ram de un ordenador como si de un disco duro se tratase. En el caso de linux el caso más evidente en el que se hace uso de este tipo de discos virtuales es en los LiveCD. En estos se carga el sistema desde un CD-ROM hacia la memoria Ram y allí se ejecutan.

Pasemos ahora a lo interesante. En linux es posible crear una partición cuyos datos se encuentren por completo en la memoria Ram, dando como resultado que el acceso a los datos ahí contenidos sea mucho más rápido que a disco. Esto puede ser útil para casos en los cuales se haga uso de una máquina virtual o una gran cantidad de librerías. Si es este tu caso, o simplemente te apetece experimentar y sacar tus propias conclusiones, es tan sencillo como ejecutar los siguientes comandos:

1º – Creamos una carpeta donde montaremos la partición:

mkdir /tmp/RAM

2º – Montamos la partición con el sistema de ficheros tmpfs

sudo mount none /tmp/RAM -t tmpfs

Y listo, a partir de ahora todo lo que copiemos a la carpeta “/tmp/RAM” estará almacenado en la memoria Ram del ordenador. Para otro día quizá me entretenga haciendo unas mediciones de tiempos acerca de la velocidad que se gana poniendo determinadas aplicaciones en esta partición, hasta entonces, ¡a experimentar se ha dicho!