Mostrando entradas con la etiqueta tutorial. Mostrar todas las entradas
Mostrando entradas con la etiqueta tutorial. Mostrar todas las entradas

Variables de entorno - Linux

En esta entrada veremos qué son las variables de entorno y cómo podemos modificarlas.



Lo primero de todo: ¿Qué son las variables de entorno?

Variable de entorno: es un identificador asociado a un espacio de memoria que contiene información dinámica (variable) y cuyos valores afectan a los procesos que se ejecutan en un ordenador.

Vale, y ahora, ¿cómo sé qué variables de entorno hay en mi sistema?

Abrimos un terminal y ejecutamos el comando printenv. Este comando nos muestra todas las variables de entorno en nuestro sistema, así como su valor.

Algunos ejemplos:
  • PWD: Print Working Directory. Contiene cuál es el directorio actual (comando pwd).
  • HOME: Contiene la ruta a nuestro directorio home.
  • USERNAME: Contiene cuál es nuestro nombre de usuario.
  • PATH: Contiene diferentes rutas que los programas utilizan para buscar archivos. Lo veremos en otra entrada ;)
Para mostrar el contenido de una variable podemos utilizar el comando visto anteriormente:

printenv nombre_variable

En bash, podemos acceder al contenido de las variables con $NOMBRE_VARIABLE. Por tanto podemos mostrar el contenido con el comando echo:

echo $NOMBRE_VAR

Si queremos añadir o modificar el contenido de una variable, utilizamos el comando export:

export NOMBRE_VAR=VALOR

También podemos utilizar el contenido de otras variables, por ejemplo:

export NOMBRE_VAR=$OTRA_VAR

Un ejemplo en mi terminal:



Si cerráis el terminal y lo volvéis a abrir, dichas variables no aparecen. Para que se mantengan hay que añadirlas al archivo .bashrc o .bash_profile (o aquel que tengáis configurado).

Estos se encuentran en vuestra carpeta personal /home/usuario pero están ocultos (empiezan por '.').

Para mostrarlos simplemente tenemos que decirle a Nautilus que muestre los archivos ocultos (CTRL+H), aunque también podemos hacerlo desde el terminal:

Mostramos los archivos de la carpeta con ls (con la opción -a indicamos que muestre los ocultos).

ls -a

Y ahora le decimos a nuestro editor favorito que lo abra (gedit, vi, vim, nano...):

gedit nombre_archivo

Y simplemente añadimos una línea con el comando que queramos que se ejecute:

export NOMBRE_VAR=VALOR_DESEADO

La entrada ha quedado bastante larga, así que en otra veremos los diferentes usos que pueden tener.  Además también son utilizadas en Windows. Si queréis en otra entrada puedo explicarlo.

¡Saludos!

Nautilus: abrir terminal en el directorio actual

Si necesitas abrir una terminal en un directorio, es muy cómodo hacerlo desde Nautilus con "click derecho → abrir terminal aquí". Sobre todo a cuanta más profundidad esté el directorio.



El problema es que si reinstalas el sistema operativo, a veces no aparece. Pero no te preocupes, la solución es bien fácil. Abrimos un terminal e instalamos el paquete nautilus-open-terminal.

La instalación variará según nuestro gestor de paquetes:
  • Ubuntu: $ sudo apt-get install nautilus-open-terminal
  • Fedora: $ sudo dnf install nautilus-open-terminal
En principio debe de funcionar al abrir una instancia nueva de Nautilus. Si no os aparece simplemente lo cerramos desde la terminal con:

$ nautilus -q

Y ya debe de aparecernos dicha opción.

¡Feliz año!

C++: Medición de tiempo con 'chrono'

¿Necesitas medir tiempos de ejecución y no sabes cómo? 
Has dado con el blog adecuado ;)

Si no tienes mucho tiempo puedes copiar directamente el código que está al final para salir del paso pero, eh, no te acostumbres a copiar y pegar. Es bueno ver qué y cómo programan los demás pero tienes que intentar entenderlo.

En primer lugar aclarar que utilizo la biblioteca chrono incluida en el estándar C++11. Para poder usarla tienes que hacer dos cosas:
  1. Añadir ' #import <chrono> ' al inicio de tu código.
  2. Añadir el flag ' -std=c++0x ' a la hora de compilar.
Ya sabes cómo añadirla, así que vamos al lío.

Tienes toda la documentación aquí (enlace) por si quieres consultar otras funciones. Yo me voy a centrar en 'high_definition_clock'.

