Estas son las reglas que uso con mis dispositivos:
# USB-RS485
SUBSYSTEM=="tty",ENV{ID_REVISION}=="0254", ATTRS{idProduct}=="7523",ATTRS{idVendor}=="1a86",SYMLINK+="tty_RS485"
# USB-FTDI rs232 (BLACK)
SUBSYSTEM=="tty",ENV{ID_REVISION}=="0262", ATTRS{idProduct}=="7523",ATTRS{idVendor}=="1a86", SYMLINK+="tty_FTDI_BLACK"
# USB-FTDI rs232 (RED)
SUBSYSTEM=="tty", ENV{ID_REVISION}=="0600", ATTRS{serial}=="00000000", ATTRS{idProduct}=="6001",ATTRS{idVendor}=="0403", SYMLINK+="tty_FTDI_RED"
# Arduino UNO (Black-SaintSmart)
SUBSYSTEM=="tty", ATTRS{serial}=="75439333535351710251", ATTRS{idProduct}=="0043",ATTRS{idVendor}=="2341", SYMLINK+="tty_UNO"
# Arduino MEGA2560 R3
SUBSYSTEM=="tty", ATTRS{serial}=="85334343738351508160", ATTRS{idProduct}=="0042",ATTRS{idVendor}=="2341", SYMLINK+="tty_MEGA"
miércoles, 27 de diciembre de 2017
sábado, 16 de diciembre de 2017
FIX "falta api-ms-win-crt-runtime-l1-1-0.dll" cuando se inicia Redis Desktop Manager
Cuando ejecuto Redis Desktop Manager en Windows 7 me sale esto
Para fixearlo instala lo siguiente:
https://www.microsoft.com/en-in/download/details.aspx?id=48145
jueves, 14 de diciembre de 2017
lunes, 11 de diciembre de 2017
Crear instalador para ElectronJS
En este vídeo se puede ver todos los pasos a seguir parar realizar un instalador de una aplicación realizada en el framework ElectronJS.
https://www.youtube.com/watch?v=IuYFDwPKE3c
Adicionalmente está guía, que corresponde a los pasos del vídeo anteriormente linkeado.
https://ourcodeworld.com/articles/read/365/how-to-create-a-windows-installer-for-an-application-built-with-electron-framework
https://www.youtube.com/watch?v=IuYFDwPKE3c
Adicionalmente está guía, que corresponde a los pasos del vídeo anteriormente linkeado.
https://ourcodeworld.com/articles/read/365/how-to-create-a-windows-installer-for-an-application-built-with-electron-framework
sábado, 9 de diciembre de 2017
FIX: odoo: symbol __res_maybe_init, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
symbol __res_maybe_init, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
to fix this:
pip install psycopg2 --upgrade
to fix this:
pip install psycopg2 --upgrade
miércoles, 6 de diciembre de 2017
Microsoft lifecam hd-3000 in ubuntu 17.04
Para que funcione la cámara Microsoft lifecam hd-3000 en ubuntu 17.04 debes instalar lo siguiente:
apt install uvccapture uvcdynctrl
Luego desconectas y conectas la cámara y listo:
apt install uvccapture uvcdynctrl
Luego desconectas y conectas la cámara y listo:
lunes, 4 de diciembre de 2017
jueves, 30 de noviembre de 2017
lunes, 27 de noviembre de 2017
viernes, 24 de noviembre de 2017
AT mode HC-05 / HC-06 using FTDI USB
Conexiones:
HC-05 | FTDI
RX -> TX
TX -> RX
GND -> GND
5V -> VCC
EN / KEY -> 3.3V Jumper PIN
Pasos:
1- Presionar el botón con VCC desconectado
2- Conectar el cable VCC
3- Abrir algún monitor serial
jueves, 9 de noviembre de 2017
Delete all keys from namespace Redis
node_keys = RedisClient.db.keys('node:{}:*'.format(node_id)) for key_ in node_keys: RedisClient.db.delete(key_)
lunes, 16 de octubre de 2017
Install PyQt4 Centos 7
yum install qt
# Install sip
Download: http://www.riverbankcomputing.com/software/sip/download
cd sip-4.19.3
python3 configure.py
make -j12
make install
cd ..
# Download PyQt4: http://www.riverbankcomputing.com/software/pyqt/download
cd PyQt4_gpl_x11-4.12.1
python3 configure-ng.py --qmake /usr/lib64/qt4/bin/qmake
make -j12
make install
# Install sip
Download: http://www.riverbankcomputing.com/software/sip/download
cd sip-4.19.3
python3 configure.py
make -j12
make install
cd ..
# Download PyQt4: http://www.riverbankcomputing.com/software/pyqt/download
cd PyQt4_gpl_x11-4.12.1
python3 configure-ng.py --qmake /usr/lib64/qt4/bin/qmake
make -j12
make install
Fix: gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
Non-zero exit code (1):
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
error: command 'gcc' failed with exit status 1
FIX:
dnf install redhat-rpm-config
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
error: command 'gcc' failed with exit status 1
FIX:
dnf install redhat-rpm-config
sábado, 14 de octubre de 2017
jueves, 12 de octubre de 2017
Install Python from sources (Fedora 26)
Primero descarga el XS tarball de aqui:
Luego intentando instalar python desde los sources me dió este error:
"Solve: zipimport.ZipImportError: can't decompress data; zlib not available"
Para solucionarlo:
Luego haces:
dnf install zlib-devel python-gzipstream.noarch openssl-devel
./configure
make -j12
make install
Probado en Fedora 26
Ref:
https://askubuntu.com/questions/661039/trouble-with-zip-support-in-custom-python-build-zipimport-zipimporterror-cant
sábado, 7 de octubre de 2017
Mount raspbian in SD
Descargar la img
https://www.raspberrypi.org/downloads/raspbian/
Luego ejecutas (cambiar sdd por el disco):
sudo dd bs=4M if=.
/2017-09-07-raspbian-stretch.img of=/dev/sdd conv=fsync status=progress
https://www.raspberrypi.org/downloads/raspbian/
Luego ejecutas (cambiar sdd por el disco):
sudo dd bs=4M if=.
/2017-09-07-raspbian-stretch.img of=/dev/sdd conv=fsync status=progress
jueves, 28 de septiembre de 2017
martes, 26 de septiembre de 2017
Fast way to Install PyCharm Helpers
Follow this repo for this:
https://github.com/Eitol/pycharm_helpers_fast_install
https://github.com/Eitol/pycharm_helpers_fast_install
domingo, 24 de septiembre de 2017
Notas: instalar portal cautivo con Facebook Login en una raspberry
Al parecer RADIUSdesk es el indicado
Al final de la página escribe algo explicando:
https://sourceforge.net/p/radiusdesk/discussion/help/thread/760e9829/
Tutorial de RADIUSdesk:
https://archive.is/g6GgC
Configurar coovachilli
http://www.radiusdesk.com/getting_started/install_ubuntu_coovachilli
Personalizar las páginas
http://www.radiusdesk.com/docuwiki/getting_started/install_ubuntu_dynamic_login
Al final de la página escribe algo explicando:
https://sourceforge.net/p/radiusdesk/discussion/help/thread/760e9829/
Tutorial de RADIUSdesk:
https://archive.is/g6GgC
Configurar coovachilli
http://www.radiusdesk.com/getting_started/install_ubuntu_coovachilli
Personalizar las páginas
http://www.radiusdesk.com/docuwiki/getting_started/install_ubuntu_dynamic_login
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
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
miércoles, 20 de septiembre de 2017
Instalar Spotipo en Raspberry Pi 3
Procedimiento para instalar Spotipo en una Raspberry Pi 3 model B.
Datos:
Raspberry PI 3 B:
Raspberry PI IP: 192.168.3.242
SO: Raspbian GNU/Linux 8. Kernel 4.9.50-v7+
Spotipo versión: 2.0.6
Unifi: 5.5.20-9565
Install Unifi (Comentar la parte que instala snappy)
https://gist.github.com/bwbaugh/de575219fecf48e859a48eebe16539c6
Abre un navegador:
https://192.168.3.242:8443/manage/wizard/
Debes ver algo así:
Install dependencies
aptitude install libxslt1-dev mysql-server nginx python-dev libmysqlclient-dev libffi-dev liblcms2-dev libwebp-dev libffi-dev libxml2-dev supervisor
systemctl enable supervisor
Download spotipo (spotipo_2.0.6_armhf.deb)
https://www.spotipo.com/download/
Para evitar que falle la instalación debes ejecutar:
systemctl stop supervisor
Install spotipo
https://spotipo.com/help/install-in-ubuntu/
Datos:
Raspberry PI 3 B:
Raspberry PI IP: 192.168.3.242
SO: Raspbian GNU/Linux 8. Kernel 4.9.50-v7+
Spotipo versión: 2.0.6
Unifi: 5.5.20-9565
Install Unifi (Comentar la parte que instala snappy)
https://gist.github.com/bwbaugh/de575219fecf48e859a48eebe16539c6
Abre un navegador:
https://192.168.3.242:8443/manage/wizard/
Debes ver algo así:
Install dependencies
aptitude install libxslt1-dev mysql-server nginx python-dev libmysqlclient-dev libffi-dev liblcms2-dev libwebp-dev libffi-dev libxml2-dev supervisor
systemctl enable supervisor
Download spotipo (spotipo_2.0.6_armhf.deb)
https://www.spotipo.com/download/
Para evitar que falle la instalación debes ejecutar:
systemctl stop supervisor
Install spotipo
https://spotipo.com/help/install-in-ubuntu/
domingo, 17 de septiembre de 2017
Fix Job for supervisor.service failed when install spotipo
Instalando spotipo en una raspberry pi con raspbian jessi me lanzó el siguiente error:
-----------Running celery_get_notification-----------------------
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): spotipo.com
Starting new HTTP connection (1): spotipo.com
DEBUG:requests.packages.urllib3.connectionpool:"GET /notifications/7fbe9ef3-b0dc-4df0-9e6f-29497c05442c HTTP/1.1" 301 None
"GET /notifications/7fbe9ef3-b0dc-4df0-9e6f-29497c05442c HTTP/1.1" 301 None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): spotipo.com
Starting new HTTPS connection (1): spotipo.com
DEBUG:requests.packages.urllib3.connectionpool:"GET /notifications/7fbe9ef3-b0dc-4df0-9e6f-29497c05442c HTTP/1.1" 200 26
"GET /notifications/7fbe9ef3-b0dc-4df0-9e6f-29497c05442c HTTP/1.1" 200 26
Job for supervisor.service failed. See 'systemctl status supervisor.service' and 'journalctl -xn' for details.
dpkg: error processing package spotipo (--install):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
spotipo
FIX
El error ocurre porque el serivicio supervisor estaba levantado al arrancar la instalación.
Solo debes ejecutar lo siguiente antes de instalar
systemctl stop supervisor
systemctl stop supervisor
martes, 12 de septiembre de 2017
lunes, 4 de septiembre de 2017
check if server port is open
Esta funcion de bash permite saber si un puerto está abierto en un server
is_active_port() { curl "$1" > /dev/null && echo Connected || echo Fail; }
Luego
is_active_port 192.168.3.2:5982
miércoles, 23 de agosto de 2017
Solución Problema Asterisk Now Firewall
Después de instalar y configurar Asterisk Now, es posible que te encuentres con un problema de Rechazo de Petición, esto es porque el Firewall no te permite conectarte correctamente.
Para resolver esto, ejecuta en modo root:
service iptables stop
Para resolver esto, ejecuta en modo root:
service iptables stop
domingo, 13 de agosto de 2017
Solucion "invalid dimen" Android Studio 3
FIX:
Abrir el fichero /etc/profile
nano /etc/profile
Añadir lo siguiente
export LC_NUMERIC="en_US.UTF-8"
Reiniciar
viernes, 11 de agosto de 2017
Set Static IP raspberry PI
edita
sudo nano /etc/dhcpcd.conf
y ahí configuras. Ejemplo:
interface eth0
static ip_address=192.168.3.242/24
static routers=192.168.3.10
static domain_name_servers=8.8.8.8
interface wlan0
static ip_address=192.168.1.142/24
static routers=192.168.1.2
static domain_name_servers=192.168.1.2
Luego guardas y renicias
sudo nano /etc/dhcpcd.conf
y ahí configuras. Ejemplo:
interface eth0
static ip_address=192.168.3.242/24
static routers=192.168.3.10
static domain_name_servers=8.8.8.8
interface wlan0
static ip_address=192.168.1.142/24
static routers=192.168.1.2
static domain_name_servers=192.168.1.2
Luego guardas y renicias
domingo, 6 de agosto de 2017
Python Scaffolding
Primero instala pyscaffold, que es el programa que permite hacer Scaffolding.
pip install --upgrade pyscaffold
Comando corto:
putup NOMBRE -l mit -d "DESCRIPCION" --with-tox --with-travis
Para más info:
http://pyscaffold.readthedocs.io/en/v2.5.7/examples.html
pip install --upgrade pyscaffold
Comando corto:
putup NOMBRE -l mit -d "DESCRIPCION" --with-tox --with-travis
Para más info:
http://pyscaffold.readthedocs.io/en/v2.5.7/examples.html
domingo, 30 de julio de 2017
Fixear "Method d in android.util.Log not mocked"
Testeando una app me apareció el siguiente error:
java.lang.RuntimeException: Method d in android.util.Log not mocked. See http://g.co/androidstudio/not-mocked for details.
Para solucionarlo se debe agregar lo siguiente al fichero gradle
android{
.....
testOptions {
unitTests.returnDefaultValues = true
}
}
martes, 25 de julio de 2017
Corregir fatal: Cannot update paths and switch to branch 'stable' at the same time.
Si Cuando intentas hacer checkout de una rama que acabas de crear te sale esto:
Lo arreglas con
git remote update
git fetch
lunes, 24 de julio de 2017
Purge database in couchdb
Resumen:
Primero crea el filtro en la db origen
Para más info:
https://eclipsesource.com/blogs/2015/04/20/how-to-finally-delete-documents-in-couchdb/
Primero crea el filtro en la db origen
{
"_id": "_design/filters",
"filters": {
"deletedfilter": "function(doc, req) { return !doc._deleted; };"
}
}
Luego crea un nuevo doc en la bd _replicator:{
"_id": "replicateCleanup",
"source": "original_database",
"target": "http://admin:password@localhost:5984/original_database_replica",
"create_target": true,
"filter": "filters/deletedfilter",
"owner": "admin",
"continuous": true
}
Para más info:
https://eclipsesource.com/blogs/2015/04/20/how-to-finally-delete-documents-in-couchdb/
viernes, 21 de julio de 2017
Conexión remota en Redis
Si intentas conectarte con un servidor redis pero este rechaza la conexión es muy probable que debas modificar el fichero /etc/redis.conf de la siguiente forma para permitir conexiones remotas:
Luego reinicias el servicio de redis:
service redis restart
Si no consigues el fichero redis.conf puedes usar locate. Ejemplo
locate redis.conf
En algunas distros se encuenta en: /etc/redis/redis.conf
Git autocomplete in Centos 7
Debes agregar lo siguiente al fichero .bashrc que está en el home
for file in /etc/bash_completion.d/* ; do
source "$file"
done
Me quedó así:
Luego reinicias y listo
jueves, 20 de julio de 2017
Current Timestamp en MySQL
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
miércoles, 19 de julio de 2017
Jenkins Docker con Persistencia
Jenkins es una herramienta muy potente para hacer integración continua, pero tiene un problema, esta basado en el lenguaje Java, y instalarlo implica instalar todas sus dependencias. Por esa razón, quizás la forma más fácil de implementarlo sea utilizando la tecnología de contenedores que nos provee Docker.
Para hacer esto, tienes que tener previamente instalado Docker (https://ubunlog.com/instalar-usar-docker-ubuntu).
Los comandos a correr son: (preferiblemente en modo root)
docker pull jenkins
mkdir /root/jenkins
chmod 777 /root/jenkins
docker run -p 8080:8080 -v /root/jenkins:/var/jenkins_home jenkins
Nota: La carpeta es para que se guarde la configuración de la instalación, ya que sin esto cada vez que se inicie la imagen de Docker, van a tener que configurar todo de nuevo.
Si quieres además configurar la zona horaria, ejecútalo de la siguiente manera:
docker run -p 8080:8080 -v /root/jenkins:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=America/Santiago jenkins
Para hacer esto, tienes que tener previamente instalado Docker (https://ubunlog.com/instalar-usar-docker-ubuntu).
Los comandos a correr son: (preferiblemente en modo root)
docker pull jenkins
mkdir /root/jenkins
chmod 777 /root/jenkins
docker run -p 8080:8080 -v /root/jenkins:/var/jenkins_home jenkins
Nota: La carpeta es para que se guarde la configuración de la instalación, ya que sin esto cada vez que se inicie la imagen de Docker, van a tener que configurar todo de nuevo.
Si quieres además configurar la zona horaria, ejecútalo de la siguiente manera:
docker run -p 8080:8080 -v /root/jenkins:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=America/Santiago jenkins
jueves, 29 de junio de 2017
sábado, 24 de junio de 2017
Instalar Redis Desktop Manager en Centos 7
Primero necesitas descargar el SDK de Qt:
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-android-5.8.0.run
Debes instalarlo en /opt/Qt5.8.0
Luego debes pegar las librerías del sdk a /lib64. (Esto puede ser peligroso)
sudo cp -f /opt/Qt5.8.0/5.8/gcc_64/lib/* /lib64/
Clonas el proyecto en su versión 0.9 (Las anteriores dan fallas)
git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 0.9 rdm2 && cd ./rdm2
cd src/
./configure
Si intentas ejecutar "qmake-qt5" te dará el siguiente error:
Project ERROR: Unknown module(s) in QT: charts
Por lo que debes ejecutar el qmake del sdk de Qt que instalaste:
/opt/Qt5.8.0/5.8/gcc_64/bin/qmake
Luego ejecutas "make" si quieres que compile más rápido pásale el parámetro -j ajustado
a los cores que tenga tu procesador. Ej el mio tiene 12 entonces coloco -j12
make -j12
Para finalizar:
cd /usr/share/redis-desktop-manager/bin
sudo mv qt.conf qt.backup
para correrlo ejecuta:
/usr/share/redis-desktop-manager/bin/rdm
Capture de mi maquina: Centos 7.3
git checkout remote branch
Sin mucha palabrería. Si quieres hacer checkout
[Branch local] [Branch remoto]
git checkout -b sprint_17 origin/spring_17
[Branch local] [Branch remoto]
git checkout -b sprint_17 origin/spring_17
viernes, 16 de junio de 2017
comandos utiles udev
udevadm info --query=all --query=all --name /dev/ttyS0
# Reinicia el servicio udev para los dispositivos tty
sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=tty
# Reinicia el servicio udev para los dispositivos tty
sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=tty
jueves, 15 de junio de 2017
Mango Query CouchDB
https://github.com/cloudant/mango
https://str3.me/post/couchdb/mango/databases/2016/12/30/couchdb-mango/
https://str3.me/post/couchdb/mango/databases/2016/12/30/couchdb-mango/
miércoles, 14 de junio de 2017
sábado, 10 de junio de 2017
miércoles, 31 de mayo de 2017
Serial Centos
Una alternativa a la porqueria de minicom es miniterm.py
Primero debes instalar pyserial:
yum install pyserial
Luego puedes ejecutar:
Otra alternativa es uucp
yum install uucp
https://www.jann.cc/2013/02/10/the_cu_command.html
Primero debes instalar pyserial:
yum install pyserial
Luego puedes ejecutar:
Otra alternativa es uucp
yum install uucp
https://www.jann.cc/2013/02/10/the_cu_command.html
lunes, 29 de mayo de 2017
lunes, 24 de abril de 2017
Activar IDES de Jetbrains 2018.1
https://github.com/rodrigogs/ilsap
Si vives en africa subsahariana o venezuela y no tienes dinero para pagar licencias, puedes activar los ides de jetbrains (Pycharm, WebStorm, etc) puedes seguir los siguientes pasos:
Hay dos métodos. Uno con un .jar que sea javaagent y otro con un servidor de claves.
Método 1:
Descargate el siguiente JAR:
https://drive.google.com/open?id=1ydcKRMv1_eEs-dyJceWQMz32yE140q_R
y lo pegas en el directorio bin de tu ide (Ej pycharm-2017.1/bin)
Luego editas el fichero "pycharm64.vmoptions" y le agregas la siguiente linea:
-javaagent:RUTADEINSTALACIONDELIDE/bin/JetbrainsCrack-2.7-release-str.jar
en mi caso
-javaagent:/opt/pycharm/pycharm-2017.1/bin/JetbrainsCrack-2.7-release-str.jar
Luego introduces cualquier serial
Si vives en africa subsahariana o venezuela y no tienes dinero para pagar licencias, puedes activar los ides de jetbrains (Pycharm, WebStorm, etc) puedes seguir los siguientes pasos:
Hay dos métodos. Uno con un .jar que sea javaagent y otro con un servidor de claves.
Método 1:
Descargate el siguiente JAR:
https://drive.google.com/open?id=1ydcKRMv1_eEs-dyJceWQMz32yE140q_R
y lo pegas en el directorio bin de tu ide (Ej pycharm-2017.1/bin)
Luego editas el fichero "pycharm64.vmoptions" y le agregas la siguiente linea:
-javaagent:RUTADEINSTALACIONDELIDE/bin/JetbrainsCrack-2.7-release-str.jar
en mi caso
-javaagent:/opt/pycharm/pycharm-2017.1/bin/JetbrainsCrack-2.7-release-str.jar
Luego introduces cualquier serial
Y listo, queda activado hasta el 2099
Método 2:
Se trata de colocar esta dirección en el 'License server address':
http://www.aku.vn/idea
Y podemos ver que se activa pero no indica fecha de terminación de la licencia
sábado, 15 de abril de 2017
Solve '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
For this problem:
python3 -m venv djangular
Error: Command '['/home/hector/Desarrollo/Test/django/djangular/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
Solution
https://hnakamur.github.io/blog/2017/02/26/workaround-for-epel-python3.4-venv-on-centos7/
python3 -m venv djangular
Error: Command '['/home/hector/Desarrollo/Test/django/djangular/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
Solution
https://hnakamur.github.io/blog/2017/02/26/workaround-for-epel-python3.4-venv-on-centos7/
viernes, 14 de abril de 2017
Install Redis in Centos 7
Recordatorio:
Guia que me funcionó
http://sharadchhetri.com/2014/10/04/install-redis-server-centos-7-rhel-7/
Guia que me funcionó
http://sharadchhetri.com/2014/10/04/install-redis-server-centos-7-rhel-7/
sábado, 8 de abril de 2017
Get CPU/GPU Temp in linux
Create and ejecute this bash
#!/bin/bash
cpu=$(</sys/class/thermal/thermal_zone0/temp)
echo "$(date) @ $(hostname)"
echo "-------------------------------------------"
echo "GPU => $(/opt/vc/bin/vcgencmd measure_temp)"
echo "CPU => $((cpu/1000))'C"
#!/bin/bash
cpu=$(</sys/class/thermal/thermal_zone0/temp)
echo "$(date) @ $(hostname)"
echo "-------------------------------------------"
echo "GPU => $(/opt/vc/bin/vcgencmd measure_temp)"
echo "CPU => $((cpu/1000))'C"
domingo, 19 de marzo de 2017
Prompt corto en terminal linux
Ejecutas:
echo "PS1='\u:\W\\$ '" >> /etc/bashrc
Luego logeas y deslogeas el usuario
echo "PS1='\u:\W\\$ '" >> /etc/bashrc
Luego logeas y deslogeas el usuario
sábado, 18 de marzo de 2017
viernes, 17 de marzo de 2017
Install CouchDB 2 in Centos 7
https://hostpresto.com/community/tutorials/how-to-install-apache-couchdb-on-centos-7/
miércoles, 15 de marzo de 2017
¿Como aprender CouchDB rápidamente?
Aquí adjunto el mejor material que he conseguí cuando estaba aprendiendo CouchDB. Te recomiendo que sigas el orden indicado
Doc oficial:
http://guide.couchdb.org/editions/1/es/
Charla. Te ayudará a entrar en el entorno y ver de que se trata
https://www.youtube.com/watch?v=XeceLYuQED8&t=1298s
Te enseña a instalarlo y haces unas pequeñas practicas
https://www.youtube.com/watch?v=_F-bt79QBSc&t=75s
Curso En Udemy 100% Gratuito (Si sigues el link)
https://www.udemy.com/learn-nosql-database-design-with-couchdb/?couponCode=BBHF50FREE
Curso en Pluralsight
(Gratis si sigues estos pasos para obtener tu cuenta: https://absolute-sharepoint.com/2015/12/free-pluralsight-6-month-subscription.html)
https://www.pluralsight.com/courses/practical-couchdb-developers
Libro: (La guia definitiva de CouchDB)
https://mega.nz/#!44dGBaoY!8r5VDXmuKGmrQE_car-qdJRzIffy7XLc-ATML6HfeQs
Libro: OReilly Writing And Querying MapReduce Views In CouchDB
https://mega.nz/#!R5swmCYS!ZET_kyUw12ZclKV18_NmoZubE_n_g-g9xnsJwJJxeh4
Doc oficial:
http://guide.couchdb.org/editions/1/es/
Charla. Te ayudará a entrar en el entorno y ver de que se trata
https://www.youtube.com/watch?v=XeceLYuQED8&t=1298s
Te enseña a instalarlo y haces unas pequeñas practicas
https://www.youtube.com/watch?v=_F-bt79QBSc&t=75s
Curso En Udemy 100% Gratuito (Si sigues el link)
https://www.udemy.com/learn-nosql-database-design-with-couchdb/?couponCode=BBHF50FREE
Curso en Pluralsight
(Gratis si sigues estos pasos para obtener tu cuenta: https://absolute-sharepoint.com/2015/12/free-pluralsight-6-month-subscription.html)
https://www.pluralsight.com/courses/practical-couchdb-developers
Libro: (La guia definitiva de CouchDB)
https://mega.nz/#!44dGBaoY!8r5VDXmuKGmrQE_car-qdJRzIffy7XLc-ATML6HfeQs
Libro: OReilly Writing And Querying MapReduce Views In CouchDB
https://mega.nz/#!R5swmCYS!ZET_kyUw12ZclKV18_NmoZubE_n_g-g9xnsJwJJxeh4
lunes, 6 de marzo de 2017
Sudo sin pedir password en Centos - Fedora - Red Hat
Agregas al usuario al grupo wheel
# gpasswd -a john wheel
Luego editas el fichero sudoers
nano /etc/sudoers
y comentas la linea que dice
%wheel ALL=(ALL) ALL
y agregas esta
%wheel ALL=(ALL) NOPASSWD: ALL
miércoles, 1 de marzo de 2017
Clone DB in CouchDB
A veces la replicación/clonación por Futon falla y hay que hacerlo via consola:
Ej:
curl -H 'Content-Type: application/json' -X POST http://admin:pass@192.168.1.44:5984/_replicate -d ' {"source": "http://admin:pass@192.168.1.44:5984/base_de_datos", "target": "http://admin:pass@192.168.1.44:5984/base_de_datos_clon", "create_target": true, "continuous": false} '
Ej:
curl -H 'Content-Type: application/json' -X POST http://admin:pass@192.168.1.44:5984/_replicate -d ' {"source": "http://admin:pass@192.168.1.44:5984/base_de_datos", "target": "http://admin:pass@192.168.1.44:5984/base_de_datos_clon", "create_target": true, "continuous": false} '
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
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
miércoles, 22 de febrero de 2017
Test WAVECOM M1306B en Linux
Primero debes agregar al usuario dialout para que tenga permisos para usar el puerto serial.
Para probar se utilizó Moserial con las siguientes configuraciones:
Luego se conectó y se envió el comando "AT" y se recibió respuesta "OK". Lo que indica que está bien conectado:
Se prueba con el comando
at+cmgs="NUMERO DE TELEFONO"
Ej:
at+cmgs="041485548412"
Luego de enviarlo te saldrá un prompt y debes enviar el siguiente carácter hexadecimal para simular que presionaste CTRL+Z
ASCII OCT HEX
'\032'
= '\x1A'
Para mas detalles de configuración:http://www.puntoflotante.net/CONFIGURACION%20INICIAL%20Y%20PRUEBAS%20DE%20MODEM%20WAVECOM%20M1306B.pdf
lunes, 20 de febrero de 2017
Borrar conexión en el Network Manager
Jugando con el Network Manager buscando la forma de crear un NIC teaming cree por error una interfaz llamada "bridge0" la cual, aunque la eliminé por el gui seguia apareciendo con el comando ifconfig.
Para eliminarla basta con escribir:
nmcli connection delete bridge0
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
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
sábado, 11 de febrero de 2017
Corregir: file_exists(): open_basedir restriction in effect. File(/var/www/html/
Cuando desplegué un api que estoy desarrollando a mi hosting me saltó el siguiente error:
ErrorException in Filesystem.php line 23:file_exists(): open_basedir restriction in effect. File(/var/www/html/API/storage/framework/cache/2c/60) is not within the allowed path(s): (/home/u776079664:/tmp:/var/tmp:/opt/php-5.6/pear:/usr/local/bin:/etc/pki/tls/certs)
En esta imag se ve mejor
Esta mierda ocurre porque se subió el fichero de bootstrap/cache/config.php que se crea cuando se ejecuta el comando
php artisan config:make
Para solucionar el error basta con borrar este fichero en el servidor o lo que es lo mismo, ejecutar :
php artisan config:clear
jueves, 9 de febrero de 2017
Unban ip baneado por ssh
Cuando se excede el número de intentos fallidos al intentar acceso a un terminal ssh el servidor bloquea el acceso a la maquina.
Para solventarlo se hace lo siguiente:
fail2ban-client set sshd unbanip IP_A_UNBANEAR
ej:
fail2ban-client set sshd unbanip 192.168.1.123
Para solventarlo se hace lo siguiente:
fail2ban-client set sshd unbanip IP_A_UNBANEAR
ej:
fail2ban-client set sshd unbanip 192.168.1.123
martes, 7 de febrero de 2017
Enviar correos desde Laravel usando cuenta Gmail
Intentando enviar un correo desde láravel usando mi cuenta gmail encontré que cuando se intentaba enviar me salía el siguiente error:
Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials p62sm3200250ywb.2 - gsmtp
"
Esto ocurre porque gmail detecta el server como una aplicación no segura.
Para solucionarlo debes ir a la cuenta de gmail e entrar en:
Ya con esto debería funcionar.
Mis valores del .env me quedaron así:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=micorreo@gmail.com
MAIL_PASSWORD=claveloca
MAIL_ENCRYPTION=tls
Si todavía con eso no te funciona intenta entrar en el siguiente link y darle aceptar:
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
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
Suscribirse a:
Entradas (Atom)