Instalar Linux en Toshiba Satellite Pro C850

Recientemente he adquirido un Toshiba Satellite Pro C850-1G8 a muy buen precio.
Toda esta serie de portátiles Toshiba traen una maravillosa BIOS UEFI con Secure Boot que impide la instalación de cualquier sistema operativo que no sea Windows 8 o Windows 10 (ni siquiera se puede instalar Windows 7).

Para rizar más el rizo, al arrancar solo aparece el logo de Toshiba y ninguna tecla parece funcionar para acceder a la BIOS.

Solución a todo este “sin sentido”:

  1. Para entrar en la BIOS
    • Mantener la tecla F2 pulsada ANTES de encender el ordenador. Sólo la tecla F2, nada de FN.
    • En algunos modelos, en vez de mantener pulsada la tecla F2 hay que pulsarla repetidamente ANTES de encender el equipo.
  2. Para poder instalar cualquier sistema operativo
    • Acceder a la BIOS (ver punto anterior)
    • En la seccion security colocar la opción secure boot en disabled
    • Ir a la sección System Configuration y colocar la opción Boot Mode con el valor CSM Boot

Hecho esto ya se puede instalar cualquier sistema operativo o combinación de varios.

Escáner Acer S2W 3300v en Linux

Este escaner con más de 10 años sólo tiene soporte para Windows 98/XP. No hay nada para Windows 7/8 y menos en sus versiones de 64 bits.

En linux es diferente. La manera de configurar este escáner (y los de la misma familia) se reduce a copiar en una carpeta el archivo .bin correspondiente (el cual se puede encontrar en el paquete de drivers oficial para windows del propio fabricante) e indicar la ruta de ese archivo en la configuración.

Archivo de firmware

Para saber que archivo .bin necesita nuestro escáner, lo más sencillo es visitar la página oficial de SnapScan y mirarlo en la tabla correspondiente. Para el modelo 3300v necesitamos el archivo: u176v046.bin

A continuación, buscamos ese archivo de forma individual por Google o dentro de la carpeta BIN del paquete de drivers oficial.

Con permisos de administrador, colocamos ese archivo en la ruta /usr/share/sane/snapscan  (si no existe la carpeta snapscan, se crea).

Editando configuración

Lo siguiente es, como administrador, editar el archivo de configuración /etc/sane.d/snapscan.conf