En primer lugar tienes que añadir estas dos líneas de código que te permitirán ahorrarte escribir 'std::chrono::' antes de llamar a métodos u objetos dentro del ámbito de la biblioteca chrono.
using namespace std;
using namespace std::chrono;
A continuación crea dos variables que contendrán el tiempo antes y después de la ejecución:
double time;
duration<double> interval;
high_resolution_clock::time_point start, end;

start = high_resolution_clock::now();
// Función que quieras medir.
end = high_resolution_clock::now();
Posteriormente se calcula el intervalo de tiempo y se almacena en una variable de tipo double:
interval = duration_cast>(end - start);
  
time = interval.count();
Para ahorrarte tiempo puedes usar el objeto Clock que he implementado y que es de código libre (está en GitHub y lo muestro a continuación). Para usarlo tienes, de nuevo qué pesado, dos opciones:

  1. Copias el código dentro de tu programa. (Que no se te olvide incluir la bilbioteca chrono)
  2. Descargarte el archivo e incluirlo con '#include "clock.hpp"'. 

 En ambos casos tendrás que añadir el flag que mencioné al principio cuando compiles, '-std=c++0x'. Un simple ejemplo de uso:
Clock my_clock;
double time;

my_clock.start();
// Lo que quieras medir.
time = my_clock.now();
Fácil, ¿Verdad?

Aquí puedes ver/descargar el código al completo: ¡Saludos!

Nautilus: añadir "Nuevo documento vacío" al menú

Estos días usando Fedora me he dado cuenta que al hacer click derecho sobre algún directorio en Nautilus, el gestor de archivos ), no me dejaba crear un documento en blanco. Directamente no aparecía la opción.

La solución es bien sencilla como siempre : tenemos que crear un documento dentro de la carpeta "Plantillas". Para ello abrimos un terminal ( CTRL+T ) y ejecutamos:

cd Plantillas/
touch 'Nuevo documento.txt'


Inmediatamente después nos aparecerá la opción al hacer click derecho. Lo único que no me gusta de esta solución es que crea el archivo directamente y no te da la opción de renombrarlo sin hacer click en él. Pero bueno, mientras que encuentre alguna otra solución hace el apaño.

¡ Saludos !

Permisos en Linux


En Linux cada fichero y directorio tiene asociados permisos de lectura, escritura y ejecución.

Los permisos en ficheros se pueden representar mediante letras o en octal (valor entre paréntesis):
  • r - Permiso de lectura. ( 4 )
  • w - Permiso de escritura. ( 2 )
  • x - Permiso de ejecución. ( 1 )
La representación en octal es la suma de los permisos de cada campo, es decir, si posee permiso de lectura y escritura tendrá el valor 4+2+0=6.

Los permisos en directorios son un poco diferentes:
  • r - Permite al usuario mostrar los archivos contenidos dentro del directorio.
  • w - Permite al usuario crear, eliminar y renombrar archivos así como modificar las propiedades del directorio.
  • x - Permite al usuario acceder al directorio y a los archivos que contiene.
En los permisos podemos distinguir tres campos:
  • Propietario: rwx
  • Grupo: rwx
  • Otros: rwx
Importante: Si carece de alguno aparecerá el carácter “-” indicando que no tiene dicho permiso.

Ejemplo
Suponemos los siguientes permisos de un archivo: rwx r-- r-x. En octal: 745
El propietario podrá leer, escribir y ejecutar dicho archivo, el grupo sólo leerlo y otros podrán leerlo y ejecutarlo. La representación en octal sería:
  • Propietario: 4+2+1=7
  • Grupo: 4+0+0=4
  • Otros: 4+0+1=5
Caso práctico


Para experimentar un poco podemos abrir un terminal y utilizar la orden “ls” que lista los archivos y directorios del directorio actual. Además añadiremos la opción “-l” para obtener información adicional. En mi caso:

$ ls -l

drwxrwxrwx.  1 pirobtumen pirobtumen          6 nov 17 22:03 Documentos

Para analizar los permisos nos fijamos en la cadena “drwxrwxrwx”. Según lo que hemos aprendido podemos descomponerlo en diferentes partes: d / rwx / rwx / rwx.
La ‘d’ inicial nos indica que es un directorio. Los permisos serían:
  • Propietario: rwx -> 4 + 2 +1 = 7
  • Grupos: rwx -> 4 + 2 +1 = 7
  • Otros: rwx -> 4 + 2 +1 = 7
