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

jueves, 4 de enero de 2018

Valores máximos de los tipos int y float en Arduino

En float.h tienes FLT_MAX que indica el máximo valor que puede tomar un float
En limits.h tienes INT_MAX que indica el máximo valor que puede tomar un int

domingo, 24 de septiembre de 2017

Instalar SO de una Raspberry a partir de una imagen .img

Debes usar el comando dd.

Por ejemplo si la sd está en sdd: y la imagen se llama RP.img:

sudo dd bs=4M if=RP.img of=/dev/sdd conv=fsync

lunes, 27 de febrero de 2017

Ejemplo rapido de cron en linux

Debes editar el fichero /etc/crontab y añadir los tabs

Ejemplo:
20 8 27 2 * hector echo "esto es una prueba" | tee /tmp/prueba

Indica que quiere correr todos los años el comando "echo "esto es una prueba" | tee /tmp/prueba" con el usuario hector el 27 de febrero a las 8 y 20 AM


sábado, 18 de febrero de 2017

El mejor editor de Bash para linux

La mejor forma de escribir código bash es usando el plugin BashSupport para los ides de IntelliJ.

En mi caso lo instalé en PyCharm y va excelente:

Entras en Settings -> Plugins -> Browse Repositories y lo buscas:



Una vez instalado renicias PyCharm y ya te debería salir la opción de crear un nuevo bash file:



Seteas el intérprete y listo

martes, 7 de febrero de 2017

ABA CANTV se pone lento con aumento de plan (Explicación del porque)

Es probable que al subir el plan de internet tu velocidad de conexión haya bajado. En mi caso me ocurrió que tenía 4 Megas y me funcionaba bien. Luego coloqué el de 10 Megas y la velocidad de descarga bajó drásticamente a 1 Mega

Esto suena contradictorio pero tiene explicación:

Explicación corta:

La linea que tienes no "soporta" el plan que colocaste porque tienes mucha atenuación o ruido, por lo que el modem reduce la velocidad de transferencia a una que permita la comunicación con menos tasa de errores.

OJO: También es posible que tu baja de velocidad sea también por saturación en el servicio de CANTV

Explicación larga:

Hay dos variables que definen la velocidad máxima que se puede transmitir por una línea antes que se pierda la sincronización. Estas son el ruido y la atenuación.
Estas variables las puedes ver en el panel de tu modem:

En este caso el modem indica un SNR Margin de 13.3 dB y una atenuación de 32 dB.


Ruido:

Cada linea telefónica tiene un ruido  asociado. Este es llamado SNR.
Cada velocidad de conexión tiene un ruido máximo al que se puede transmitir llamado SNR to sync.
La diferencia entre el SNR y SNR to sync es el SNR Margin, que se puede interpretar como la holgura que se tiene para transmitir a esa velocidad con ese ruido SNR.
El valor del SNR to sync viene seteado en el modem y depende de cada fabricante
Ejemplo
SNR = 44dB
SNR to sync at 8Mb = 35dB       <--- Plan CANTV 8 Megas
SNR MARGIN = 44-35 = 9dB <---- Mientras mayor sea el número mejor es la conexión

¿Como sé si mi plan es adecuado según el ruido que tengo?
Por lo anteriormente expuesto, el SNR Margin aumenta cuando cambiamos de plan.

Puedes guiarte con los siguientes valores para saber si tienes un SNR Margin adecuado:

6dB O menos deriva en una muy mala navegación con muchos errores.
7dB-10dB Conexión con mala calidad
11dB-20dB Es un buen valor. Con pocos problemas sincronización
20dB-28dB  Es excelente. 
29dB o más: Es un sueño (El ruido ideal)

Atenuación:

Es la reducción de la "fuerza" de la señal en la linea. Está relacionado con la distancia al nodo, pero también hay otros factores como la calidad del cable, la frecuencia de transmisión, los empalmes, etc.

Generalmente se asume que hay una perdida de 13.81 db por cada km que separe el cliente del nodo (Por supuesto en la vida real nunca es exacto y depende del tipo de infraestructura de transmisión).

20dB o menos es ideal
20dB-30dB es excelente
30dB-40dB es muy bueno
40dB-50dB es aceptable
50dB-60dB es una conexión pobre y muy posiblemente tengas problemas
60dB o menos es muy mala atenuación. Tendrás problemas importantes en la navegación


