mirror of
https://github.com/balkian/balkian.github.com.git
synced 2024-12-25 17:58:12 +00:00
338 lines
14 KiB
HTML
338 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="Hugo 0.53" />
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<title>Balkian's site - Balkian's site</title>
|
|
<meta name="viewport" content="width=device-width">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="./font-awesome/css/all.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" media="only screen" href="./css/main.css">
|
|
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300|Comfortaa' rel='stylesheet' type='text/css'>
|
|
</head>
|
|
<body>
|
|
<div id="container" class="container">
|
|
<div id="contentwrapper">
|
|
<div id="content">
|
|
<header id="header">
|
|
<ul class="navbar" id="navbar">
|
|
<a href="./">
|
|
<li
|
|
class="active"
|
|
>
|
|
<i class="fa fa-home fa-large"></i>
|
|
</li></a>
|
|
|
|
|
|
<a href="./post/"><li class='' >Blog
|
|
</li></a>
|
|
|
|
<a href="./tags/"><li class='' >Tags
|
|
</li></a>
|
|
|
|
<a href="./cheatsheet/"><li class='' >Cheatsheets
|
|
</li></a>
|
|
|
|
<a href="./project/"><li class='' >Projects
|
|
</li></a>
|
|
|
|
<a href="./page/todo/"><li class='' >To-do
|
|
</li></a>
|
|
|
|
<a href="//jfernando.es" target="_blank"><li>
|
|
CV
|
|
</li></a>
|
|
<a href="./search"><li>
|
|
<i class="fa fa-search"></i>
|
|
</li></a>
|
|
</ul>
|
|
</header>
|
|
|
|
|
|
|
|
<div class="entry">
|
|
<div class="posthead">
|
|
<span class="date">2019/01/06</span>
|
|
<h2><a href="./post/2019-01-06-zigbee2mqtt/" class="title">Controlling Zigbee devices with MQTT</a></h2>
|
|
|
|
<a class="tag" href='./tags/mqtt'><span class="label">mqtt</span></a>
|
|
|
|
<a class="tag" href='./tags/iot'><span class="label">iot</span></a>
|
|
|
|
<a class="tag" href='./tags/zigbee'><span class="label">zigbee</span></a>
|
|
|
|
|
|
</div>
|
|
|
|
This is a short tutorial on connecting a zigbee device (an Aqara cube) to an MQTT server, so you can control your zigbee devices from the network.
|
|
If you’re anything like me, you’re probably a sucker for IoT devices. For a long time, I’ve been using WiFi-enabled lights, and Amazon dash buttons to control them.
|
|
<div><a href="./post/2019-01-06-zigbee2mqtt/"><div class="readmore"> Read more...</div></a></div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="entry">
|
|
<div class="posthead">
|
|
<span class="date">2016/09/28</span>
|
|
<h2><a href="./post/2016-09-28-tqdm/" class="title">Progress bars in python</a></h2>
|
|
|
|
<a class="tag" href='./tags/python'><span class="label">python</span></a>
|
|
|
|
|
|
</div>
|
|
|
|
<p><a href="https://github.com/noamraph/tqdm">tqdm</a> is a nice way to add progress
|
|
bars in the command line or in a jupyter notebook.</p>
|
|
|
|
<p><img src="https://camo.githubusercontent.com/48838faaa8d00ea297f18e5bf55d3c6bb4e0ba6b/68747470733a2f2f692e696d6775722e636f6d2f686539417735432e676966" alt="image" /></p>
|
|
<div class="highlight"><div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4">
|
|
<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
|
|
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-python" data-lang="python"><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">1
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">2
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">3
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">4
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">5
|
|
</span></code></pre></td>
|
|
<td style="vertical-align:top;padding:0;margin:0;border:0;">
|
|
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-python" data-lang="python"><span style="color:#f92672">from</span> tqdm <span style="color:#f92672">import</span> tqdm
|
|
<span style="color:#f92672">import</span> time
|
|
|
|
<span style="color:#66d9ef">for</span> i <span style="color:#f92672">in</span> tqdm(range(<span style="color:#ae81ff">100</span>)):
|
|
time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">1</span>)</code></pre></td></tr></table>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="entry">
|
|
<div class="posthead">
|
|
<span class="date">2015/04/10</span>
|
|
<h2><a href="./post/2015-04-10-github-dotfiles/" class="title">Sharing dotfiles</a></h2>
|
|
|
|
<a class="tag" href='./tags/github'><span class="label">github</span></a>
|
|
|
|
<a class="tag" href='./tags/git'><span class="label">git</span></a>
|
|
|
|
<a class="tag" href='./tags/dotfiles'><span class="label">dotfiles</span></a>
|
|
|
|
|
|
</div>
|
|
|
|
Today’s post is half a quick note, half public shaming. In other words, it is a reminder to be very careful with OAuth tokens and passwords.
|
|
As part of moving to emacs, I starting using the incredibly useful gh.el. When you first use it, the extension saves either your password or an OAuth token in your .
|
|
<div><a href="./post/2015-04-10-github-dotfiles/"><div class="readmore"> Read more...</div></a></div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="entry">
|
|
<div class="posthead">
|
|
<span class="date">2014/12/09</span>
|
|
<h2><a href="./post/2014-12-09-zotero/" class="title">Zotero</a></h2>
|
|
|
|
<a class="tag" href='./tags/zotero'><span class="label">zotero</span></a>
|
|
|
|
<a class="tag" href='./tags/webdav'><span class="label">webdav</span></a>
|
|
|
|
<a class="tag" href='./tags/nginx'><span class="label">nginx</span></a>
|
|
|
|
<a class="tag" href='./tags/apache'><span class="label">apache</span></a>
|
|
|
|
|
|
</div>
|
|
|
|
Zotero is an Open Source tool that lets you organise your bibliography, syncing it with the cloud. Unlike other alternatives such as Mendeley, Zotero can upload the attachments and data to a private cloud via WebDav.
|
|
If you use nginx as your web server, know that even though it provides partial support for webdav, Zotero needs more than that.
|
|
<div><a href="./post/2014-12-09-zotero/"><div class="readmore"> Read more...</div></a></div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="entry">
|
|
<div class="posthead">
|
|
<span class="date">2014/10/09</span>
|
|
<h2><a href="./post/2014-10-09-proxies/" class="title">Proxies with Apache and python</a></h2>
|
|
|
|
<a class="tag" href='./tags/python'><span class="label">python</span></a>
|
|
|
|
<a class="tag" href='./tags/apache'><span class="label">apache</span></a>
|
|
|
|
<a class="tag" href='./tags/proxy'><span class="label">proxy</span></a>
|
|
|
|
<a class="tag" href='./tags/gunicorn'><span class="label">gunicorn</span></a>
|
|
|
|
<a class="tag" href='./tags/uwsgi'><span class="label">uwsgi</span></a>
|
|
|
|
|
|
</div>
|
|
|
|
<p>This is a quick note on proxying a local python application (e.g. flask)
|
|
to a subdirectory in Apache. This assumes that the file wsgi.py contains
|
|
a WSGI application with the name <em>application</em>. Hence, wsgi:application.</p>
|
|
|
|
<p><h2 id="gunicorn">Gunicorn</h2>
|
|
<div class="highlight"><div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4">
|
|
<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
|
|
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-apache" data-lang="apache"><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">1
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">2
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">3
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">4
|
|
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7c7c79">5
|
|
</span></code></pre></td>
|
|
<td style="vertical-align:top;padding:0;margin:0;border:0;">
|
|
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-apache" data-lang="apache"><span style="color:#f92672"><Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">></span>
|
|
ProxyPass <a href="http://127.0.0.1:8888/myapp/">http://127.0.0.1:8888/myapp/</a>
|
|
ProxyPassReverse <a href="http://127.0.0.1:8888/myapp/">http://127.0.0.1:8888/myapp/</a>
|
|
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">"/myapp/"</span>
|
|
<span style="color:#f92672"></Location></span></code></pre></td></tr></table>
|
|
</div>
|
|
</div></p>
|
|
|
|
<div><a href="./post/2014-10-09-proxies/"><div class="readmore"> Read more...</div></a></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="pagination pag-bottom">
|
|
|
|
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
|
|
|
|
|
|
|
|
<span class="nextpage"><a href="./page/2/"> Next Page</a> <i class="icon-chevron-sign-right"></i></span>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="sidebar" class="fixed">
|
|
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
|
|
<div class="flipper sticky">
|
|
<div class="front">
|
|
|
|
<img id="avatar" src="./img/me.png">
|
|
</div>
|
|
<div class="back">
|
|
|
|
<img id="picture" src="./img/me-bat.png">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="about">
|
|
|
|
<div class="icons">
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-linux"></i></span><span class="explanation">Linux user</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-android"></i></span><span class="explanation">Android dev and user</span></span>
|
|
<a href="http://github.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-github"></i> </span><span class="explanation">Github user</span></span></a>
|
|
<a href="http://gitlab.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-gitlab"></i> </span><span class="explanation">GitLab user</span></span></a>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-stack-exchange"></i> </span><span class="explanation">StackExchange fan</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-music"></i> </span><span class="explanation">Music lover</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-film"></i> </span><span class="explanation">Movie fan</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-laptop"></i> </span><span class="explanation">Always on a PC</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-moon"></i> </span><span class="explanation">Night owl</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-terminal"></i></span> <span class="explanation">CLI user</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-flag"></i></span> <span class="explanation">I love languages</span></span>
|
|
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-code"></i> </span> <span class="explanation">I love programming</span></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="entries">
|
|
<h2 class="title">Latest entries</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dt><a href="./post/2019-01-06-zigbee2mqtt/">Controlling Zigbee devices with MQTT</a></dt>
|
|
|
|
<a class="tag" href='./tags/mqtt'><span class="label">mqtt</span></a>
|
|
|
|
<a class="tag" href='./tags/iot'><span class="label">iot</span></a>
|
|
|
|
<a class="tag" href='./tags/zigbee'><span class="label">zigbee</span></a>
|
|
|
|
|
|
|
|
|
|
<dt><a href="./post/2016-09-28-tqdm/">Progress bars in python</a></dt>
|
|
|
|
<a class="tag" href='./tags/python'><span class="label">python</span></a>
|
|
|
|
|
|
|
|
|
|
<dt><a href="./post/2015-04-10-github-dotfiles/">Sharing dotfiles</a></dt>
|
|
|
|
<a class="tag" href='./tags/github'><span class="label">github</span></a>
|
|
|
|
<a class="tag" href='./tags/git'><span class="label">git</span></a>
|
|
|
|
<a class="tag" href='./tags/dotfiles'><span class="label">dotfiles</span></a>
|
|
|
|
|
|
|
|
|
|
<dt><a href="./post/2014-12-09-zotero/">Zotero</a></dt>
|
|
|
|
<a class="tag" href='./tags/zotero'><span class="label">zotero</span></a>
|
|
|
|
<a class="tag" href='./tags/webdav'><span class="label">webdav</span></a>
|
|
|
|
<a class="tag" href='./tags/nginx'><span class="label">nginx</span></a>
|
|
|
|
<a class="tag" href='./tags/apache'><span class="label">apache</span></a>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="clear"></div>
|
|
</div>
|
|
<footer class="pagefooter" role="contentinfo">
|
|
<div class="contact">
|
|
<p>
|
|
J. Fernando Sánchez Rada | balkian
|
|
</p>
|
|
</div>
|
|
<ul id="social">
|
|
<li><a href="http://github.com/balkian"><i class="fab fa-github"></i></a></li>
|
|
<li><a href="http://lab.gsi.upm.es/balkian"><i class="fab fa-gitlab"></i></a></li>
|
|
<li><a href="http://twitter.com/balkian"><i class="fab fa-twitter"></i></a></li>
|
|
<li><a href="http://git.sinpapel.es/balkian"><i class="fab fa-git"></i></a></li>
|
|
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="fab fa-linkedin"></i></a></li>
|
|
</ul>
|
|
<p>
|
|
<i class="fab fa-creative-commons"></i> Creative Commons A-SA-NC
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script src="./js/jquery-2.0.2.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html>
|