Ahora vamos a crear un archivo nuevo con la orden “touch”:
$ touch prueba.txt

Analizamos sus permisos:
$ ls -l prueba.txt

-rw-rw-r--. 1 pirobtumen pirobtumen 0 ene 30 12:36 prueba.txt

E incluso podemos modificarlos con la orden “chmod”:
$ chmod 705 prueba.txt
*Nota: el valor 705 son los permisos en octal.

Comprobamos sus nuevos permisos:
$ ls -l prueba.txt
-rwx---r-x. 1 pirobtumen pirobtumen 0 ene 30 12:36 prueba.txt

También podemos usar la orden “chmod” de la forma:
$ chmod <id_campo><operador><tipo_permiso> <archivo>
  • id_campo puede ser propietario (u), grupo (g) u otros (o).
  • operador puede ser (+) para añadir o (-) para eliminar permisos.
  • tipo_permiso será lectura (r), escritura (w) o ejecución (x).
Para más información podéis buscar en internet o en el manual “$man chmod”, así como “touch” o “ls”.

Licencia:
Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.

Linux - mpi : no se encontró la orden

Los sistemas linux, como Ubuntu o Fedora, normalmente vienen con muchas aplicaciones y librerías, entre ellas está OpenMPI.
Si usas Ubuntu probablemente no necesitarás esto porque el directorio donde están los ejecutables de OpenMPI ya viene incluido en la variable de entorno 'PATH'.

¿ Cómo se si están incluidos o no?

Muy sencillo, abre una terminal y ejecuta
mpicc
o mpirun o cualquier otra orden de mpi.
Si obtienes el mensaje " ... : No se encontró la orden... " tienes que añadirlo al PATH.

¿ Cómo puedo añadirlo ?

Primero abre un terminal ( o usa el que abriste antes ) y ejecuta:
find /usr -name "mpirun"
Aquí estamos buscando el ejecutable "mpirun" que sabemos que es parte de la librería. Yo obtengo la siguiente salida:
/usr/lib64/openmpi/bin/mpirun
Normalmente siempre están en el directorio '/usr/lib64/openmpi/bin' si tu sistema es de 64bits o solamente "lib" si no lo es.
Ahora sólo tienes que añadirlo con:
export PATH=$PATH:/usr/lib64/openmpi/bin/
Si usas la orden 'export' tendrás que ejecutarla por cada terminal que abras o reinicies. Si no quieres tener que hacerlo cada vez hay que incluirlo en el archivo ".bashrc".

Abre una terminal y ejecuta:
cd ~
gedit .bashrc
Yo uso gedit, tú puedes usar tu editor favorito.

Y añadimos al final la orden 'export' usada anteriormente:

Linux - Command mpi not found

Linux systems, such as Ubuntu or Fedora, usually come with a lot of libraries or applications, and OpenMPI is among them.
If you use Ubuntu you probably won't need this because it includes the openmpi binaries folder in the environment variable 'PATH'.

How I know if I it's included or not?


It's quite simple, open a terminal and run:
mpicc
or mpirun or any other mpi command.
If you obtain the message " ... : Command not found... " you have to add it to PATH.

How can I add it?

First open a terminal ( or use the one you opened before ) and run:
find /usr -name "mpirun"
Here we are looking for the executable "mpirun" which we know it's part of the library. I obtain the following output:
/usr/lib64/openmpi/bin/mpirun
Normally it is always under '/usr/lib64/openmpi/bin' if your system is 64bits or only "lib" if not.
Now you only have to add it:
export PATH=$PATH:/usr/lib64/openmpi/bin/
If you use the export command you have to use it for every terminal you open / restart. If you don't want to do this only add it to your ".bashrc" file.

Open a terminal and run:
cd ~
gedit .bashrc
Use gedit or other text editor you like.

And at the end of the file add the previous export command:

Cambiar la aceleración del ratón [ LINUX / UBUNTU ]

Después de un tiempo sin trastear con el Sistema Operativo del ordenador ( raro en mí ya que siempre acabo tocando ciertas partes para probar y acabo reinstalándolo ) me he decido a actualizar a Ubuntu 15.10 Wily Werewolf ( cosa que no me gusta, prefiero hacer una instalación limpia ) y hasta ahora no he tenido ningún problema, de hecho funciona bastante mejor.
Mi sorpresa ha sido que, al intentar mover las ventanas, seleccionar el texto... era imposible.

He intentado cambiarla en "Configuración -> Ratón" pero aún así no funcionaba.


Tranquilos, no tiréis el ordenador aún por la ventana que la solución es bien sencilla:

Abrimos nuestro terminal ( desde un launcher o con un atajo, en mi caso CTRL + ALT + T ) y escribimos la siguiente orden
 xset m 2 20 
La orden xset nos va a permitir editar la configuración del sistema de ventanas X. Vamos a revisar las opciones:

    - m: Hace referencia al ratón (mouse).
    - primer_número: aceleración del ratón.
    - segundo_número: 'threshold' ( umbral ) del ratón.

La aceleración es un multiplicador a la velocidad del ratón de forma que la velocidad no sea constante ( a no se que lo pongáis en 0 ).
El threshold (umbral) es el número de pixels a partir del que se va a aplicar la aceleración.

El umbral nos permite configurar una pequeña zona alrededor del cursor donde no haya dicha aceleración de forma que podemos seleccionar texto, mover una ventana un poco o hacer movimientos más precisos en dicho área y si hacemos un movimiento más largo que sí se acelere ( y tengamos menos precisión ).

Podéis jugar con estos parámetros hasta encontrar la configuración que más os guste y que mejor se adapte a vuestras necesidades.

Deja un comentario diciendo si te ha sido útil, si te ha gustado, cualquier tipo de sugerencia o si quieres que hable de algún tema en concreto.

¡ Saludos !

Limpiar refrigeración de un portátil

En esta ocasión vamos a desarmar un portátil (algo antiguo ya) de la marca Packard Bell.


 Si no sabéis desmontar vuestro modelo de portátil os aconsejo que busquéis algún tutorial en YouTube o Google. De todas formas suele ser quitar un par de tornillos y retirar la tapa trasera, aunque si no estáis experimentados en este mundillo mejor seguir un tutorial.

Algunos portátiles se resisten ya que para limpiar la refrigeración hay que desmontar toda la tapa trasera entera. En este caso he tenido suerte ya que trae una tapa de fácil acceso.

Bien retiramos dichos tornillos y podemos ver las tripas del ordenador.

Lo primero es desconectar la alimentación del ventilador y retirar los tornillos. Lo extraemos.


Ahora retiramos los tornillos del "heat sink" (los tubos de refrigeración) y con una aspiradora limpiamos tanto el ventilador como el radiador que en este caso tiene una capa de polvo muy espesa que no deja pasar el aire. Podemos ayudarnos de un pequeño pincel para levantar el polvo incrustado o de aquellos rincones donde no llegue la aspiradora.

( Tened cuidado al sacarlo ya que puede haber algún cable que obstaculice la extracción. )


Lo montamos todo invirtiendo el proceso seguido y ¡ listo !

Algunos consejos

  • Poned el ordenador bocabajo encima de un trapo bastante amplio. Este además os ayudará a no perder los tornillos si se os escapan.
  • Cuidado con los tornillos, dejadlos en grupos del mismo tipo para facilitaros el montaje y saber dónde van. Podéis meterlos en algún tipo de caja si creéis que se os pueden perder.
  • Sed pacientes y cautelosos, ya que si aplicáis mucha fuerza probablemente rompáis el ordenador. A veces nos hemos dejado algún tornillo o pestaña.
  • También podemos cambiar la pasta térmica, pero en este caso no lo hemos hecho ya que se encontraba en buen estado. En otro tutorial cubriremos este tema.
Con esto conseguimos un mejor rendimiento (ya que trabaja a menor temperatura) así como alargar la vida útil de este.

¡ Saludos !

Crear un USB de instalacion Ubuntu en Windows



Normalmente yo solía utilizar CD / DVD para hacer cualquier tipo de instalación de sistemas operativos.

Una vez finalizado el curso académico, ya puedo permitirme "perder el tiempo" en formatear el ordenador.

Esta vez preferí utilizar un USB, más cómodo, velocidad, ruido, etc etc.

Para crear el USB de Ubuntu ( o de cualquier otra distribución ) necesitamos:

  1. La imagen (.iso) de nuestra distribución favorita.
  2. Universal USB installer
Por supuesto necesitaremos una memoria USB suficientemente grande.

Nos descargamos Universal USB installer (click) y por supuesto la imagen de nuestra distro favorita. La página de descargas de Ubuntu la tenemos aquí (click).

Ahora seleccionamos la distro a instalar y por supuesto añadimos la ruta a nuestra imagen.



Seleccionamos la unidad USB y le damos a "Create".