Buscamos la línea que pone firmware /usr/share/sane/snapscan/your-firmwarefile.bin y cambiamos por la ruta correcta de nuestro archivo .bin firmware /usr/share/sane/snapscan/u176v046.bin (si la línea está comentada, se descomenta borrando el caracter #).

Guardamos, cerramos y listo.

Podemos probarlo usando la aplicación simple Scan que viene por defecto instalada en la mayoría de distros derivadas de Debian.

Plugins Sublime Text

A continuación muestro una lista con los plugins que uso actualmente para Sublime Text:

  • Bracket Highlighter: indica los pares apertura/cierre de paréntesis, corchetes y llaves.
  • CSS Comments: snippets para colocar comentarios en los archivos CSS.
  • Emmet: atajos de teclado y uso de palabras/comandos para generar código web de manera muy rápida. Por aquí una chuleta de todo lo que hace.
  • JQuery: autocompletado para funciones y sintaxis JQuery.
  • Side Bar Enhancements: aumenta notable la funcionalidad de la barra lateral. Indispensable.
  • Sublime Code Intel: autocompletado para muchisimos lenguajes (HTML5, CSS, Javascript, PHP entre ellos)

Git/GitHub básico

Vamos a comentar a modo de resumen los pasos para trabajar con Git de forma básica y la forma de enlazar nuestros proyectos a los repositorios online de Github.

Descargamos Git y lo instalamos. A continuación, configuramos con nuestro nombre y email:

$ git config --global user.name "tu nombre"
$ git config --global user.email "tu email"

Es importante configurar estos datos porque serán los que se usen en los ‘commits’.

Trabajando en local

Dentro de la carpeta de nuestro proyecto debemos crear el repositorio con la orden:

$ git init

Esto creará una carpeta oculta dentro de la carpeta de proyecto la cual se usará como repositorio local de dicho proyecto.

Para añadir archivos al repositorio:

$ git add archivo/s
$ git commit -m "Mensaje"

Con la primera orden enviamos el archivo (o los archivos) a la zona intermedia denominada Zona de Index. Con la segunda, se pasa todos los archivos que estén en la Zona de Index al repositorio y se les marca con el mensaje que pongamos. El mensaje es obligatorio ponerlo.

Para ver las acciones que se han ido realizando (histórico) podemos usar alguna de estas dos ordenes:

$ git log
$ git log --oneline

La segunda muestra la información de manera resumida.

 

Enlazando con GitHub

Una vez que nos registramos en GitHub, debemos crear un repositorio usando el panel web de la cuenta que hemos creado.

Una vez creado el repositorio, se nos va a proporcionar una URL que servirá para hacer referencia a dicho repositorio. Un ejemplo de URL:

https://github.com/tu_usuario/nombre_del_repositorio.git

Volvemos a nuestro ordenador con Git instalado y hacemos lo siguiente:

  1. Lo primero es vincular el repositorio remoto a nuestro repositorio local:
    $ git remote add alias URL_del_repositorio

    El alias es un nombre cualquiera que le damos para identificar ese repositorio remoto. La URL del repositorio remoto es la que obtuvimos a través de GitHub.
    Este paso solo hay que hacerlo la primera vez que vinculamos el repositorio local con el remoto.

  2. Cada vez que queramos empujar los commits que hemos realizado en el repositorio local al repositorio remoto, debemos usar la orden:
    $ git push alias rama

    El alias es el que hemos usado para vincular los repositorios en el punto anterior. El último argumento hace referencia a las diferentes ramas de desarrollo de un proyecto. Nosotros vamos a uasr el valor ‘master‘.

Podemos obtener una lista con todos los repositorios remotos vinculados al repositorio local con la orden:

$ git remote -v

Para finalizar indicar que, por cada proyecto que hagamos, es muy recomendable subir un archivo README con extension .md (markdown) explicando en que consiste el proyecto, el estado del mismo, lo que queda por implementar, documentacion básica…

Este archivo será el que muestre GitHub por defecto cuando cualquier persona acceda al repositorio de ese proyecto.

Clase Notificaciones JS

Notificaciones JS es una sencilla clase que he programado en Javascript y que nos permite mostrar mensajes de notificación configurables.

USANDO LA CLASE

La clase hace uso del framework JQuery, por tanto lo primero es obtener el archivo JS correspondiente desde la página oficial.

Para crear una notificación, lo único que debemos hacer es crear un objeto ‘notificacion‘ y, a continuación, llamar al método ‘mostrar‘ cuando nos haga falta.

var mensaje = new Notificacion("Esto es un mensaje de ejemplo");
 
mensaje.mostrar();

La notificación creada se ocultará si pulsamos sobre ella o automáticamente tras 3 seg.

CONFIGURANDO

El método constructor permite indicar el tipo de notificación que queremos crear y su posición en pantalla. Para ello debemos usar 2 argumentos más:

var posicion = ['med','cen'];
var mensaje = new Notificacion("Esto es un mensaje de ejemplo", 2, posicion);

El primer argumento (obligatorio) es el contenido de la notificación.  El segundo argumento es el tipo de notificación. Es un entero que puede tomar los valores desde el 1 hasta el 2. Los tipos de notificaciones que hay implementados son:

  • Tipo 1: valor por defecto. Notificación solo con texto.
  • Tipo 2: notificación con texto e imagen de aviso.

Las notificaciones tipo 2 traen una imagen por defecto que puede ser cambiada editando la linea:

 this.icono = "img/info256.png";

El último argumento es un array de dos elementos que nos permite indicar donde va a aparecer la notificación.

El primer valor del array sirve para indicar la posición vertical y su valores son:

  • ‘arr’: Arriba.
  • ‘abj’: Abajo.
  • ‘med’: Medio.

El segundo valor del array, para la posición horizontal:

  • ‘izq’: Izquierda.
  • ‘der’: Derecha.
  • ‘cen’: Centro.

Otra forma de indicar la posición de la notificación (sin necesidad de indicarla en el constructor) es usando el método mover:

    //Creamos la notificacion con los valores por defecto    
    var noti= new Notificacion("prueba de notificacion");
 
    noti.mover(['med','cen']); //Movemos al sitio deseado
 
    noti.mostrar(); //Mostramos la notificacion

Si queremos una configuración mas avanzada, podemos cambiar las propiedades CSS de las notificaciones editando la parte que dice Configuracion:

//------------  Configuracion 
 
this.icono = "img/info256.png";
 
this.propiedades = {
'width': '17%',
'height': '13%',
'color': '#FFF',
'font-size' : '1.1em',
'background': '#000',
'margin' : '1em',
'padding': '1em',
'text-align': 'center',
'opacity' : '0.5',
'display' : 'none',
'position': 'absolute',
'border-radius': '0.8em',
'-moz-border-radius': '0.8em',
'-webkit-border-radius': '0.8em'
};
//--------------------------------

También podemos controlar el tiempo que tarda la notificación en cerrarse cambiando el valor de la variable:

this.duracion = 3000; //valor en milisegundos

Para finalizar, indicar que la versión actual es una RC (release Candidate) y que,por tanto, no está exenta de bugs y/u optimizaciones.

En sucesivas versiones se irá mejorando la clase e incorporando nuevas funcionalidades como la de tener diferentes tipos de notificaciones.

Se pueden descargar los archivos necesarios desde la sección snippets del portfolio en mi página , desde mi cuenta en GitHub o pulsando aquí.

Tips para mejorar la creacion de código

He encontrado una serie de articulos sobre como mejorar la legibilidad del código cuando se programa. Son muy claros y explican técnicas básicas que todos deberíamos saber:

Tips para mejorar tu estilo de programación I

Tips para mejorar tu estilo de programación II

Tips para mejorar tu estilo de programación III

USB Debugging en Android 4.2

En esta version de Android, las opciones de desarrollador están ocultas y debes desbloquearlas.

Para ello hay que ir a ajustes => acerca del telefono y tocar 7 veces la fila donde pone ‘número de compilación‘.

Al hacer esto saldrá un pequeño mensaje diciendo algo así como ‘ya eres desarrollador‘ y podrás encontrar las opciones de desarrollador en la zona ‘sistema’ del menú de ajustes.