Con un ruido ideal, estas son las siguientes velocidades de navegación máximas que se pueden lograr. Note la relación entre distancia y atenuación:
1km = 24Mbit
1.0km = 13.81dB = 23Mbit
1.5km = 20.7dB = 21Mbit
2.0km = 27.6dB = 18Mbit
2.5km = 34.5dB = 13Mbit
3.0km = 41.4dB = 8Mbit
3.5km = 48.3dB = 6Mbit
4.0km = 56dB = 4Mbit
4.5km = 62.1dB = 3Mbit
5.0km = 69dB = 2Mbit

En la siguiente table lo podemos ver mejor




Mi experiencia:
Mi ejemplo: Con el plan de 8 Megas en las mañanas el SNR Margin sube a 22.3 dB y puedo navegar con total normalidad a 8 Megas. En la tarde el SNR Margin baja y se sitúa en 13 por lo que la velocidad baja y no paso de 2 Megas.

Para ver estos valores entra en el panel de tu modem y busca las opciones DSL







Hosting

sábado, 4 de febrero de 2017

Manejo de imágenes API con Laravel 5.3

Me surgió hacer un api en donde el cliente debía subir imágenes:

Para hacerlo es muy sencillo. Primero creas la ruta:

Route::post('/add', 'ApiAuthController@add');