Por último conectamos el USB al ordenador, reiniciamos este y en caso de que no arranque desde el USB deberemos entrar en la BIOS y darle prioridad al USB / DVD frente al HDD.

¡ Saludos !

Volver de Windows 7 a Windows 8.1 y activarlo



Todo comienza cuando hace casi un par de años me compré mi portátil actual.

[ Ironía ON ]

Este venía con Windows 8, el mejor sistema operativo del mundo y más aún recién salido, pulido de fallos y bugs.

[ Ironía OFF ]

Por tanto me decidí a volver a Windows 7 que era bastante estable y no me daba ningún tipo de problema, podía usar todas las aplicaciones que necesitaba.

A día de hoy, y con la inminente salida al mercado de Windows 10 ( gratuita si vienes de Windows 8/8.1 ) me propuse formatear el ordenador y volver a Windows 8.

Para instalar Windows 8 simplemente necesitamos una unidad flash u óptica superior a 4GB.

Nos descargamos desde la página de windows (click) la utilidad para crear un medio de instalación.

Una vez descargado conectamos nuestro USB / DVD y lo creamos ( es sencillo seguir los pasos del instalador, cualquier duda dejadla en los comentarios ).

Reiniciamos, arrancamos desde la unidad externa que hemos creado y seguimos los pasos para formatear / actualizar nuestro sistema.

Ahora para activar Windows 8.1 pueden pasar dos cosas:

Tengo una Key de Windows 8 / 8.1


Lo único que tenemos que hacer es buscar dentro del sistema un lugar para activarlo con la clave que tenemos ( el proceso de toda la vida ).

No tengo una Key de Windows 8 / 8.1




En este caso nuestro ordenador traerá en la parte trasera una pegatina como la de la foto.
Esto significa que la Key de nuestro sistema está grabada en la BIOS de nuestro ordenador y se activará automáticamente sin hacer nada.

Si para crear el disco de instalación os pidiese alguna clave, el propio Microsoft ha liberado "Generic Keys" que nos permiten simplemente instalar el sistema pero no lo validan.

Último paso


Bueno, ahora el último y no menos importante paso es particionar el disco e instalar Ubuntu.

Si tenéis alguna duda ponedla en los comentarios, así como si alguno necesita un tutorial para formatear / instalar algún OS.

¡ Saludos !

Tutorial SJ5000+: Solución problemas Wi-Fi



Recientemente he adquirido una "action cam" que a mi parecer da muy buenos resultados comparada con las famosas "GoPro".
El problema reside en que hay menos documentación y faltan por pulir muchos detalles, pero funciona que es lo importante.

Este modelo en concreto, la SJCAM SJ5000+ trae Wi-Fi pero NO funciona con las aplicaciones oficiales de SJCAM (me he pasado días intentándolo hasta dar con la tecla).
La cámara lleva en su interior el SoC Ambarela A7 que nos permite grabar a 1080p/60fps.
Para poder hacer funcionar el Wi-Fi necesitamos la aplicación de Ambarella y NO la de SJCAM.

Aplicación móvil

Aplicación (enlace): LinkInEyes
Únicamente la he podido probar en Android.

Instrucciones

1. Activar el wifi de la cámara manteniendo el botón del Wi-Fi pulsado unos segundos. La cámara se reiniciará y a los pocos segundos el indicador del Wi-Fi aparecerá en verde.



2. Conectarnos desde nuestro SmartPhone a dicha Wi-Fi ( desde ajustes le podéis cambiar el SSID a uno más corto. Yo le puse SJ5000+ ).

3. El password por defecto es " 12345678 ". ( También podéis cambiarla desde los ajustes, yo la dejé así ).

4. Una vez conectados abrimos la aplicación en el SmartPhone y habremos accedido a las funciones que nos permite la cámara.

Espero que os sirva de ayuda. Salu2.

Sublime Text 2 : Destacar operadores en color [ C++ ]

En Sublime Text 2, el conocido editor de texto para código, en los programas en C++ si os habéis fijado los operadores en el código aparecen del color genérico del tema que tengáis seleccionado ( por defecto es el blanco ).
Si queréis que éstos resalten en algún color sólo tenemos que sustituir una línea en un fichero del programa. Directorio del archivo:
 ** Directorio de Sublime Text ** /Pristine Packages/C++.sublime-package
Hacemos doble click en dicho archivo y se nos abrirá el gestor de archivos. Dentro abrimos este otro archivo:
C++.tmLanguage
Buscamos este código o uno parecido ( para ello buscad: "keyword.operator" y fijaros en el que tenga la etiqueta "<string>"):
<dict>
   <key>match</key>
   <string>=|==|&lt;&gt;|:=|&lt;|&gt;|\*|\/|\+|:|\?|\-|!=|.=||\|\|</string>
   <key>name</key>
   <string>keyword.operator.c++</string>
  </dict>
Sustituimos la etiqueta "<string> ... </string>" por esta otra:
<string>\[|\]|;|%|=|==|&lt;&gt;|:=|&lt;|&gt;|\*|\/|\+|:|\?|\-|!=|.=||\|\||&amp;&amp;</string>
Tal que así:
Guardamos y ¡listo!
Si alguno no conoce el editor aquí tiene su web desde donde puede descargárselo. ( Enlace )

Cifrados WiFi: Protegiendo nuestra red

En este post vamos a conocer los tipos de cifrados para nuestra red WiFi y explicar conceptos básicos para evitar que "el vecino" nos "robe" el internet.

¿Por qué deberíamos proteger nuestra red?

Bien, quizá os de igual por un motivo u otro que una tercera persona acceda a vuestra red ya que puede que para vosotros no sea una necesidad tener un buen ancho de banda o simplemente no os importa. Bien, perfecto, pero... ¿Qué puede hacer un atacante una vez que ha entrado en vuestra red?
En primer lugar podría ver qué equipos hay en tu red y explotar vulnerabilidades accediento a vuestros datos. Si tenéis cámaras IP podría acceder a ellas, si vuestra contraseña del router es la que venía por defecto podría modificar los parámetros de vuestro router e incluso dejaros sin internet (aunque tendría solución). Tambíen podría "esnifar" vuestros datos y obtener vuestras contraseñas. Por tanto, ¿Salimos ganando con un poco de protección, no?

Los cifrados actuales

WEP

WEP, acrónimo de Wired Equivalent Privacy, fue uno de los primeros cifrados WiFi (sobre el 2000). Hoy por hoy se conocen las vulnerabilidades de este sistema y en apenas unos minutos se puede obtener la contraseña del router "víctima". Por tanto bajo ningún concepto lo uséis, ya que es como si no tuviéseis protección.

WPA

WPA o "Wi-Fi Protected Access" surgió para corregir las limitaciones del WEP. Introdujo mejoras de seguridad como el TKIP (Temporal Key Integrity Protocol).
WPA implementa el sistema PSK o de clave compartida. Existe una versión "personal" y otra de empresa.

WPA2

Es el estándar más moderno para proteger redes inalámbricas y el que recomienda la Wi-Fi Alliance. Al igual que el WPA existe una versión personal (WPA2-Personal) y empresarial (WPA2-Enterprise). Este sistema es compatible con WPA (pero no con WEP), por tanto no vas a tener ningún problema con los dispositivos que soporten el anterior.

¿TKIP o AES?

Sin duda elegiríamos el cifrado AES ya que en el TKIP se han descubierto algunas vulnerabilidades. De todas formas aumentando la seguridad a WPA/WPA2 nadie (en principio) va a querer conectarse a nuestra red. El único inconveniente es que algunos dispositivos pueden no soportar el cifrado AES. Por tanto informaros pero en general los smartphones y ordenadores deben de funcionaros correctamente.

Eligiendo una contraseña fuerte

Mi recomendación es que la contraseña sea de unos 15 carácteres, que contenga tanto números como mayúsculas, minúsculas y caracteres especiales (@#~$%&...). Además deberíais no usar palabras tipo "1234", "contraseña", "movistar", ni nada relacionado con vosotros.
Otro factor importante es cambiar el nombre de la red para que no sepan de qué compañía sois.
Con esto estamos evitando los ataques por fuerza bruta o por diccionario.

Espero que os haya sido útil. En próximas entregas seguiremos viendo más factores "de riesgo".

Cómo conectarse a un servidor FTP con FileZilla

Los servidores FTP son muy útiles para enviar y transmitir arcvhivos entre ordenadores. De hecho es el protocolo que se usar para subir archivos a un hosting web.
Para conectarnos podemos utilizar clientes con interfaz gráfica como FileZilla (mi favorito).
Para instalarlo en Ubuntu abrimos un terminal y ejecutamos:
sudo add-apt-repository ppa:n-muench/programs-ppa
sudo apt-get update
sudo apt-get install filezilla
Ahora lo abrimos y esta es la interfaz:
Para conectarnos podemos usar la conexión rápida introduciendo servidor (dirección IP), usuario, contraseña y puerto (por defecto es el 20/21).

Usando el terminal: FTP

El comando ftp nos va a permitir conectarnos a un servidor y navegar por los directorios así como descargarnos o subir archivos.
ftp
Ahora nos pedirá nombre de usuario y contraseña. Una vez dentro estos son algunos comandos que podemos usar:
ls
Para ver los archivos y directorios.
cd /directorio
Para entrar en un directorio y:
cd ..
Para subir.
get archivo
Nos descargamos el archivo indicado.
put archivo
Para subir el archivo al servidor.
d :D Espero que os haya sido útil. Si os gusta o necesitáis algo comentad :D

Descargar videos/musica de YouTube

Existen multitud de herramientas que nos permiten descargarnos los vídeos o el sonido, pero desde luego la mejor solución que he encontrado es Youtube-Mp3.
Esta web nos permite, introduciendo una url de un vídeo de youtube descargarnos tanto el vídeo como el audio, sin instalar nada, con apenas dos clicks y además funciona desde el móvil.
Fácil y sencillo, sin instalar nada y gratis!

Obtener Feed en JSONP de Blogger/Feedburner

¿Qué es JSONP? (Wikipedia):
JSONP o JSON con padding es una técnica de comunicación utilizada en los programas JavaScript para realizar llamadas asíncronas a dominios diferentes. JSONP es un método concebido para suplir la limitación de AJAX entre dominios, que únicamente permite realizar peticiones a páginas que se encuentran bajo el mismo dominio y puerto por razones de seguridad.
Es decir, podemos obtener con JQuery o JS datos de otro dominio (en este caso el 'post feed') evitando así el error de 'Cross Domain' y cumpliendo la 'Política del mismo origen' (Same origin policy, wikipedia). A grandes rasgos una medida de seguridad para evitar que las peticiones AJAX accedan a datos como las cookies o credenciales para suplantar (por ejemplo) una identidad.
Una vez entendido esto pasamos a ver cómo podemos acceder al 'Feed' del blog. Primera forma:
http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=100&q=http://feeds.feedburner.com/nombre_blog_feedburner
O la segunda forma:
http://tudominio.com/feeds/posts/default?orderby=published&max-results=10&alt=json-in-script&callback=nombre_funcion
Podéis cambiar el número de 'post' que queréis que devuelva (cambiando 'num=X' o 'max-results=X'). Usando la segunda forma necesitaremos crear una función con el nombre indicado en el callback, y nos devolverá los datos (JSONP).
Espero que os sirva de ayuda :)

Raspberry Pi: first steps

Choosing an Operating System

Once we purchased our Raspberry Pi (model A, B, or B +), we need a SD (or other card with adapter) where we'll install our OS (the more capacity you have, the better). Here you have some of them:
  • RASPBIAN: Debian Wheezy
  • PIDORA: Fedora Remix
  • OPENELEC: An XBMC Media Centre
  • RASPBMC: An XBMC Media Centre
  • RISC OS: A non-Linux distribution
  • ARCH LINUX: A lightweight Linux distribution
  • NOOBS: Offline and network install
Choose the one that suits better to your needs. You can download it from here and read more about them.
In my case I will install Raspbian which is like Debian, and allow me to install servers, software, etc.

Preparing SD card

If you use Windows, you can format it using 'right click' or the tool SDFormatter .
In Ubuntu you can use gparted:
 sudo apt-get install gparted 
To use it you need to be root:
 sudo gparted 
Now in the top right corner (where it says /dev/...) choose the one of the SD card (by default is your hard drive, be carefull). Assure that you select the SD Card (the total capacity should be approximately the size of the card) or you can disconnect it and connect it to see who appears/disappears.
If you are sure, delete the partition(s) and apply format ( FAT32 ) and apply changes.
This utility will also enable you to manage partitions (create, resize, delete, format, etc).

Burn the image

From Windows :
Download and install Win32DiskImager here . Then open it and select 1. picture 2. the SD unit.
From Ubuntu :
Like in windows we can use an application with graphical interface and follow the same steps:
 sudo apt-get install gparted usb-imagewriter 
 sudo usb-imagewriter 

From terminal

Once we would have downloaded, extract it and open a terminal. Navigate to the folder where it is (in my case Downloads ):
 cd Downloads 
Well, now pay close attention because you can erase the contents of your partition. First let's see which devices are connected:
 df -h 
Now connect our SD card and re-run the command. The device which came is where we'll copy the new image. (If not open your SD from the manager folders to be mounted). In my case it is /dev/sdb1 (I have only one partition, if I had more will appear as sdb2, sdb3 ...). Now unmount the SD (do it with all partitions):
 sudo umount /dev/sdb1/
Now copy the image ( beware of this because if you are wrong you will lose all data on the hard disk or drive ):
 sudo dd bs=4M if=image_name.img of=/dev/sdb 
 sync 
*Note 1: Do not put the "1" (indicating the partition), that is, you have to put (in my case) /dev/sdb and no /dev/sdb1.
*Note 2: This command shows no output and appears to be 'frozen'. Simply you have to wait because it may take a few minutes.
Done! We have ready to use our SD car in the Raspberry.

Raspberry Pi: Primeros pasos - Instalar un SO

Elegir sistema operativo

Una vez nos hemos comprado nuestra Raspberry Pi (ya sea el modelo A, B, o el B+) necesitaremos una tarjeta SD (u otra con adaptador) en la que instalaremos nuestro sistema operativo (cuanto más capacidad tenga, mejor). Os muestro una lista de algunos:
  • RASPBIAN: Debian Wheezy
  • PIDORA: Fedora Remix
  • OPENELEC: An XBMC Media Centre
  • RASPBMC: An XBMC Media Centre
  • RISC OS: A non-Linux distribution
  • ARCH LINUX: A lightweight Linux distribution
  • NOOBS: Offline and network install
Elegid el que más os guste o el que mejor se adapte a vuestras necesidades. Podéis descargároslos desde aquí y leer más información sobre ellos.
En mi caso voy a instalar Raspbian que es como Debian, lo que me va a permitir instalar servidores, programas, etc.

Preparar tarjeta SD

Si usáis Windows podéis formatearla usando botón derecho o con la herramienta SDFormatter.
En Ubuntu podéis usar gparted:
sudo apt-get install gparted
Para usarlo necesitáis ser root:
sudo gparted
Ahora seleccionáis arriba a la derecha (donde pone /dev/...) el de la tarjeta SD (por defecto vendrá vuestro disco duro). Aseguraros que seleccionáis la tarjeta SD (la capacidad total debe ser aproximada a la capacidad de la tarjeta) o podéis desconectarla y conectarla hasta ver cual aparece y desaparece.
Cuando estéis seguros borráis la partición(es) y aplicáis un formato (FAT32) y aplicáis los cambios.
Esta utilidad también os permitirá gestionar las particiones (crear, redimensionar, borrar, formatear, etc), tanto de Tarjetas, como SSD, HDD...

Instalar imagen

Desde Windows:
Instaláis Win32DiskImager desde aquí lo abrís y seleccionáis 1.La imagen 2.La unidad de la SD.
Desde Ubuntu:
Al igual que en windows podemos utilizar una aplicación con interfaz gráfica muy sencilla y seguir los mismos pasos:
sudo apt-get install usb-imagewriter gparted
sudo usb-imagewriter
*Nota: Sólo disponible en ubuntu 12.10 o anteriores.

Desde el terminal

Una vez nos lo hemos descargado, lo extraemos y abrimos un terminal. Navegamos hasta la carpeta donde esté (en mi caso en Descargas):
cd Descargas
Bien, ahora prestad mucha atención porque podéis borrar el contenido de vuestra partición. Primero vamos a ver los dispositivos que hay conectados:
df -h
Ahora conectamos nuestra tarjeta SD y volvemos a ejecutar el comando. El dispositivo que haya aparecido nuevo será donde copiemos la imagen. (Si no aparece abrid la SD desde el gestor de carpetas para que se monte). En mi caso es /dev/sdb1 (Yo sólo tengo una partición, si tuviese más aparecerían como sdb2, sdb3...). Ahora desmontamos la SD (hacedlo con todas las particiones):
sudo umount /dev/sdb1/
Y ahora copiamos la imagen (Cuidado con esto ya que si os equivocáis perderéis todos los datos del disco duro o de la unidad que sea):
sudo dd bs=4M if=nombre_imagen.img of=/dev/sdb
sync
*Nota 1: No hay que poner el '1' (que indica la partición), es decir, hay que poner (en mi caso) /dev/sdb y no /dev/sdb1.
*Nota 2: Este comando no muestra ninguna salida, parece que está 'congelado'. Simplemente tenéis que esperar ya que puede tardar unos minutos.
Y listo! Ya tenemos nuestra SD lista para introducir en la Raspberry.