Luego creas el controlador

    public function add(Request $request) {
        $v = Validator::make($request->all(), [
            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

        if ($v->fails()){
            return response()->json(["success"=>"False", "Error"=>$v], 422);
        }

        $image = $request->file('image');
        $input['imagename'] = time().'.'.$image->getClientOriginalExtension();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $input['imagename']);

//        $this->postImage->add($input);

        return back()->with('success','Image Upload successful');
    }

Luego lo pruebas con Postman


y Listo. Se guarda en public/images



Hosting

jueves, 2 de febrero de 2017

Instalar módulo de python en formato tar.gz

Si por ejemplo quieres instalar el módulo netifaces en un sitio donde no hay conexión a internet

Primero te bajas el paquete de:

https://pypi.python.org/simple/

Luego lo instalas

pip install ./netifaces-0.10.4.tar.gz
pip3 install ./netifaces-0.10.4.tar.gz

y listo



Hosting

miércoles, 28 de diciembre de 2016

¿Cual es la verdadera versión de popcorntime?

Buscando popcorntime para ver unas pelis me encontré que casi todas las pags son fakes.

Este diagrama explica cuales son peligrosas y cuales son verdaderamente las oficiales



En definitiva, si quieres descargar Popcorn Time descargalo desde

https://get.popcorntime.sh

Esta es la pag oficial

jueves, 8 de diciembre de 2016

Descargar videos de Miriadax

Si deseas descargar los videos de Miriadax debes darle botón secundario al video y luego a la opción "Ver código fuente del marco"





Luego buscar  ".mp4" en ese código (CTRL+F) y verás los distintos links para las distintas resoluciones.



Si pasamos un JSON por un formateador podemos ver lo siguiente:


En mi caso el link para descargar el video en 1080p es el siguiente:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/01/1656/7/183281459/612228881.mp4?token=5849fc3a_0x6234d8b1c13aebec004f6b8e84fa43c8a839ab94

Una vez abierto el link le damos botón secundario y descargamos el archivo de video


martes, 8 de noviembre de 2016

Hacer backup de una base de datos CouchDB

¿Que quiero hacer?
Un backup de una base de datos en CouchDB para moverla de una maquina (en forma de fichero).

En Centos 7 las bases de datos de couchdb se guardan como ficheros que tienen el mismo nombre de la bd pero con la extensión .couch. La ruta es /usr/local/var/lib/couchdb/.

En fedora 24 la ruta es /var/lib/couchdb

Basta con copiar el fichero de ese directorio y pegarlo en el mismo en la otra maquina

En este caso vamos a copiar una bd llamada "books" en nuestra maquina


Primero le damos permiso al directorio

chmod 777 /usr/local/var/lib/couchdb

Luego pegamos el fichero


y por último arreglamos el tema de los permisos (si couchdb no es el dueño del directorio entonces no arrancará)

chown -R couchdb:couchdb /usr/local/{lib,etc}/couchdb /usr/local/var/{lib,log,run}/couchdb

y listo *.* así de fácil


martes, 1 de noviembre de 2016

Recuperar entrada de Windows 10 en el grub luego de instalar Centos 7

Luego de instalar centos no pude arrancar windows 10 porque no salía la opción el el grub al reiniciar.

Esto ocurre porque centos no tiene soporte ntfs por defecto y por lo tanto no consigue la partición de w10 al momento de crear el grub. Para solucionarlo haremos lo siguiente:


Primero instalamos el repo epel

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

yum install ./epel-release-7-8.noarch.rpm


luego instalamos el soporte ntfs (centos 7 no tiene soporte para este tipo de fs por defecto)

yum --enablerepo epel install ntfs-3g


por último actualizamos el grub

grub2-mkconfig -o /boot/grub2/grub.cfg



Debe salir una que dice "Windows recovery bla bla blabla...." Reiniciamos y lesto

lunes, 31 de octubre de 2016

Crear pendrive booteable de GParted desde linux (Fedora)

Pasos para crear un pendrive booteable de GParted desde Fedora

Primero descargamos los paquetes de tuxboot
Para x86_64
Para x86

Lo instalas: dnf install ./tuxboot*


Buscas y seleccionas el iso 


y le das aceptar y esperas a que termine

domingo, 25 de septiembre de 2016

Crear banner para canal de Youtube

Intentando cuadrar el banner para un canal de Youtube me encontré con el problema de que la imagen se mostraba incompleta como se muestra en la siguiente imagen


Para solucionarlo te puedes guiar de los "Channel Art Template" que proporciona youtube y te lo puedes descargar por aquí



Colocando tu logo en el área donde indica "TEXT AND LOGO SAFE AREA" lograrás que este se vea en todos los distintos dispositivos.

Yo tengo mi propio template que consiste en un rectángulo rojo donde voy a pegar el logo. Luego que inserto el logo cambio color rojo del cuadrado a alpha y listo.



Lo puedes descargar de aqui


Como resultado final se puede ver que el logo queda bien posicionado


jueves, 8 de septiembre de 2016

Descargando los sources de la versión de IDEA Community asociada a una versión de Android Studio

Descargando los sources de IDEA Community

Hay que descargar los códigos fuentes de IDEA Community. Pero primero debemos conocer que versión del branch de git se basa la última versión estable de Android Studio (Es muy importante por razones de vida útil del plugin que uses la última versión). Para conocerlo nos vamos a la siguiente página:



Ahí vemos que, al momento de escribir este tutorial, la ultima versión estable de Android Studio es la 2.1.3 que se basa en el branch 143 de IntelliJ IDEA (15.0.x).

Ya una vez que conocemos el branch de IDEA en la que se basa la última versión de Android Studio, ahora debes descargar los sources de IDEA. Para ello entramos en el siguiente link:




Note que debe cambiar el número final del link para adaptarlo al número del branch anteriormente conseguido (en mi caso es 143).

Luego debe descomprimirlo en un directorio. En mi caso /home/hector/Desarrollo/Android/Plugins/DomainTools/intellij-community-143

Cerrar todas las instancias de un programa en Linux




Cuando escribo entradas para el blog, fecuentemente requiero usar captures de pantalla, lo cual hace que cada vez que tome uno, se abra el programa ksnapshot. A veces son decenas de programas de estos abiertos y cerrarlos uno a uno es una ladilla. Para cerrar todas las ventanas de un programa que estén abiertas podemos usar el comando killall. En mi caso sería:

killall ksnapshot


miércoles, 7 de septiembre de 2016

Descargar código fuente de Android Studio

Este mini tutorial explica como descargar el código fuente de Android Studio, en caso de requerirlo (por ejemplo si deseas desarrollar un plugin que dependa del Android Support Plugin.

Explicación:
Google creó una herramienta llamada "repo" para facilitar el trabajo con Git en el contexto de Android. Para instalarla debes ejecutar lo siguiente:

# curl https://storage.googleapis.com/git-repo-downloads/repo > /bin/repo
# chmod a+x /bin/repo

Una vez instalada la herramienta repo podemos bajar los sources de Android Studio ejecutando desde la terminal lo siguiente :

$ mkdir studio-master-dev
$ cd studio-master-dev
$ repo init -u https://android.googlesource.com/platform/manifest -b studio-master-dev
$ repo sync

El código anterior bajará la main branch del repositorio de Android Studio (en mi caso la 1.4 rev 3 al 07-09-16).


En total pesa 9.4 GB


viernes, 2 de septiembre de 2016

Ejemplo dirección de Ipostel para tarjeta Payoneer

Cuando rellenes la información para tu tarjeta Payoneer en venezuela, es recomendable colocar una dirección de Ipostel, puesto por experiencia propia he visto que los paquetes nunca llegan.
Dos ejemplo de formatos de direcciones usadas y que llegaron fueron las siguientes: