rebuilding site Fri 20 Jan 2023 18:42:41 CET

master
J. Fernando Sánchez 1 year ago
parent 226f5e78f5
commit d2580b0f51

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Categories</h2>
<div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on Balkian&#39;s site</title>
<link>/categories/</link>
<description>Recent content in Categories on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Emacs</h2>
<h1 id="show-plain-text-version">Show plain text version</h1>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-lisp" data-lang="lisp">(font-lock-mode)
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div class="toc">
<h3>Contents:</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#show-plain-text-version">Show plain text version</a></li>
</ul>
</nav>
</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>

@ -0,0 +1,256 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Cheatsheets</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 >
<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=' active' >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 default-entry">
<div class="posthead">
<h2><a href="../cheatsheet/emacs/" class="title">Emacs</a></h2>
<h3>Configuration files and tricks for emacs</h3>
<a class="tag" href='../tags/emacs'><span class="label">emacs</span></a>
<a class="tag" href='../tags/org'><span class="label">org</span></a>
<a class="tag" href='../tags/productivity'><span class="label">productivity</span></a>
<a class="tag" href='../tags/lisp'><span class="label">lisp</span></a>
</div>
</div>
<div class="entry default-entry">
<div class="posthead">
<h2><a href="../cheatsheet/linux/" class="title">Linux</a></h2>
<h3>Tips and tricks for GNU/Linux and Unix</h3>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/arch'><span class="label">arch</span></a>
</div>
</div>
<div class="entry default-entry">
<div class="posthead">
<h2><a href="../cheatsheet/python/" class="title">Python</a></h2>
<h3>Tips and useful libraries for python developers</h3>
<a class="tag" href='../tags/python'><span class="label">python</span></a>
<a class="tag" href='../tags/programming'><span class="label">programming</span></a>
</div>
</div>
<div class="entry default-entry">
<div class="posthead">
<h2><a href="../cheatsheet/rpi/" class="title">Raspberry Pi</a></h2>
<h3>Tools, links and configuration for your Raspberry Pi</h3>
<a class="tag" href='../tags/rpi'><span class="label">rpi</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Cheatsheets on Balkian&#39;s site</title>
<link>/cheatsheet/</link>
<description>Recent content in Cheatsheets on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/cheatsheet/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Emacs</title>
<link>/cheatsheet/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/emacs/</guid>
<description>&lt;h1 id=&#34;show-plain-text-version&#34;&gt;Show plain text version&lt;/h1&gt;</description>
</item>
<item>
<title>Linux</title>
<link>/cheatsheet/linux/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/linux/</guid>
<description>Black screen and LightDM doesn&amp;rsquo;t unlock Add this to your /etc/lightdm/lightdm.conf file:
1 2 [LightDM] logind-check-graphical=true Edit previous commands fc is a shell builtin to list and edit previous commands in an editor. In addition to editing a single line (which you can also do with C-x C-e), it also allows you to edit and run several lines at the same time.</description>
</item>
<item>
<title>Python</title>
<link>/cheatsheet/python/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/python/</guid>
<description>Interesting libraries TQDM From tqdm&amp;rsquo;s github repository:
tqdm means &amp;ldquo;progress&amp;rdquo; in Arabic (taqadum, تقدّم) and an abbreviation for &amp;ldquo;I love you so much&amp;rdquo; in Spanish (te quiero demasiado).
</description>
</item>
<item>
<title>Raspberry Pi</title>
<link>/cheatsheet/rpi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/rpi/</guid>
<description>HDMI flickering Avoid HDMI flickering/intermittent blanking on RPI with a 1400x1050 VGA monitor.
1 2 3 4 5 6 hdmi_drive=2 hdmi_group=2 hdmi_mode=42 disable_overscan=1 config_hdmi_boost=7 </description>
</item>
</channel>
</rss>

@ -0,0 +1,253 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Linux</h2>
<h1 id="black-screen-and-lightdm-doesnt-unlock">Black screen and LightDM doesn&rsquo;t unlock</h1>
<p>Add this to your /etc/lightdm/lightdm.conf file:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#66d9ef">[LightDM]</span>
<span style="color:#a6e22e">logind-check-graphical</span><span style="color:#f92672">=</span><span style="color:#e6db74">true</span>
</code></pre></td></tr></table>
</div>
</div><h1 id="edit-previous-commands">Edit previous commands</h1>
<p><code>fc</code> is a shell builtin to list and edit previous commands in an editor.
In addition to editing a single line (which you can also do with <code>C-x C-e</code>), it also allows you to edit and run several lines at the same time.
You use it like this:</p>
<p>List previous commands</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">$ fc -l
<span style="color:#ae81ff">10259</span> nvim deploy.sh
10260* cd ..
10261* nvim content/cheatsheet/linux.md
<span style="color:#ae81ff">10262</span> cd
</code></pre></td></tr></table>
</div>
</div><p>List commands with date (in zsh)</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">$ fc -ld
10260* 19:38 cd ..
10261* 19:38 nvim content/cheatsheet/linux.md
<span style="color:#ae81ff">10262</span> 19:40 cd
<span style="color:#ae81ff">10263</span> 19:40 fc -l
</code></pre></td></tr></table>
</div>
</div><p>You can add the date too:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">$ fc -fld
<span style="color:#ae81ff">10262</span> 1/10/2019 19:40 cd
<span style="color:#ae81ff">10263</span> 1/10/2019 19:40 fc -l
<span style="color:#ae81ff">10264</span> 1/10/2019 19:40 fc -ld
</code></pre></td></tr></table>
</div>
</div><p>You can edit a range of commands</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">$ fc <span style="color:#ae81ff">10262</span> <span style="color:#ae81ff">10264</span>
</code></pre></td></tr></table>
</div>
</div><p>The range can be relative to the current position, so the previous command is equivalent to:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">$ fc -3 -1
</code></pre></td></tr></table>
</div>
</div><p>If you save and exit, all commands are executed as a script, and it will be added to your history.</p>
<p>Source: <a href="https://shapeshed.com/unix-fc/">https://shapeshed.com/unix-fc/</a></p>
<h1 id="prevent-logoff-from-killing-tmux-sessions">Prevent logoff from killing tmux sessions</h1>
<p>Lately I&rsquo;ve noticed that logging out of i3, intentionally or when i3 fails, would also kill any tmux or emacs sessions.
This is extremely annoying.</p>
<p>This is caused by a new default in logind (systemd&rsquo;s login) to kill user process on logoff.
You can revert this setting in your logind.conf (<code>/etc/systemd/logind.conf</code>):</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#a6e22e">KillUserProcesses</span><span style="color:#f92672">=</span><span style="color:#e6db74">no</span>
</code></pre></td></tr></table>
</div>
</div><p>Or only for a specific process (e.g., tmux):</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">systemd-run --scope --user tmux
</code></pre></td></tr></table>
</div>
</div><p>Source: <a href="https://unix.stackexchange.com/questions/490267/prevent-logoff-from-killing-tmux-session">https://unix.stackexchange.com/questions/490267/prevent-logoff-from-killing-tmux-session</a></p>
<h1 id="upload-a-temporary-file">Upload a temporary file</h1>
<p>Sometimes you just need to copy/paste a file from a server, and copying from the terminal can be a hassle.
These two services are command-line &ldquo;pastebins&rdquo; just one curl away:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">8
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">&lt;command&gt; | curl -F <span style="color:#e6db74">&#39;sprunge=&lt;-&#39;</span> http://sprunge.us
<span style="color:#75715e"># OR</span>
&lt;command&gt; 2&gt;&amp;<span style="color:#ae81ff">1</span> | curl -F <span style="color:#e6db74">&#39;f:1=&lt;-&#39;</span> ix.io
<span style="color:#75715e"># OR</span>
&lt;command&gt; | curl -F<span style="color:#e6db74">&#34;file=@-&#34;</span> https://ttm.sh
</code></pre></td></tr></table>
</div>
</div><h1 id="install-fortinet-sslvpn-support-for-networkmanager">Install Fortinet SSLVPN support for NetworkManager</h1>
<p>UPM (Universidad Politécnica de Madrid) uses a propriatary VPN solution.
The instructions for GNU/Linux on their website involve downloading a specific client (<code>.tar.gz</code>) and manually running it.
That works, but it is kind of a hassle.
A much more convenient alternative is installing this NetworkManager plugin:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">pacman -Sy networkmanager-fortisslvpn
<span style="color:#75715e"># Or apt get install networkmanager-fortisslvpn</span>
</code></pre></td></tr></table>
</div>
</div><p>Now you can simply add a new VPN connection in NetworkManager and manage it as you would any other connection.</p>
</div>
<div id="sidebar" class="fixed">
<div class="toc">
<h3>Contents:</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#black-screen-and-lightdm-doesnt-unlock">Black screen and LightDM doesn&rsquo;t unlock</a></li>
<li><a href="#edit-previous-commands">Edit previous commands</a></li>
<li><a href="#prevent-logoff-from-killing-tmux-sessions">Prevent logoff from killing tmux sessions</a></li>
<li><a href="#upload-a-temporary-file">Upload a temporary file</a></li>
<li><a href="#install-fortinet-sslvpn-support-for-networkmanager">Install Fortinet SSLVPN support for NetworkManager</a></li>
</ul>
</nav>
</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>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/cheatsheet/</title><link rel="canonical" href="/cheatsheet/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/cheatsheet/" /></head></html>

@ -0,0 +1,111 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Python</h2>
<h1 id="interesting-libraries">Interesting libraries</h1>
<h2 id="tqdmhttpsgithubcomtqdmtqdm"><a href="https://github.com/tqdm/tqdm">TQDM</a></h2>
<p>From tqdm&rsquo;s github repository:</p>
<blockquote>
<p>tqdm means &ldquo;progress&rdquo; in Arabic (taqadum, تقدّم) and an abbreviation for &ldquo;I love you so much&rdquo; in Spanish (te quiero demasiado).</p>
</blockquote>
<p><img src="https://raw.githubusercontent.com/tqdm/tqdm/master/images/tqdm.gif" alt="TQDM in action"></p>
</div>
<div id="sidebar" class="fixed">
<div class="toc">
<h3>Contents:</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#interesting-libraries">Interesting libraries</a>
<ul>
<li><a href="#tqdmhttpsgithubcomtqdmtqdm"><a href="https://github.com/tqdm/tqdm">TQDM</a></a></li>
</ul>
</li>
</ul>
</nav>
</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>

@ -0,0 +1,120 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Raspberry Pi</h2>
<h1 id="hdmi-flickering">HDMI flickering</h1>
<p>Avoid HDMI flickering/intermittent blanking on RPI with a 1400x1050 VGA monitor.</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">
hdmi_drive<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>
hdmi_group<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>
hdmi_mode<span style="color:#f92672">=</span><span style="color:#ae81ff">42</span>
disable_overscan<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>
config_hdmi_boost<span style="color:#f92672">=</span><span style="color:#ae81ff">7</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div class="toc">
<h3>Contents:</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#hdmi-flickering">HDMI flickering</a></li>
</ul>
</nav>
</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>

@ -0,0 +1,316 @@
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Hugo 0.68.3" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Balkian&#39;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 >
<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">2021/10/30</span>
<h2><a href="./post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='./tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='./tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="./post/2021-10-30-logitech-mk850/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2021/10/29</span>
<h2><a href="./post/2021-10-29-logitech-mx-keys-mac/" class="title">Logitech MX Keys for Mac on Linux</a></h2>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='./tags/keyboard'><span class="label">keyboard</span></a>
</div>
I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
<div><a href="./post/2021-10-29-logitech-mx-keys-mac/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2019/06/01</span>
<h2><a href="./post/2019-05-01-surface-go/" class="title">Linux on the Microsoft Surface Go</a></h2>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='./tags/config'><span class="label">config</span></a>
</div>
Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.
<div><a href="./post/2019-05-01-surface-go/"><div class="readmore"> Read more...</div></a></div>
</div>
<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 youre anything like me, youre probably a sucker for IoT devices. For a long time, Ive 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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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="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 expand">
<div class="front">
<img id="avatar" class="expandx" src="./img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="./post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='./tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='./tags/mouse'><span class="label">mouse</span></a>
<dt><a href="./post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='./tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="./post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='./tags/linux'><span class="label">linux</span></a>
<a class="tag" href='./tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='./tags/config'><span class="label">config</span></a>
<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>
</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>

File diff suppressed because one or more lines are too long

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Balkian&#39;s site</title>
<link>/</link>
<description>Recent content on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
<item>
<title>Logitech MX Keys for Mac on Linux</title>
<link>/post/2021-10-29-logitech-mx-keys-mac/</link>
<pubDate>Fri, 29 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-29-logitech-mx-keys-mac/</guid>
<description>I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.</description>
</item>
<item>
<title>Linux on the Microsoft Surface Go</title>
<link>/post/2019-05-01-surface-go/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/post/2019-05-01-surface-go/</guid>
<description>&lt;p&gt;Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.&lt;/p&gt;</description>
</item>
<item>
<title>Controlling Zigbee devices with MQTT</title>
<link>/post/2019-01-06-zigbee2mqtt/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/post/2019-01-06-zigbee2mqtt/</guid>
<description>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&amp;rsquo;re anything like me, you&amp;rsquo;re probably a sucker for IoT devices. For a long time, I&amp;rsquo;ve been using WiFi-enabled lights, and Amazon dash buttons to control them.</description>
</item>
<item>
<title>Progress bars in python</title>
<link>/post/2016-09-28-tqdm/</link>
<pubDate>Wed, 28 Sep 2016 18:47:00 +0000</pubDate>
<guid>/post/2016-09-28-tqdm/</guid>
<description>tqdm is a nice way to add progress bars in the command line or in a jupyter notebook.
1 2 3 4 5 from tqdm import tqdm import time for i in tqdm(range(100)): time.sleep(1) </description>
</item>
<item>
<title>Sharing dotfiles</title>
<link>/post/2015-04-10-github-dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/post/2015-04-10-github-dotfiles/</guid>
<description>Today&amp;rsquo;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 .</description>
</item>
<item>
<title>Zotero</title>
<link>/post/2014-12-09-zotero/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/post/2014-12-09-zotero/</guid>
<description>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.</description>
</item>
<item>
<title>Proxies with Apache and python</title>
<link>/post/2014-10-09-proxies/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-10-09-proxies/</guid>
<description>&lt;p&gt;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 &lt;em&gt;application&lt;/em&gt;. Hence, wsgi:application.&lt;/p&gt;
&lt;h2 id=&#34;gunicorn&#34;&gt;Gunicorn&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;/myapp/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/myapp/&amp;#34;&lt;/span&gt;
&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
</item>
<item>
<title>Publishing on PyPi</title>
<link>/post/2014-09-23-publishing-to-pypi/</link>
<pubDate>Sat, 27 Sep 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-09-23-publishing-to-pypi/</guid>
<description>Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.</description>
</item>
<item>
<title>Updating EuroLoveMap</title>
<link>/post/2014-03-27-updating-eurolovemap/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/post/2014-03-27-updating-eurolovemap/</guid>
<description>As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the &amp;ldquo;overall feeling&amp;rdquo; of each country about each topic.</description>
</item>
<item>
<title>Remove git files with globbing</title>
<link>/post/2013-08-22-remove-git-files-with-globbing/</link>
<pubDate>Thu, 22 Aug 2013 23:14:00 +0000</pubDate>
<guid>/post/2013-08-22-remove-git-files-with-globbing/</guid>
<description>A simple trick. If you want to remove all the &amp;lsquo;.swp&amp;rsquo; files from a git repository, just use:
1 git rm --cached &amp;#39;**.swp&amp;#39; </description>
</item>
<item>
<title>Creating my web</title>
<link>/post/2013-08-17-creating-my-web/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/post/2013-08-17-creating-my-web/</guid>
<description>I&amp;rsquo;ve finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.</description>
</item>
<item>
<title>Emacs</title>
<link>/cheatsheet/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/emacs/</guid>
<description>&lt;h1 id=&#34;show-plain-text-version&#34;&gt;Show plain text version&lt;/h1&gt;</description>
</item>
<item>
<title>Index of projects</title>
<link>/project/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/project/</guid>
<description>Ongoing Projects Senpy: a framework for semantic sentiment and emotion analysis services. Soil: an agent-based simulator for social networks based on nx-sim and networkx. Onyx: an ontology for emotion analysis that includes concepts from W3C&amp;rsquo;s provenance. Past Projects Marl: I updated this ontology, originally created by Adam Westerski, to make it compatible with the W3C&amp;rsquo;s provenance ontology.</description>
</item>
<item>
<title>Linux</title>
<link>/cheatsheet/linux/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/linux/</guid>
<description>Black screen and LightDM doesn&amp;rsquo;t unlock Add this to your /etc/lightdm/lightdm.conf file:
1 2 [LightDM] logind-check-graphical=true Edit previous commands fc is a shell builtin to list and edit previous commands in an editor. In addition to editing a single line (which you can also do with C-x C-e), it also allows you to edit and run several lines at the same time.</description>
</item>
<item>
<title>Python</title>
<link>/cheatsheet/python/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/python/</guid>
<description>Interesting libraries TQDM From tqdm&amp;rsquo;s github repository:
tqdm means &amp;ldquo;progress&amp;rdquo; in Arabic (taqadum, تقدّم) and an abbreviation for &amp;ldquo;I love you so much&amp;rdquo; in Spanish (te quiero demasiado).
</description>
</item>
<item>
<title>Raspberry Pi</title>
<link>/cheatsheet/rpi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/rpi/</guid>
<description>HDMI flickering Avoid HDMI flickering/intermittent blanking on RPI with a 1400x1050 VGA monitor.
1 2 3 4 5 6 hdmi_drive=2 hdmi_group=2 hdmi_mode=42 disable_overscan=1 config_hdmi_boost=7 </description>
</item>
<item>
<title>Search Results</title>
<link>/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/search/</guid>
<description>This file exists solely to respond to /search URL with the related search layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.</description>
</item>
<item>
<title>To-do</title>
<link>/page/todo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/page/todo/</guid>
<description>PhD Write my first workshop paper as main author Write my first journal paper Write my first book chapter Chair a W3C Community Group Collaborate on a W3C recommendation Become a doctor! Technical Write a NodeJS App. Maia [See ISSUES] Write my first Django Application Develop a distributed LibP2P golang application Github repo with +100 stars Build a custom LineageOS image Languages English Chinese Greek German Esperanto Personal Run a 10k Blog regularly for a year </description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/</title><link rel="canonical" href="/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/" /></head></html>

@ -0,0 +1,323 @@
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Hugo 0.68.3" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Balkian&#39;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 >
<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">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>
Todays 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>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">&#34;/myapp/&#34;</span>
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div>
<div><a href="../../post/2014-10-09-proxies/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2014/09/27</span>
<h2><a href="../../post/2014-09-23-publishing-to-pypi/" class="title">Publishing on PyPi</a></h2>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/pypi'><span class="label">pypi</span></a>
</div>
Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.
<div><a href="../../post/2014-09-23-publishing-to-pypi/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2014/03/27</span>
<h2><a href="../../post/2014-03-27-updating-eurolovemap/" class="title">Updating EuroLoveMap</a></h2>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/heroku'><span class="label">heroku</span></a>
</div>
As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the “overall feeling” of each country about each topic.
<div><a href="../../post/2014-03-27-updating-eurolovemap/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="pagination pag-bottom">
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="../../"> Previous Page</a></span>
<span class="nextpage"><a href="../../page/3/"> 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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,244 @@
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Hugo 0.68.3" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Balkian&#39;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 >
<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">2013/08/22</span>
<h2><a href="../../post/2013-08-22-remove-git-files-with-globbing/" class="title">Remove git files with globbing</a></h2>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
<p>A simple trick. If you want to remove all the &lsquo;.swp&rsquo; files from a git
repository, just use:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git rm --cached <span style="color:#e6db74">&#39;**.swp&#39;</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2013/08/22</span>
<h2><a href="../../post/2013-08-17-creating-my-web/" class="title">Creating my web</a></h2>
<a class="tag" href='../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
Ive finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.
<div><a href="../../post/2013-08-17-creating-my-web/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="pagination pag-bottom">
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="../../page/2/"> Previous Page</a></span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,205 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Pages</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 >
<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 default-entry">
<div class="posthead">
<h2><a href="../page/todo/" class="title">To-do</a></h2>
<h3></h3>
</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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Pages on Balkian&#39;s site</title>
<link>/page/</link>
<description>Recent content in Pages on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/page/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>To-do</title>
<link>/page/todo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/page/todo/</guid>
<description>PhD Write my first workshop paper as main author Write my first journal paper Write my first book chapter Chair a W3C Community Group Collaborate on a W3C recommendation Become a doctor! Technical Write a NodeJS App. Maia [See ISSUES] Write my first Django Application Develop a distributed LibP2P golang application Github repo with +100 stars Build a custom LineageOS image Languages English Chinese Greek German Esperanto Personal Run a 10k Blog regularly for a year </description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/page/</title><link rel="canonical" href="/page/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/page/" /></head></html>

@ -0,0 +1,212 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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=' active' >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>
<h3 id="phd">PhD</h3>
<ul>
<li><input checked="" disabled="" type="checkbox"> Write my first workshop paper as main author</li>
<li><input checked="" disabled="" type="checkbox"> Write my first journal paper</li>
<li><input checked="" disabled="" type="checkbox"> Write my first book chapter</li>
<li><input checked="" disabled="" type="checkbox"> Chair a W3C Community Group</li>
<li><input checked="" disabled="" type="checkbox"> Collaborate on a W3C recommendation</li>
<li><input disabled="" type="checkbox"> Become a doctor!</li>
</ul>
<h3 id="technical">Technical</h3>
<ul>
<li><input checked="" disabled="" type="checkbox"> Write a NodeJS App. Maia [See <a href="http://github.com/gsi-upm/maia/issues">ISSUES</a>]</li>
<li><input checked="" disabled="" type="checkbox"> Write my first Django Application</li>
<li><input disabled="" type="checkbox"> Develop a distributed LibP2P golang application</li>
<li><input disabled="" type="checkbox"> Github repo with +100 stars</li>
<li><input disabled="" type="checkbox"> Build a custom LineageOS image</li>
</ul>
<h3 id="languages">Languages</h3>
<ul>
<li><input checked="" disabled="" type="checkbox"> English</li>
<li><input disabled="" type="checkbox"> Chinese</li>
<li><input disabled="" type="checkbox"> Greek</li>
<li><input disabled="" type="checkbox"> German</li>
<li><input disabled="" type="checkbox"> Esperanto</li>
</ul>
<h3 id="personal">Personal</h3>
<ul>
<li><input checked="" disabled="" type="checkbox"> Run a 10k</li>
<li><input disabled="" type="checkbox"> Blog regularly for a year</li>
</ul>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,241 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Creating my web</h2>
<span class="date">2013/08/22</span>
<span>
<a class="tag" href='../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</span>
<h3></h3>
<p>I&rsquo;ve finally decided to set up a decent personal page. I have settled
for github-pages because I like the idea of keeping my site in a
repository and having someone else host and deploy it for me. The site
will be really simple, mostly static files. Thanks to Github,
<a href="http://jekyllrb.com">Jekyll</a> will automatically generate static pages
for my posts every time I commit anything new to this repository.</p>
<p>But Jekyll can be used independently, so if I ever choose to host the
site myself, I can do it quite easily. Another thing that I liked about
this approach is that the generated html files can be used in the
future, and I will not need Jekyll to serve it. Jekyll is really simple
and most of the things are written in plain html. That means that
everything could be easily reused if I ever choose to change to another
blogging framework (e.g. pelical). But, for the time being, I like the
fact that Github takes care of the compilation as well, so I can simply
modify or add files through the web interface should I need to.</p>
<p>I hadn&rsquo;t played with HTML and CSS for a while now, so I also wanted to
use this site as a playground. At some point, I realised I was doing
mostly everything in plain HTML and CSS, and decided to keep it like
that for as long as possible. As of this writing, I haven&rsquo;t included
any Javascript code in the page. Probably I will use some to add my
<a href="http://gist.github.com/balkian">gists</a> and
<a href="http://github.com/balkian">repositories</a>, but we will see about that.</p>
<p>I think the code speaks for itself, so you can check out <a href="http://github.com/balkian/balkian.github.com">my repository
on Github</a>. You can clone
and deploy it easily like this:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git clone
https://github.com/balkian/balkian.github.com cd balkian.github.com
jekyll serve -w
</code></pre></td></tr></table>
</div>
</div><p>I will keep updating this post with information about:</p>
<ul>
<li>Some Jekyll plugins that might be useful</li>
<li>What CSS tricks I learnt</li>
<li>The webfonts I used</li>
<li>The badge on the left side of the page</li>
</ul>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Remove git files with globbing</h2>
<span class="date">2013/08/22</span>
<span>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</span>
<h3></h3>
<p>A simple trick. If you want to remove all the &lsquo;.swp&rsquo; files from a git
repository, just use:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git rm --cached <span style="color:#e6db74">&#39;**.swp&#39;</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,314 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Updating EuroLoveMap</h2>
<span class="date">2014/03/27</span>
<span>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/heroku'><span class="label">heroku</span></a>
</span>
<h3></h3>
<p>As part of the <a href="http://www.opener-project.org/2013/07/18/opener-hackathon-in-amsterdam/">OpeNER
hackathon</a>
we decided to build a prototype that would allow us to compare how
different countries feel about several topics. We used the OpeNER
pipeline to get the sentiment from a set of newspaper articles we
gathered from media in several languages. Then we aggregated those
articles by category and country (using the source of the article or the
language it was written in), obtaining the &ldquo;overall feeling&rdquo; of each
country about each topic. Then, we used some fancy JavaScript to make
sense out of the raw information.</p>
<p>It didn&rsquo;t go too bad, it turns out <a href="http://eurosentiment.eu/wp-content/uploads/2013/07/BOLv9qnCIAAJEek.jpg">we
won</a>.</p>
<p>Now, it was time for a face-lift. I used this opportunity to play with
new technologies and improve it:</p>
<ul>
<li>Using Flask, this time using python 3.3 and Bootstrap 3.0</li>
<li>Cool HTML5+JS cards (thanks to
<a href="http://pastetophone.com">pastetophone</a>)</li>
<li>Automatic generation of fake personal data to test the interface</li>
<li>Obfuscation of personal emails</li>
</ul>
<p>The result can be <a href="http://eurolovemap.herokuapp.com/">seen here</a>.</p>
<h2 id="publishing-a-python-3-app-on-heroku">Publishing a Python 3 app on Heroku</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">mkvirtualenv -p /usr/bin/python3.3 eurolovemap
</code></pre></td></tr></table>
</div>
</div><p>Since Heroku uses python 2.7 by default, we have to tell it which
version we want, although it supports python 3.4 as well. I couldn&rsquo;t
get python 3.4 working using the
<a href="https://launchpad.net/~fkrull/+archive/deadsnakes">deadsnakes</a> ppa, so
I used python 3.3 instead, which works fine but is not officially
supported. Just create a file named <em>runtime.txt</em> in your project root,
with the python version you want to use:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">python-3.3.1
</code></pre></td></tr></table>
</div>
</div><p>Don&rsquo;t forget to freeze your dependencies so Heroku can install them:
<code>bash pip freze &gt; requirements.txt</code></p>
<h2 id="publishing-personal-emails">Publishing personal emails</h2>
<p>There are really sophisticated and effective ways to obfuscate personal
emails so that spammers cannot easily grab yours. However, this time I
needed something really simple to hide our emails from the simplest form
of crawlers. Most of the team are in academia somehow, so in the end all
our emails are available in sites like Google Scholar. Anyway, nobody
likes getting spammed so I settled for a custom <a href="http://en.wikipedia.org/wiki/Caesar_cipher">Caesar
cipher</a>. Please, don&rsquo;t use
it for any serious application if you are concerned about being spammed.</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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:#66d9ef">def</span> <span style="color:#a6e22e">blur_email</span>(email):
<span style="color:#66d9ef">return</span> <span style="color:#e6db74">&#34;&#34;</span><span style="color:#f92672">.</span>join([chr(ord(i)<span style="color:#f92672">+</span><span style="color:#ae81ff">5</span>) <span style="color:#66d9ef">for</span> i <span style="color:#f92672">in</span> email])
</code></pre></td></tr></table>
</div>
</div><p>And this is the client side:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-javascript" data-lang="javascript">window.<span style="color:#a6e22e">onload</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">function</span>(){
<span style="color:#a6e22e">elems</span> <span style="color:#f92672">=</span> document.<span style="color:#a6e22e">getElementsByClassName</span>(<span style="color:#e6db74">&#39;profile-email&#39;</span>);
<span style="color:#66d9ef">for</span>(<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">e</span> <span style="color:#66d9ef">in</span> <span style="color:#a6e22e">elems</span>){
<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">blur</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">elems</span>[<span style="color:#a6e22e">e</span>].<span style="color:#a6e22e">innerHTML</span>;
<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">email</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;&#34;</span>;
<span style="color:#66d9ef">for</span>(<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">s</span> <span style="color:#66d9ef">in</span> <span style="color:#a6e22e">blur</span>){
<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">a</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">blur</span>.<span style="color:#a6e22e">charCodeAt</span>(<span style="color:#a6e22e">s</span>)
<span style="color:#a6e22e">email</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">email</span><span style="color:#f92672">+</span>String.<span style="color:#a6e22e">fromCharCode</span>(<span style="color:#a6e22e">a</span><span style="color:#f92672">-</span><span style="color:#ae81ff">5</span>);
}
<span style="color:#a6e22e">elems</span>[<span style="color:#a6e22e">e</span>].<span style="color:#a6e22e">innerHTML</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">email</span>;
}
}
</code></pre></td></tr></table>
</div>
</div><p>Unfortunately, this approach does not hide your email from anyone using
<a href="http://phantomjs.org/">PhantomJS</a>,
<a href="http://zombie.labnotes.org/">ZombieJS</a> or similar. For that, other
approaches like generating a picture with the address would be
necessary. Nevertheless, it is overkill for a really simple ad-hoc
application with custom formatting and just a bunch of emails that would
easily be grabbed manually.</p>
<h2 id="generation-of-fake-data">Generation of fake data</h2>
<p>To test the contact section of the site, I wanted to populate it with
fake data. <a href="https://github.com/joke2k/faker">Fake-Factory</a> is an amazing
library that can generate fake data of almost any kind: emails,
association names, acronyms&hellip; It even lets you localise the results
(get Spanish names, for instance) and generate factories for certain
classes (à la Django).</p>
<p>But I also wanted pictures, enter <a href="http://lorempixel.com/">Lorem Pixel</a>.
With its API you can generate pictures of almost any size, for different
topics (e.g. nightlife, people) and with a custom text. You can even use
an index, so it will always show the same picture.</p>
<p>For instance, the picture below is served through Lorem Pixel.</p>
<p><img src="http://lorempixel.com/400/200/nightlife/" alt=""></p>
<p>By the way, if you only want cat pictures, take a look at
<a href="http://placekitten.com/">Placekitten</a>. And for NSFW text, there&rsquo;s the
<a href="http://slipsum.com/">Samuel L. Jackson Ipsum</a></p>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,335 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Publishing on PyPi</h2>
<span class="date">2014/09/27</span>
<span>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/pypi'><span class="label">pypi</span></a>
</span>
<h3></h3>
<p>Developing a python module and publishing it on Github is cool, but most
of the times you want others to download and use it easily. That is the
role of PyPi, the python package repository. In this post I show you how
to publish your package in less than 10 minutes.</p>
<h2 id="choose-a-fancy-name">Choose a fancy name</h2>
<p>If you haven&rsquo;t done so yet, take a minute or two to think about this.
To publish on PyPi you need a name for your package that isn&rsquo;t taken.
What&rsquo;s more, a catchy and unique name will help people remember your
module and feel more inclined to at least try it.</p>
<p>The package name should hint what your module does, but that&rsquo;s not
always the case. That&rsquo;s your call. I personally put uniqueness and
memorability over describing the functionality.</p>
<h2 id="create-a-pypirc-configuration-file">Create a .pypirc configuration file</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#a6e22e">[distutils] # this tells distutils what package indexes you can push to</span>
<span style="color:#a6e22e">index-servers</span> <span style="color:#f92672">=</span><span style="color:#e6db74">
</span><span style="color:#e6db74"> pypi # the live PyPI
</span><span style="color:#e6db74"> pypitest # test PyPI</span>
<span style="color:#a6e22e">[pypi] # authentication details for live PyPI</span>
<span style="color:#a6e22e">repository</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">https://pypi.python.org/pypi</span>
<span style="color:#a6e22e">username</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">{ your_username }</span>
<span style="color:#a6e22e">password</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">{ your_password } # not necessary</span>
<span style="color:#a6e22e">[pypitest] # authentication details for test PyPI</span>
<span style="color:#a6e22e">repository</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">https://testpypi.python.org/pypi</span>
<span style="color:#a6e22e">username</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">{ your_username }</span>
</code></pre></td></tr></table>
</div>
</div><p>As you can see, you need to register both in the <a href="https://pypi.python.org/pypi?%3Aaction=register_form">main pypi
repository</a> and
the <a href="https://testpypi.python.org/pypi?%3Aaction=register_form">testing
server</a>. The
usernames and passwords might be different, that is up to you!</p>
<h2 id="prepare-your-package">Prepare your package</h2>
<p>This should be the structure:</p>
<pre><code>root-dir/ # Any name you want
setup.py
setup.cfg
LICENSE.txt
README.md
mypackage/
__init__.py
foo.py
bar.py
baz.py
</code></pre><h3 id="setupcfg">setup.cfg</h3>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#66d9ef">[metadata]</span>
<span style="color:#a6e22e">description-file</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">README.md</span>
</code></pre></td></tr></table>
</div>
</div><p>The markdown README is the <em>de facto</em> standard in Github, but you can
also use rST (reStructuredText), the standard in the python community.</p>
<h3 id="setuppy">setup.py</h3>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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> distutils.core <span style="color:#f92672">import</span> setup
setup(name <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;mypackage&#39;</span>,
packages <span style="color:#f92672">=</span> [<span style="color:#e6db74">&#39;mypackage&#39;</span>], <span style="color:#75715e"># this must be the same as the name above</span>
version <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;{ version }&#39;</span>,
description <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;{ description }&#39;</span>,
author <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;{ name }&#39;</span>,
email <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;{ email }&#39;</span>,
url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://github.com/{user}/{package}&#39;</span>, <span style="color:#75715e"># URL to the github repo</span>
download_url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://github.com/{user}/{repo}/tarball/{version}&#39;</span>,
keywords <span style="color:#f92672">=</span> [<span style="color:#e6db74">&#39;websockets&#39;</span>, <span style="color:#e6db74">&#39;display&#39;</span>, <span style="color:#e6db74">&#39;d3&#39;</span>], <span style="color:#75715e"># list of keywords that represent your package</span>
classifiers <span style="color:#f92672">=</span> [], )
</code></pre></td></tr></table>
</div>
</div><p>You might notice that the download_url points to a Github URL. We could
host our package anywhere, but Github is a convenient option. To create
the tarball and the zip packages, you only need to tag a tag in your
repository and push it to github:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git tag <span style="color:#f92672">{</span>version<span style="color:#f92672">}</span> -m <span style="color:#e6db74">&#34;{ Description of this tag/version}&#34;</span>
git push --tags origin master
</code></pre></td></tr></table>
</div>
</div><h2 id="push-to-the-testingmain-pypi-server">Push to the testing/main pypi server</h2>
<p>It is advisable that you try your package on the test repository and fix
any problems first. The process is simple:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">python setup.py register -r <span style="color:#f92672">{</span>pypitest/pypi<span style="color:#f92672">}</span> python setup.py sdist upload -r <span style="color:#f92672">{</span>pypitest/pypi<span style="color:#f92672">}</span>
</code></pre></td></tr></table>
</div>
</div><p>If everything went as expected, you can now install your package through
pip and browse your package&rsquo;s page. For instance, check my senpy
package: <a href="https://pypi.python.org/pypi/senpy">https://pypi.python.org/pypi/senpy</a></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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">pip install senpy
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,301 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Proxies with Apache and python</h2>
<span class="date">2014/10/09</span>
<span>
<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>
</span>
<h3></h3>
<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>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">&#34;/myapp/&#34;</span>
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div><p><strong>Important</strong>: <em>SCRIPT_NAME</em> and the end of <em>ProxyPass</em> URL <strong>MUST BE
THE SAME</strong>. Otherwise, Gunicorn will fail miserably.</p>
<p>Try it with:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">venv/bin/gunicorn -w <span style="color:#ae81ff">4</span> -b 127.0.0.1:8888 --log-file - --access-logfile - wsgi:application
</code></pre></td></tr></table>
</div>
</div><h2 id="uwsgi">UWSGI</h2>
<p>This is a very simple configuration. I will try to upload one with more
options for uwsgi (in a .ini file).</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
SetHandler uwsgi_handler
uWSGISocker <span style="color:#ae81ff">127.0.0.1</span>:8888
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div><p>Try it with:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">uwsgi --socket 127.0.0.1:8888 -w wsgi:application
</code></pre></td></tr></table>
</div>
</div><h3 id="extra-supervisor">Extra: Supervisor</h3>
<p>If everything went as expected, you can wrap your command in a
supervisor config file and let it handle the server for you.</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[unix_http_server]</span>
<span style="color:#a6e22e">file</span><span style="color:#f92672">=</span><span style="color:#e6db74">/tmp/myapp.sock ; path to your socket file</span>
<span style="color:#66d9ef">[supervisord]</span>
<span style="color:#a6e22e">logfile</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%(here)s/logs/supervisor.log</span>
<span style="color:#a6e22e">childlogdir</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%(here)s/logs/</span>
<span style="color:#66d9ef">[rpcinterface:supervisor]</span>
<span style="color:#a6e22e">supervisor.rpcinterface_factory</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">supervisor.rpcinterface:make_main_rpcinterface</span>
<span style="color:#66d9ef">[supervisorctl]</span>
<span style="color:#a6e22e">logfile</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%(here)s/logs/supervisorctl.log</span>
<span style="color:#a6e22e">serverurl</span><span style="color:#f92672">=</span><span style="color:#e6db74">unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket</span>
<span style="color:#66d9ef">[program:myapp]</span>
<span style="color:#a6e22e">command</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 --log-file %(here)s/logs/gunicorn.log --access-logfile - wsgi:application</span>
<span style="color:#a6e22e">directory</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%(here)s</span>
<span style="color:#a6e22e">environment</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">PATH=%(here)s/venv/bin/</span>
<span style="color:#a6e22e">logfile</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%(here)s/logs/myapp.log</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,332 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Zotero</h2>
<span class="date">2014/12/09</span>
<span>
<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>
</span>
<h3></h3>
<p><a href="https://www.zotero.org/">Zotero</a> is an Open Source tool that lets you
organise your bibliography, syncing it with the cloud. Unlike other
alternatives such as <a href="http://www.mendeley.com">Mendeley</a>, Zotero can
upload the attachments and data to a private cloud via WebDav.</p>
<p>If you use nginx as your web server, know that even though it provides
partial support for webdav, Zotero needs more than that. Hence, you will
need another webdav server, and optionally let nginx proxy to it. This
short post provides the basics to get that set-up working under
Debian/Ubuntu.</p>
<h2 id="setting-up-apache">Setting up Apache</h2>
<p>First we need to install Apache:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sudo apt-get install apache2
</code></pre></td></tr></table>
</div>
</div><p>Change the head of &ldquo;/etc/apache2/sites-enabled/000-default&rdquo; to:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;VirtualHost</span> <span style="color:#e6db74">*:880</span><span style="color:#f92672">&gt;</span>
</code></pre></td></tr></table>
</div>
</div><p>Then, create a file /etc/apache2/sites-available/webdav:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">Alias <span style="color:#e6db74">/dav</span> <span style="color:#e6db74">/home/webdav/dav</span>
<span style="color:#f92672">&lt;Location</span> <span style="color:#e6db74">/dav</span><span style="color:#f92672">&gt;</span>
Dav <span style="color:#66d9ef">on</span>
Order Allow,Deny
Allow from <span style="color:#66d9ef">all</span>
Dav <span style="color:#66d9ef">On</span>
Options +Indexes
AuthType Basic
AuthName DAV
AuthBasicProvider file
AuthUserFile <span style="color:#e6db74">/home/webdav/.htpasswd</span>
Require valid-user
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div><p>Ideally, you want your webdav folders to be private, adding
authentication to them. So you need to create the webdav and zotero
users and add the passwords to an htpasswd file. Even though you could
use a single user, since you will be configuring several clients with
your credentials I encourage you to create the zotero user as well. This
way you can always change the password for zotero without affecting any
other application using webdav.</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sudo adduser webdav
sudo htpasswd -c /home/webdav/.htpasswd webdav
sudo htpasswd /home/webdav/.htpasswd zotero
sudo mkdir -p /home/webdav/dav/zotero
</code></pre></td></tr></table>
</div>
</div><p>Enable the site and restart apache:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sudo a2enmod webdav
sudo a2enmod dav_fs
sudo a2ensite webdav
sudo service apache2 restart
</code></pre></td></tr></table>
</div>
</div><p>At this point everything should be working at
<a href="http://">http://</a>&lt;your_host&gt;:880/dav/zotero</p>
<h2 id="setting-up-nginx">Setting up NGINX</h2>
<p>After the Apache side is working, we can use nginx as a proxy to get
cleaner URIs. In your desired site/location, add this:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">7
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-nginx" data-lang="nginx"><span style="color:#66d9ef">location</span> <span style="color:#e6db74">/dav</span> {
<span style="color:#f92672">client_max_body_size</span> <span style="color:#e6db74">20M</span>;
<span style="color:#f92672">proxy_set_header</span> <span style="color:#e6db74">X-Real-IP</span> $remote_addr;
<span style="color:#f92672">proxy_set_header</span> <span style="color:#e6db74">X-Forwarded-For</span> $remote_addr;
<span style="color:#f92672">proxy_set_header</span> <span style="color:#e6db74">Host</span> $host;
<span style="color:#f92672">proxy_pass</span> <span style="color:#e6db74">http://127.0.0.1:880</span>;
}
</code></pre></td></tr></table>
</div>
</div><p>Now just reload nginx:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sudo service nginx force-reload
</code></pre></td></tr></table>
</div>
</div><h2 id="extras">Extras</h2>
<ul>
<li><a href="http://zoteroreader.com/">Zotero Reader</a> - HTML5 client</li>
<li><a href="https://github.com/ajlyon/zandy">Zandy</a> - Android Open Source
client</li>
</ul>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,211 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Sharing dotfiles</h2>
<span class="date">2015/04/10</span>
<span>
<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>
</span>
<h3></h3>
<p>Today&rsquo;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.</p>
<p>As part of moving to emacs, I starting using the incredibly useful
<a href="https://github.com/defunkt/gist.el">gh.el</a>. When you first use it, the
extension saves either your password or an OAuth token in your
.gitconfig file. This is cool and convenient, unless you <a href="https://github.com/balkian/dotfiles">happen to be
publishing your .gitconfig file in a public
repo</a>.</p>
<p>So, how can you still share your gitconfig without sharing your
password/token with the rest of the world? Since Git 1.7.0, you can
<a href="http://stackoverflow.com/questions/1557183/is-it-possible-to-include-a-file-in-your-gitconfig">include other files in your
gitconfig</a>.</p>
<pre><code class="language-config" data-lang="config">[include]
path = ~/.gitconfig_secret
</code></pre><p>And now, in your .gitconfig_secret file, you just have to add this:</p>
<pre><code class="language-config" data-lang="config">[github]
user = balkian
token = &quot;&lt; Your secret token &gt;&quot;
</code></pre>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Progress bars in python</h2>
<span class="date">2016/09/28</span>
<span>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
</span>
<h3></h3>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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 id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,317 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Controlling Zigbee devices with MQTT</h2>
<span class="date">2019/01/06</span>
<span>
<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>
</span>
<h3></h3>
<p>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.</p>
<p>If you&rsquo;re anything like me, you&rsquo;re probably a sucker for IoT devices.
For a long time, I&rsquo;ve been using WiFi-enabled lights, and Amazon dash
buttons to control them. To keep these (cheap Chinese) internet enabled
devices away from your network and their respective cloud services,
you&rsquo;ll probably want to set up a dedicated network in your router (more
on this on a future post, maybe). Another disadvantage of WiFi devices
is that they&rsquo;re relatively power hungry.</p>
<p>A popular alternative is using ZigBee for communication. It is a
dedicated protocol similar to bluetooth (BLE), with lower power
requirements and bitrate.</p>
<p>Take the (super cute) aqara cube as an example. It is a small cube that
detects rotation on all of its axes, and tapping events. Here&rsquo;s a
video:</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe src="https://www.youtube.com/embed/5YtqG1wEnng" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
</div>
<p>To connect to zigbee devices you will need a zigbee enabled gateway
(a.k.a. hub), which connects to your WiFi network and your zigbee
devices. Once again, this means adding an internet-enabled device to
your home, and probably a couple of cloud services.</p>
<p>As an alternative, you can set up your own zigbee gateway, and control
it to your home automation platform of choice (e.g. home assistant). We
will cover how to set up a zigbee2mqtt gateway that is also connected to
an MQTT server, so you can use MQTT to control your devices and get
notifications.</p>
<p>What you need:</p>
<ul>
<li><a href="https://www.aliexpress.com/item/Original-Xiaomi-Mi-Aqara-Cube-Smart-Home-Controller-6-Action-Operation-Fr-Home-Device-Zigbee-Version/32892947622.html?spm=a2g0s.9042311.0.0.3da24c4dXV8sBI">Aqara
cube</a>.</li>
<li><a href="https://www.aliexpress.com/item/Wireless-Zigbee-CC2531-CC2540-Zigbee-Sniffer-Bluetooth-BLE-4-0-Dongle-Capture-Module-USB-Programmer-Downloader/32907587711.html?spm=a2g0s.9042311.0.0.3da24c4dXV8sBI">CC2531 zigbee
sniffer</a>.</li>
<li><a href="https://www.aliexpress.com/item/CFSUNBIRD-CC-DEBUGGER-Debugger-and-Programmer-for-RF-System-on-Chips-TI-ORIGINAL-Fast-hipping/32813122315.html?spm=a2g0s.9042311.0.0.3da24c4dXV8sBI">CC-debugger</a>.</li>
</ul>
<p>You will need to flash your sniffer. For that, you only need to follow
the instructions from the <a href="https://koenkk.github.io/zigbee2mqtt/">zigbee2mqtt
documentation</a>.</p>
<p>Once you&rsquo;re done flashing, you&rsquo;re ready to set up the zigbee2mqtt
server. For convenience, I wrote a simple docker-compose to deploy a
zigbee2mqtt server and a test mosquitto server:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#66d9ef">version</span>: <span style="color:#e6db74">&#39;2.1&#39;</span>
<span style="color:#66d9ef">services</span>:
<span style="color:#66d9ef">zigbee2mqtt</span>:
<span style="color:#66d9ef">image</span>: koenkk/zigbee2mqtt
<span style="color:#66d9ef">container_name</span>: zigbee2mqtt
<span style="color:#66d9ef">restart</span>: always
<span style="color:#66d9ef">volumes</span>:
- ./z2m-data/:/app/data/
<span style="color:#66d9ef">devices</span>:
- <span style="color:#e6db74">&#34;/dev/ttyACM0&#34;</span>
<span style="color:#66d9ef">networks</span>:
- hass
<span style="color:#66d9ef">mqtt</span>:
<span style="color:#66d9ef">image</span>: eclipse-mosquitto
<span style="color:#66d9ef">ports</span>:
- <span style="color:#ae81ff">1883</span>:<span style="color:#ae81ff">1883</span>
- <span style="color:#ae81ff">9001</span>:<span style="color:#ae81ff">9001</span>
<span style="color:#66d9ef">networks</span>:
- hass
<span style="color:#66d9ef">volumes</span>:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
<span style="color:#66d9ef">networks</span>:
<span style="color:#66d9ef">hass</span>:
<span style="color:#66d9ef">driver</span>: overlay
</code></pre></td></tr></table>
</div>
</div><p>You can test your installation with:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell"> mosquitto_sub -h localhost -p <span style="color:#ae81ff">1883</span> -t <span style="color:#e6db74">&#39;zigbee2mqtt/#&#39;</span>
online
<span style="color:#f92672">{</span><span style="color:#e6db74">&#34;battery&#34;</span>:17,<span style="color:#e6db74">&#34;voltage&#34;</span>:2925,<span style="color:#e6db74">&#34;linkquality&#34;</span>:149,<span style="color:#e6db74">&#34;action&#34;</span>:<span style="color:#e6db74">&#34;rotate_right&#34;</span>,<span style="color:#e6db74">&#34;angle&#34;</span>:12.8<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span><span style="color:#e6db74">&#34;battery&#34;</span>:17,<span style="color:#e6db74">&#34;voltage&#34;</span>:2925,<span style="color:#e6db74">&#34;linkquality&#34;</span>:141,<span style="color:#e6db74">&#34;action&#34;</span>:<span style="color:#e6db74">&#34;slide&#34;</span>,<span style="color:#e6db74">&#34;side&#34;</span>:2<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span><span style="color:#e6db74">&#34;battery&#34;</span>:17,<span style="color:#e6db74">&#34;voltage&#34;</span>:2925,<span style="color:#e6db74">&#34;linkquality&#34;</span>:120<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span><span style="color:#e6db74">&#34;battery&#34;</span>:17,<span style="color:#e6db74">&#34;voltage&#34;</span>:2925,<span style="color:#e6db74">&#34;linkquality&#34;</span>:141,<span style="color:#e6db74">&#34;action&#34;</span>:<span style="color:#e6db74">&#34;wakeup&#34;</span><span style="color:#f92672">}</span></code></pre></td></tr></table>
</div>
</div>
<p>zigbee2mqtt supports the following events for the aqara cube: shake,
wakeup, fall, tap, slide, flip180, flip90, rotate_left and
rotate_right. Every event has additional information, such as the sides
involved, or the degrees turned.</p>
<p>Now you are ready to set up home assistant support in zigbee2mqtt
following <a href="https://koenkk.github.io/zigbee2mqtt/integration/home_assistant.html">this
guide</a>.</p>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,272 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Linux on the Microsoft Surface Go</h2>
<span class="date">2019/06/01</span>
<span>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
</span>
<h3></h3>
<p>Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.</p>
<h2 id="installing-the-kernel">Installing the kernel</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git clone --depth <span style="color:#ae81ff">1</span> https://github.com/jakeday/linux-surface.git ~/linux-surface
cp -a ~/linux-surface /media/&lt;your usb&gt;
</code></pre></td></tr></table>
</div>
</div><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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cp -a /media/&lt;your usb&gt;/linux-surface ~/
cd ~/linux-surface/
sudo sh setup.sh
</code></pre></td></tr></table>
</div>
</div><h2 id="booting-ubuntu-first">Booting ubuntu first</h2>
<p>Switch out of Windows S mode.</p>
<p>Boot into the &ldquo;Command Prompt&rdquo;.</p>
<p>From Windows go to &ldquo;change advanced startup options&rdquo; and select &ldquo;restart now&rdquo;.</p>
<p>When it reboots, choose the &ldquo;Troubleshoot&rdquo; option, then choose the &ldquo;Advanced options&rdquo; option, and finally choose the &ldquo;Command Prompt&rdquo; option.</p>
<p>After the device reboots, login to the command prompt and then you should see a terminal with X:\windows\system32&gt;</p>
<p>At the prompt, check your UEFI entries:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">bcdedit /enum firmware
</code></pre></td></tr></table>
</div>
</div><p>Copy UEFI entry of &ldquo;Windows Boot Manager&rdquo; to create a new entry for Ubuntu: bcdedit /copy {bootmgr} /d &ldquo;Ubuntu&rdquo;</p>
<p>Copy the printed GUID number including the braces {} using Ctrl+C</p>
<p>Set file path for the new Ubuntu entry. Replace {guid} with the returned GUID of the previous command (Ctrl+V). bcdedit /set {guid} path \EFI\ubuntu\grubx64.efi</p>
<p>Set Ubuntu as the first/ entry in the boot sequence. Again replace {guid} with the returned GUID of the copy command.</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">bcdedit /set <span style="color:#f92672">{</span>fwbootmgr<span style="color:#f92672">}</span> displayorder <span style="color:#f92672">{</span>guid<span style="color:#f92672">}</span> /addfirst
</code></pre></td></tr></table>
</div>
</div><p>Check your UEFI entries again: bcdedit /enum firmware You should see something like this:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">
Firmware Boot Manager
---------------------
identifier <span style="color:#f92672">{</span>fwbootmgr<span style="color:#f92672">}</span>
displayorder <span style="color:#f92672">{</span>3510232e-f8eb-e811-95ce-9ecab3f9d1c4<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span>bootmgr<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span>2148799b-f8eb-e811-95ce-9ecab3f9d1c4<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span>312e8a67-c2f6-e811-95ce-3c1ab3f9d1de<span style="color:#f92672">}</span>
<span style="color:#f92672">{</span>312e8a68-c2f6-e811-95ce-3c1ab3f9d1de<span style="color:#f92672">}</span>
timeout <span style="color:#ae81ff">0</span>
</code></pre></td></tr></table>
</div>
</div><p>Make sure the GUID you copied is the first one listed in displayorder. Then type exit, turn off the PC and turn it back on. After this my surface go is automatically booting to the grub bootloader which lets me choose between Windows and Ubuntu but defaults to Ubuntu after ten seconds.</p>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,238 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Logitech MX Keys for Mac on Linux</h2>
<span class="date">2021/10/29</span>
<span>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
</span>
<h3></h3>
<p>I recently got Logitech MX Keys for Mac keyboard at work.
The German version, to be more precise.
This version was three times cheaper than the Windows equivalent with either US or ES layout.
Since I touch type anyway, I thought it was a bargain.</p>
<p>As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
First of all, the Meta/Super and Alt keys are reversed in this keyboard.
In the normal/full version of this keyboard, Logitech gives an option to choose between Mac, Windows and iOS host, and that changes the behavior of the keys.
In this version, tho, only iOS and Mac are available.</p>
<p>Besides that, there&rsquo;s the issue of the grave (tilde) and angle keys switched as well.</p>
<p>Switching these keys around would be very easy with Xorg, but Wayland once again complicates things&hellip;</p>
<p>These issues almost made me return the keyboard.
Luckily, tho, there is another option: configuring the keys one level lower than wayland (and X11), through hwdb.</p>
<p>Long story short, this will configure any Logitech keyboard with the same product id (0x4092) to use a saner configuration:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#75715e">#File: /etc/udev/hwdb.d/90-logitech-keyboard.hwdb</span>
<span style="color:#a6e22e">evdev:input:b0003v046Dp4092*</span>
<span style="color:#a6e22e">KEYBOARD_KEY_700e2</span><span style="color:#f92672">=</span><span style="color:#e6db74">leftmeta
</span><span style="color:#e6db74"> KEYBOARD_KEY_700e3=leftalt
</span><span style="color:#e6db74"> KEYBOARD_KEY_70039=leftctrl
</span><span style="color:#e6db74"> KEYBOARD_KEY_70064=102nd
</span><span style="color:#e6db74"> KEYBOARD_KEY_70035=grave
</span><span style="color:#e6db74"> KEYBOARD_KEY_700e7=rightalt
</span><span style="color:#e6db74"> KEYBOARD_KEY_700e6=rightmeta
</span><span style="color:#e6db74"> KEYBOARD_KEY_7006d=compose</span>
</code></pre></td></tr></table>
</div>
</div><p>After that, simply run:</p>
<pre><code> sudo udevadm hwdb --update &amp;&amp; sudo udevadm trigger
</code></pre>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,234 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Logitech MB850 combi in linux</h2>
<span class="date">2021/10/30</span>
<span>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
</span>
<h3></h3>
<p>As a follow-up to my last post, I&rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).</p>
<p>Some notes:</p>
<ul>
<li>The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc)</li>
<li>The mouse has an additional button that registers as a keyboard. Every press maps to three key events. I&rsquo;ve disabled two of them and mapped the action to F19, in case I want to use it in my DE/WM.</li>
</ul>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">7
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">8
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-cfg" data-lang="cfg"><span style="color:#a6e22e">evdev:input:* </span>
<span style="color:#a6e22e">KEYBOARD_KEY_70039</span><span style="color:#f92672">=</span><span style="color:#e6db74">leftctrl # bind capslock to w </span>
<span style="color:#a6e22e">evdev:input:b0005v046DpB015*</span>
<span style="color:#a6e22e">KEYBOARD_KEY_700e0</span><span style="color:#f92672">=</span><span style="color:#e6db74">f19
</span><span style="color:#e6db74"> KEYBOARD_KEY_700e2=unknown
</span><span style="color:#e6db74"> KEYBOARD_KEY_7002b=unknown</span>
</code></pre></td></tr></table>
</div>
</div><p>After that, simply run:</p>
<pre><code> sudo udevadm hwdb --update &amp;&amp; sudo udevadm trigger
</code></pre><p>Make sure the settings have been applied by running <code>evemu-describe</code>:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"> sudo /sbin/evemu-describe /dev/input/event&lt;id of your device&gt; | grep KEY_
</code></pre></td></tr></table>
</div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,315 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Posts</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 >
<i class="fa fa-home fa-large"></i>
</li></a>
<a href="../post/"><li class=' active' >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">2021/10/30</span>
<h2><a href="../post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="../post/2021-10-30-logitech-mk850/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2021/10/29</span>
<h2><a href="../post/2021-10-29-logitech-mx-keys-mac/" class="title">Logitech MX Keys for Mac on Linux</a></h2>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
</div>
I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
<div><a href="../post/2021-10-29-logitech-mx-keys-mac/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2019/06/01</span>
<h2><a href="../post/2019-05-01-surface-go/" class="title">Linux on the Microsoft Surface Go</a></h2>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
</div>
Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.
<div><a href="../post/2019-05-01-surface-go/"><div class="readmore"> Read more...</div></a></div>
</div>
<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 youre anything like me, youre probably a sucker for IoT devices. For a long time, Ive 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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
<span class="nextpage"><a href="../post/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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Posts on Balkian&#39;s site</title>
<link>/post/</link>
<description>Recent content in Posts on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/post/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
<item>
<title>Logitech MX Keys for Mac on Linux</title>
<link>/post/2021-10-29-logitech-mx-keys-mac/</link>
<pubDate>Fri, 29 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-29-logitech-mx-keys-mac/</guid>
<description>I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.</description>
</item>
<item>
<title>Linux on the Microsoft Surface Go</title>
<link>/post/2019-05-01-surface-go/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/post/2019-05-01-surface-go/</guid>
<description>&lt;p&gt;Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.&lt;/p&gt;</description>
</item>
<item>
<title>Controlling Zigbee devices with MQTT</title>
<link>/post/2019-01-06-zigbee2mqtt/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/post/2019-01-06-zigbee2mqtt/</guid>
<description>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&amp;rsquo;re anything like me, you&amp;rsquo;re probably a sucker for IoT devices. For a long time, I&amp;rsquo;ve been using WiFi-enabled lights, and Amazon dash buttons to control them.</description>
</item>
<item>
<title>Progress bars in python</title>
<link>/post/2016-09-28-tqdm/</link>
<pubDate>Wed, 28 Sep 2016 18:47:00 +0000</pubDate>
<guid>/post/2016-09-28-tqdm/</guid>
<description>tqdm is a nice way to add progress bars in the command line or in a jupyter notebook.
1 2 3 4 5 from tqdm import tqdm import time for i in tqdm(range(100)): time.sleep(1) </description>
</item>
<item>
<title>Sharing dotfiles</title>
<link>/post/2015-04-10-github-dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/post/2015-04-10-github-dotfiles/</guid>
<description>Today&amp;rsquo;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 .</description>
</item>
<item>
<title>Zotero</title>
<link>/post/2014-12-09-zotero/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/post/2014-12-09-zotero/</guid>
<description>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.</description>
</item>
<item>
<title>Proxies with Apache and python</title>
<link>/post/2014-10-09-proxies/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-10-09-proxies/</guid>
<description>&lt;p&gt;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 &lt;em&gt;application&lt;/em&gt;. Hence, wsgi:application.&lt;/p&gt;
&lt;h2 id=&#34;gunicorn&#34;&gt;Gunicorn&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;/myapp/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/myapp/&amp;#34;&lt;/span&gt;
&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
</item>
<item>
<title>Publishing on PyPi</title>
<link>/post/2014-09-23-publishing-to-pypi/</link>
<pubDate>Sat, 27 Sep 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-09-23-publishing-to-pypi/</guid>
<description>Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.</description>
</item>
<item>
<title>Updating EuroLoveMap</title>
<link>/post/2014-03-27-updating-eurolovemap/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/post/2014-03-27-updating-eurolovemap/</guid>
<description>As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the &amp;ldquo;overall feeling&amp;rdquo; of each country about each topic.</description>
</item>
<item>
<title>Remove git files with globbing</title>
<link>/post/2013-08-22-remove-git-files-with-globbing/</link>
<pubDate>Thu, 22 Aug 2013 23:14:00 +0000</pubDate>
<guid>/post/2013-08-22-remove-git-files-with-globbing/</guid>
<description>A simple trick. If you want to remove all the &amp;lsquo;.swp&amp;rsquo; files from a git repository, just use:
1 git rm --cached &amp;#39;**.swp&amp;#39; </description>
</item>
<item>
<title>Creating my web</title>
<link>/post/2013-08-17-creating-my-web/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/post/2013-08-17-creating-my-web/</guid>
<description>I&amp;rsquo;ve finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/post/</title><link rel="canonical" href="/post/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/post/" /></head></html>

@ -0,0 +1,322 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Posts</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 >
<i class="fa fa-home fa-large"></i>
</li></a>
<a href="../../../post/"><li class=' active' >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">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>
Todays 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>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">&#34;/myapp/&#34;</span>
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div>
<div><a href="../../../post/2014-10-09-proxies/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2014/09/27</span>
<h2><a href="../../../post/2014-09-23-publishing-to-pypi/" class="title">Publishing on PyPi</a></h2>
<a class="tag" href='../../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../../tags/pypi'><span class="label">pypi</span></a>
</div>
Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.
<div><a href="../../../post/2014-09-23-publishing-to-pypi/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2014/03/27</span>
<h2><a href="../../../post/2014-03-27-updating-eurolovemap/" class="title">Updating EuroLoveMap</a></h2>
<a class="tag" href='../../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../../tags/heroku'><span class="label">heroku</span></a>
</div>
As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the “overall feeling” of each country about each topic.
<div><a href="../../../post/2014-03-27-updating-eurolovemap/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="pagination pag-bottom">
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="../../../post/"> Previous Page</a></span>
<span class="nextpage"><a href="../../../post/page/3/"> 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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,243 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - Posts</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 >
<i class="fa fa-home fa-large"></i>
</li></a>
<a href="../../../post/"><li class=' active' >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">2013/08/22</span>
<h2><a href="../../../post/2013-08-22-remove-git-files-with-globbing/" class="title">Remove git files with globbing</a></h2>
<a class="tag" href='../../../tags/git'><span class="label">git</span></a>
</div>
<p>A simple trick. If you want to remove all the &lsquo;.swp&rsquo; files from a git
repository, just use:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git rm --cached <span style="color:#e6db74">&#39;**.swp&#39;</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2013/08/22</span>
<h2><a href="../../../post/2013-08-17-creating-my-web/" class="title">Creating my web</a></h2>
<a class="tag" href='../../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../../tags/git'><span class="label">git</span></a>
</div>
Ive finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.
<div><a href="../../../post/2013-08-17-creating-my-web/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="pagination pag-bottom">
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="../../../post/page/2/"> Previous Page</a></span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h2>Posts</h2>
<div>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Posts on Balkian&#39;s site</title>
<link>/posts/</link>
<description>Recent content in Posts on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

@ -0,0 +1,196 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<h1 id="ongoing-projects">Ongoing Projects</h1>
<ul>
<li><a href="http://senpy.readthedocs.io">Senpy</a>: a framework for semantic sentiment and emotion analysis services.</li>
<li><a href="http://soilsim.readthedocs.io">Soil</a>: an agent-based simulator for social networks based on nx-sim and networkx.</li>
<li><a href="http://gsi.dit.upm.es/ontologies/onyx">Onyx</a>: an ontology for emotion analysis that includes concepts from W3C&rsquo;s provenance.</li>
</ul>
<h1 id="past-projects">Past Projects</h1>
<ul>
<li><a href="http://gsi.dit.upm.es/ontologies/marl">Marl</a>: I updated this ontology, originally created by Adam Westerski, to make it compatible with the W3C&rsquo;s provenance ontology.</li>
<li><a href="http://github.com/balkian/hermes">Hermes</a>: one of my first projects, developed together with David Pérez as the special custom assignment in one of our courses. Hermes is an affective bot designed to mimic the behavour of humans. It included a plug-in system for its sensors and actuators. The information from its sensors changed its emotional state, which was shown via its actuators. Among others, it could fetch inforation from Twitter or its host system and change the expressions of an external Face made with servo motors or speak via its Text-To-Speech software. For instance, it could detect it was running out of battery, showing a sad face and sending an alerting tweet. You can see it in action in these two youtube videos: <a href="http://www.youtube.com/watch?v=KnEYahPD9z4">Part 1</a> and <a href="http://www.youtube.com/watch?v=lQZldCTPEJc">Part 2</a>.</li>
<li><a href="http://github.com/gsi-upm/maia">Maia</a>: the Modular Architecture for Intelligent Agents is an evented agent architecture that aims to update the classical frameworks for intelligent agents with the concepts emerged from the Live Web.</li>
<li><a href="http://github.com/eestec/eestec.portal">EESTEC.net</a>: the Plone based official portal of EESTEC. It has been my first and only experience with Plone. I fixed some bugs and implemented basic features.</li>
</ul>
<p>For more information, check my list of public repositories in <a href="http://github.com/balkian"><i class="fab fa-github"> Github</i></a>.</p>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<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>
<section class="resume-section p-3 p-lg-5 d-flex flex-column">
<div class="my-auto" >
<form class="search">
<input type="text" name="s" class="searchTerm" placeholder="What are you looking for?">
<button type="submit" class="searchButton">
<i class="fas fa-2x fa-search"></i>
</button>
</form>
<div id="search-results">
<h3>Matching pages</h3>
</div>
</div>
</section>
<script id="search-result-template" type="text/x-js-template">
<div id="summary-${key}">
<h4><a href="${link}">${title}</a></h4>
<p>${snippet}</p>
${ isset tags }<p>Tags: ${tags}</p>${ end }
${ isset categories }<p>Categories: ${categories}</p>${ end }
</div>
</script>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.2.0/fuse.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js"></script>
<script src="../js/search.js"></script>
</body>
</html>

@ -0,0 +1,278 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/keyboard/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/linux/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/logitech/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/post/2021-10-30-logitech-mk850/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/mouse/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/post/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/</loc>
<lastmod>2021-10-30T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/post/2021-10-29-logitech-mx-keys-mac/</loc>
<lastmod>2021-10-29T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/config/</loc>
<lastmod>2019-06-01T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/post/2019-05-01-surface-go/</loc>
<lastmod>2019-06-01T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/tags/surface-go/</loc>
<lastmod>2019-06-01T00:00:01+00:00</lastmod>
</url>
<url>
<loc>/post/2019-01-06-zigbee2mqtt/</loc>
<lastmod>2019-01-06T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/iot/</loc>
<lastmod>2019-01-06T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/mqtt/</loc>
<lastmod>2019-01-06T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/zigbee/</loc>
<lastmod>2019-01-06T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/post/2016-09-28-tqdm/</loc>
<lastmod>2016-09-28T18:47:00+00:00</lastmod>
</url>
<url>
<loc>/tags/python/</loc>
<lastmod>2016-09-28T18:47:00+00:00</lastmod>
</url>
<url>
<loc>/tags/dotfiles/</loc>
<lastmod>2015-04-10T17:47:00+00:00</lastmod>
</url>
<url>
<loc>/tags/git/</loc>
<lastmod>2015-04-10T17:47:00+00:00</lastmod>
</url>
<url>
<loc>/tags/github/</loc>
<lastmod>2015-04-10T17:47:00+00:00</lastmod>
</url>
<url>
<loc>/post/2015-04-10-github-dotfiles/</loc>
<lastmod>2015-04-10T17:47:00+00:00</lastmod>
</url>
<url>
<loc>/tags/apache/</loc>
<lastmod>2014-12-09T12:12:12+00:00</lastmod>
</url>
<url>
<loc>/tags/nginx/</loc>
<lastmod>2014-12-09T12:12:12+00:00</lastmod>
</url>
<url>
<loc>/tags/webdav/</loc>
<lastmod>2014-12-09T12:12:12+00:00</lastmod>
</url>
<url>
<loc>/post/2014-12-09-zotero/</loc>
<lastmod>2014-12-09T12:12:12+00:00</lastmod>
</url>
<url>
<loc>/tags/zotero/</loc>
<lastmod>2014-12-09T12:12:12+00:00</lastmod>
</url>
<url>
<loc>/tags/gunicorn/</loc>
<lastmod>2014-10-09T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/post/2014-10-09-proxies/</loc>
<lastmod>2014-10-09T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/proxy/</loc>
<lastmod>2014-10-09T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/uwsgi/</loc>
<lastmod>2014-10-09T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/post/2014-09-23-publishing-to-pypi/</loc>
<lastmod>2014-09-27T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/pypi/</loc>
<lastmod>2014-09-27T10:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/heroku/</loc>
<lastmod>2014-03-27T14:00:00+00:00</lastmod>
</url>
<url>
<loc>/tags/javascript/</loc>
<lastmod>2014-03-27T14:00:00+00:00</lastmod>
</url>
<url>
<loc>/post/2014-03-27-updating-eurolovemap/</loc>
<lastmod>2014-03-27T14:00:00+00:00</lastmod>
</url>
<url>
<loc>/post/2013-08-22-remove-git-files-with-globbing/</loc>
<lastmod>2013-08-22T23:14:00+00:00</lastmod>
</url>
<url>
<loc>/post/2013-08-17-creating-my-web/</loc>
<lastmod>2013-08-22T14:14:22+00:00</lastmod>
</url>
<url>
<loc>/tags/ruby/</loc>
<lastmod>2013-08-22T14:14:22+00:00</lastmod>
</url>
<url>
<loc>/tags/starters/</loc>
<lastmod>2013-08-22T14:14:22+00:00</lastmod>
</url>
<url>
<loc>/tags/arch/</loc>
</url>
<url>
<loc>/categories/</loc>
</url>
<url>
<loc>/cheatsheet/</loc>
</url>
<url>
<loc>/cheatsheet/emacs/</loc>
</url>
<url>
<loc>/tags/emacs/</loc>
</url>
<url>
<loc>/project/</loc>
</url>
<url>
<loc>/cheatsheet/linux/</loc>
</url>
<url>
<loc>/tags/lisp/</loc>
</url>
<url>
<loc>/tags/org/</loc>
</url>
<url>
<loc>/page/</loc>
</url>
<url>
<loc>/posts/</loc>
</url>
<url>
<loc>/tags/productivity/</loc>
</url>
<url>
<loc>/tags/programming/</loc>
</url>
<url>
<loc>/cheatsheet/python/</loc>
</url>
<url>
<loc>/cheatsheet/rpi/</loc>
</url>
<url>
<loc>/tags/rpi/</loc>
</url>
<url>
<loc>/search/</loc>
<priority>0.1</priority>
</url>
<url>
<loc>/page/todo/</loc>
</url>
</urlset>

@ -0,0 +1,261 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - apache</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 >
<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">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>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">&#34;/myapp/&#34;</span>
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div>
<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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>apache on Balkian&#39;s site</title>
<link>/tags/apache/</link>
<description>Recent content in apache on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Tue, 09 Dec 2014 12:12:12 +0000</lastBuildDate>
<atom:link href="/tags/apache/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Zotero</title>
<link>/post/2014-12-09-zotero/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/post/2014-12-09-zotero/</guid>
<description>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.</description>
</item>
<item>
<title>Proxies with Apache and python</title>
<link>/post/2014-10-09-proxies/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-10-09-proxies/</guid>
<description>&lt;p&gt;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 &lt;em&gt;application&lt;/em&gt;. Hence, wsgi:application.&lt;/p&gt;
&lt;h2 id=&#34;gunicorn&#34;&gt;Gunicorn&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;/myapp/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/myapp/&amp;#34;&lt;/span&gt;
&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/apache/</title><link rel="canonical" href="/tags/apache/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/apache/" /></head></html>

@ -0,0 +1,209 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - arch</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 >
<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 default-entry">
<div class="posthead">
<h2><a href="../../cheatsheet/linux/" class="title">Linux</a></h2>
<h3>Tips and tricks for GNU/Linux and Unix</h3>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/arch'><span class="label">arch</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>arch on Balkian&#39;s site</title>
<link>/tags/arch/</link>
<description>Recent content in arch on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/tags/arch/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Linux</title>
<link>/cheatsheet/linux/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/linux/</guid>
<description>Black screen and LightDM doesn&amp;rsquo;t unlock Add this to your /etc/lightdm/lightdm.conf file:
1 2 [LightDM] logind-check-graphical=true Edit previous commands fc is a shell builtin to list and edit previous commands in an editor. In addition to editing a single line (which you can also do with C-x C-e), it also allows you to edit and run several lines at the same time.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/arch/</title><link rel="canonical" href="/tags/arch/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/arch/" /></head></html>

@ -0,0 +1,215 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - config</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 >
<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/06/01</span>
<h2><a href="../../post/2019-05-01-surface-go/" class="title">Linux on the Microsoft Surface Go</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
</div>
Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.
<div><a href="../../post/2019-05-01-surface-go/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>config on Balkian&#39;s site</title>
<link>/tags/config/</link>
<description>Recent content in config on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 01 Jun 2019 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/config/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Linux on the Microsoft Surface Go</title>
<link>/post/2019-05-01-surface-go/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/post/2019-05-01-surface-go/</guid>
<description>&lt;p&gt;Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.&lt;/p&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/config/</title><link rel="canonical" href="/tags/config/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/config/" /></head></html>

@ -0,0 +1,215 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - dotfiles</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 >
<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">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>
Todays 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="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>dotfiles on Balkian&#39;s site</title>
<link>/tags/dotfiles/</link>
<description>Recent content in dotfiles on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Fri, 10 Apr 2015 17:47:00 +0000</lastBuildDate>
<atom:link href="/tags/dotfiles/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Sharing dotfiles</title>
<link>/post/2015-04-10-github-dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/post/2015-04-10-github-dotfiles/</guid>
<description>Today&amp;rsquo;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 .</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/dotfiles/</title><link rel="canonical" href="/tags/dotfiles/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/dotfiles/" /></head></html>

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - emacs</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 >
<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 default-entry">
<div class="posthead">
<h2><a href="../../cheatsheet/emacs/" class="title">Emacs</a></h2>
<h3>Configuration files and tricks for emacs</h3>
<a class="tag" href='../../tags/emacs'><span class="label">emacs</span></a>
<a class="tag" href='../../tags/org'><span class="label">org</span></a>
<a class="tag" href='../../tags/productivity'><span class="label">productivity</span></a>
<a class="tag" href='../../tags/lisp'><span class="label">lisp</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>emacs on Balkian&#39;s site</title>
<link>/tags/emacs/</link>
<description>Recent content in emacs on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/tags/emacs/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Emacs</title>
<link>/cheatsheet/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/emacs/</guid>
<description>&lt;h1 id=&#34;show-plain-text-version&#34;&gt;Show plain text version&lt;/h1&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/emacs/</title><link rel="canonical" href="/tags/emacs/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/emacs/" /></head></html>

@ -0,0 +1,264 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - git</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 >
<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">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>
Todays 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">2013/08/22</span>
<h2><a href="../../post/2013-08-22-remove-git-files-with-globbing/" class="title">Remove git files with globbing</a></h2>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
<p>A simple trick. If you want to remove all the &lsquo;.swp&rsquo; files from a git
repository, just use:</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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git rm --cached <span style="color:#e6db74">&#39;**.swp&#39;</span>
</code></pre></td></tr></table>
</div>
</div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2013/08/22</span>
<h2><a href="../../post/2013-08-17-creating-my-web/" class="title">Creating my web</a></h2>
<a class="tag" href='../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
Ive finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.
<div><a href="../../post/2013-08-17-creating-my-web/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>git on Balkian&#39;s site</title>
<link>/tags/git/</link>
<description>Recent content in git on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Fri, 10 Apr 2015 17:47:00 +0000</lastBuildDate>
<atom:link href="/tags/git/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Sharing dotfiles</title>
<link>/post/2015-04-10-github-dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/post/2015-04-10-github-dotfiles/</guid>
<description>Today&amp;rsquo;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 .</description>
</item>
<item>
<title>Remove git files with globbing</title>
<link>/post/2013-08-22-remove-git-files-with-globbing/</link>
<pubDate>Thu, 22 Aug 2013 23:14:00 +0000</pubDate>
<guid>/post/2013-08-22-remove-git-files-with-globbing/</guid>
<description>A simple trick. If you want to remove all the &amp;lsquo;.swp&amp;rsquo; files from a git repository, just use:
1 git rm --cached &amp;#39;**.swp&amp;#39; </description>
</item>
<item>
<title>Creating my web</title>
<link>/post/2013-08-17-creating-my-web/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/post/2013-08-17-creating-my-web/</guid>
<description>I&amp;rsquo;ve finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/git/</title><link rel="canonical" href="/tags/git/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/git/" /></head></html>

@ -0,0 +1,259 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - github</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 >
<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">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>
Todays 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/09/27</span>
<h2><a href="../../post/2014-09-23-publishing-to-pypi/" class="title">Publishing on PyPi</a></h2>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/pypi'><span class="label">pypi</span></a>
</div>
Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.
<div><a href="../../post/2014-09-23-publishing-to-pypi/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2013/08/22</span>
<h2><a href="../../post/2013-08-17-creating-my-web/" class="title">Creating my web</a></h2>
<a class="tag" href='../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
Ive finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.
<div><a href="../../post/2013-08-17-creating-my-web/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>github on Balkian&#39;s site</title>
<link>/tags/github/</link>
<description>Recent content in github on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Fri, 10 Apr 2015 17:47:00 +0000</lastBuildDate>
<atom:link href="/tags/github/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Sharing dotfiles</title>
<link>/post/2015-04-10-github-dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/post/2015-04-10-github-dotfiles/</guid>
<description>Today&amp;rsquo;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 .</description>
</item>
<item>
<title>Publishing on PyPi</title>
<link>/post/2014-09-23-publishing-to-pypi/</link>
<pubDate>Sat, 27 Sep 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-09-23-publishing-to-pypi/</guid>
<description>Developing a python module and publishing it on Github is cool, but most of the times you want others to download and use it easily. That is the role of PyPi, the python package repository. In this post I show you how to publish your package in less than 10 minutes.</description>
</item>
<item>
<title>Creating my web</title>
<link>/post/2013-08-17-creating-my-web/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/post/2013-08-17-creating-my-web/</guid>
<description>I&amp;rsquo;ve finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/github/</title><link rel="canonical" href="/tags/github/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/github/" /></head></html>

@ -0,0 +1,238 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - gunicorn</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 >
<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">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>
<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><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4
</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<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">&lt;Location</span> <span style="color:#e6db74">/myapp/</span><span style="color:#f92672">&gt;</span>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME <span style="color:#e6db74">&#34;/myapp/&#34;</span>
<span style="color:#f92672">&lt;/Location&gt;</span>
</code></pre></td></tr></table>
</div>
</div>
<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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>gunicorn on Balkian&#39;s site</title>
<link>/tags/gunicorn/</link>
<description>Recent content in gunicorn on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Thu, 09 Oct 2014 10:00:00 +0000</lastBuildDate>
<atom:link href="/tags/gunicorn/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Proxies with Apache and python</title>
<link>/post/2014-10-09-proxies/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/post/2014-10-09-proxies/</guid>
<description>&lt;p&gt;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 &lt;em&gt;application&lt;/em&gt;. Hence, wsgi:application.&lt;/p&gt;
&lt;h2 id=&#34;gunicorn&#34;&gt;Gunicorn&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4
&lt;/span&gt;&lt;span style=&#34;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;/myapp/&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/myapp/&amp;#34;&lt;/span&gt;
&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/gunicorn/</title><link rel="canonical" href="/tags/gunicorn/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/gunicorn/" /></head></html>

@ -0,0 +1,214 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - heroku</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 >
<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">2014/03/27</span>
<h2><a href="../../post/2014-03-27-updating-eurolovemap/" class="title">Updating EuroLoveMap</a></h2>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/heroku'><span class="label">heroku</span></a>
</div>
As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the “overall feeling” of each country about each topic.
<div><a href="../../post/2014-03-27-updating-eurolovemap/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>heroku on Balkian&#39;s site</title>
<link>/tags/heroku/</link>
<description>Recent content in heroku on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Thu, 27 Mar 2014 14:00:00 +0000</lastBuildDate>
<atom:link href="/tags/heroku/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Updating EuroLoveMap</title>
<link>/post/2014-03-27-updating-eurolovemap/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/post/2014-03-27-updating-eurolovemap/</guid>
<description>As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the &amp;ldquo;overall feeling&amp;rdquo; of each country about each topic.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/heroku/</title><link rel="canonical" href="/tags/heroku/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/heroku/" /></head></html>

@ -0,0 +1,413 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - WELCOME</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 >
<i class="fa fa-home fa-large"></i>
</li></a>
<a href="../post/"><li class='' >Blog
</li></a>
<a href="../tags/"><li class=' active' >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>
<h2>Tags</h2>
<div>
<a class="tag" href="../tags/python"><span style="font-size: 200%;" class="label label-default">python (5)</span></a>
<a class="tag" href="../tags/linux"><span style="font-size: 160%;" class="label label-default">linux (4)</span></a>
<a class="tag" href="../tags/git"><span style="font-size: 120%;" class="label label-default">git (3)</span></a>
<a class="tag" href="../tags/github"><span style="font-size: 120%;" class="label label-default">github (3)</span></a>
<a class="tag" href="../tags/apache"><span style="font-size: 80%;" class="label label-default">apache (2)</span></a>
<a class="tag" href="../tags/javascript"><span style="font-size: 80%;" class="label label-default">javascript (2)</span></a>
<a class="tag" href="../tags/keyboard"><span style="font-size: 80%;" class="label label-default">keyboard (2)</span></a>
<a class="tag" href="../tags/logitech"><span style="font-size: 80%;" class="label label-default">logitech (2)</span></a>
<a class="tag" href="../tags/arch"><span style="font-size: 50%;" class="label label-default">arch (1)</span></a>
<a class="tag" href="../tags/config"><span style="font-size: 50%;" class="label label-default">config (1)</span></a>
<a class="tag" href="../tags/dotfiles"><span style="font-size: 50%;" class="label label-default">dotfiles (1)</span></a>
<a class="tag" href="../tags/emacs"><span style="font-size: 50%;" class="label label-default">emacs (1)</span></a>
<a class="tag" href="../tags/gunicorn"><span style="font-size: 50%;" class="label label-default">gunicorn (1)</span></a>
<a class="tag" href="../tags/heroku"><span style="font-size: 50%;" class="label label-default">heroku (1)</span></a>
<a class="tag" href="../tags/iot"><span style="font-size: 50%;" class="label label-default">iot (1)</span></a>
<a class="tag" href="../tags/lisp"><span style="font-size: 50%;" class="label label-default">lisp (1)</span></a>
<a class="tag" href="../tags/mouse"><span style="font-size: 50%;" class="label label-default">mouse (1)</span></a>
<a class="tag" href="../tags/mqtt"><span style="font-size: 50%;" class="label label-default">mqtt (1)</span></a>
<a class="tag" href="../tags/nginx"><span style="font-size: 50%;" class="label label-default">nginx (1)</span></a>
<a class="tag" href="../tags/org"><span style="font-size: 50%;" class="label label-default">org (1)</span></a>
<a class="tag" href="../tags/productivity"><span style="font-size: 50%;" class="label label-default">productivity (1)</span></a>
<a class="tag" href="../tags/programming"><span style="font-size: 50%;" class="label label-default">programming (1)</span></a>
<a class="tag" href="../tags/proxy"><span style="font-size: 50%;" class="label label-default">proxy (1)</span></a>
<a class="tag" href="../tags/pypi"><span style="font-size: 50%;" class="label label-default">pypi (1)</span></a>
<a class="tag" href="../tags/rpi"><span style="font-size: 50%;" class="label label-default">rpi (1)</span></a>
<a class="tag" href="../tags/ruby"><span style="font-size: 50%;" class="label label-default">ruby (1)</span></a>
<a class="tag" href="../tags/starters"><span style="font-size: 50%;" class="label label-default">starters (1)</span></a>
<a class="tag" href="../tags/surface-go"><span style="font-size: 50%;" class="label label-default">surface-go (1)</span></a>
<a class="tag" href="../tags/uwsgi"><span style="font-size: 50%;" class="label label-default">uwsgi (1)</span></a>
<a class="tag" href="../tags/webdav"><span style="font-size: 50%;" class="label label-default">webdav (1)</span></a>
<a class="tag" href="../tags/zigbee"><span style="font-size: 50%;" class="label label-default">zigbee (1)</span></a>
<a class="tag" href="../tags/zotero"><span style="font-size: 50%;" class="label label-default">zotero (1)</span></a>
</div>
</div>
<div id="sidebar" class="fixed">
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky expand">
<div class="front">
<img id="avatar" class="expandx" src="../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,304 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on Balkian&#39;s site</title>
<link>/tags/</link>
<description>Recent content in Tags on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>keyboard</title>
<link>/tags/keyboard/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/tags/keyboard/</guid>
<description></description>
</item>
<item>
<title>linux</title>
<link>/tags/linux/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/tags/linux/</guid>
<description></description>
</item>
<item>
<title>logitech</title>
<link>/tags/logitech/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/tags/logitech/</guid>
<description></description>
</item>
<item>
<title>mouse</title>
<link>/tags/mouse/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/tags/mouse/</guid>
<description></description>
</item>
<item>
<title>config</title>
<link>/tags/config/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/tags/config/</guid>
<description></description>
</item>
<item>
<title>surface go</title>
<link>/tags/surface-go/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/tags/surface-go/</guid>
<description></description>
</item>
<item>
<title>iot</title>
<link>/tags/iot/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/tags/iot/</guid>
<description></description>
</item>
<item>
<title>mqtt</title>
<link>/tags/mqtt/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/tags/mqtt/</guid>
<description></description>
</item>
<item>
<title>zigbee</title>
<link>/tags/zigbee/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/tags/zigbee/</guid>
<description></description>
</item>
<item>
<title>python</title>
<link>/tags/python/</link>
<pubDate>Wed, 28 Sep 2016 18:47:00 +0000</pubDate>
<guid>/tags/python/</guid>
<description></description>
</item>
<item>
<title>dotfiles</title>
<link>/tags/dotfiles/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/tags/dotfiles/</guid>
<description></description>
</item>
<item>
<title>git</title>
<link>/tags/git/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/tags/git/</guid>
<description></description>
</item>
<item>
<title>github</title>
<link>/tags/github/</link>
<pubDate>Fri, 10 Apr 2015 17:47:00 +0000</pubDate>
<guid>/tags/github/</guid>
<description></description>
</item>
<item>
<title>apache</title>
<link>/tags/apache/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/tags/apache/</guid>
<description></description>
</item>
<item>
<title>nginx</title>
<link>/tags/nginx/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/tags/nginx/</guid>
<description></description>
</item>
<item>
<title>webdav</title>
<link>/tags/webdav/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/tags/webdav/</guid>
<description></description>
</item>
<item>
<title>zotero</title>
<link>/tags/zotero/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/tags/zotero/</guid>
<description></description>
</item>
<item>
<title>gunicorn</title>
<link>/tags/gunicorn/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/tags/gunicorn/</guid>
<description></description>
</item>
<item>
<title>proxy</title>
<link>/tags/proxy/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/tags/proxy/</guid>
<description></description>
</item>
<item>
<title>uwsgi</title>
<link>/tags/uwsgi/</link>
<pubDate>Thu, 09 Oct 2014 10:00:00 +0000</pubDate>
<guid>/tags/uwsgi/</guid>
<description></description>
</item>
<item>
<title>pypi</title>
<link>/tags/pypi/</link>
<pubDate>Sat, 27 Sep 2014 10:00:00 +0000</pubDate>
<guid>/tags/pypi/</guid>
<description></description>
</item>
<item>
<title>heroku</title>
<link>/tags/heroku/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/tags/heroku/</guid>
<description></description>
</item>
<item>
<title>javascript</title>
<link>/tags/javascript/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/tags/javascript/</guid>
<description></description>
</item>
<item>
<title>ruby</title>
<link>/tags/ruby/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/tags/ruby/</guid>
<description></description>
</item>
<item>
<title>starters</title>
<link>/tags/starters/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/tags/starters/</guid>
<description></description>
</item>
<item>
<title>arch</title>
<link>/tags/arch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/arch/</guid>
<description></description>
</item>
<item>
<title>emacs</title>
<link>/tags/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/emacs/</guid>
<description></description>
</item>
<item>
<title>lisp</title>
<link>/tags/lisp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/lisp/</guid>
<description></description>
</item>
<item>
<title>org</title>
<link>/tags/org/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/org/</guid>
<description></description>
</item>
<item>
<title>productivity</title>
<link>/tags/productivity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/productivity/</guid>
<description></description>
</item>
<item>
<title>programming</title>
<link>/tags/programming/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/programming/</guid>
<description></description>
</item>
<item>
<title>rpi</title>
<link>/tags/rpi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/tags/rpi/</guid>
<description></description>
</item>
</channel>
</rss>

@ -0,0 +1,215 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - iot</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 >
<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 youre anything like me, youre probably a sucker for IoT devices. For a long time, Ive 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="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>iot on Balkian&#39;s site</title>
<link>/tags/iot/</link>
<description>Recent content in iot on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sun, 06 Jan 2019 10:00:00 +0000</lastBuildDate>
<atom:link href="/tags/iot/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Controlling Zigbee devices with MQTT</title>
<link>/post/2019-01-06-zigbee2mqtt/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/post/2019-01-06-zigbee2mqtt/</guid>
<description>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&amp;rsquo;re anything like me, you&amp;rsquo;re probably a sucker for IoT devices. For a long time, I&amp;rsquo;ve been using WiFi-enabled lights, and Amazon dash buttons to control them.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/iot/</title><link rel="canonical" href="/tags/iot/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/iot/" /></head></html>

@ -0,0 +1,238 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - javascript</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 >
<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">2014/03/27</span>
<h2><a href="../../post/2014-03-27-updating-eurolovemap/" class="title">Updating EuroLoveMap</a></h2>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/python'><span class="label">python</span></a>
<a class="tag" href='../../tags/heroku'><span class="label">heroku</span></a>
</div>
As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the “overall feeling” of each country about each topic.
<div><a href="../../post/2014-03-27-updating-eurolovemap/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2013/08/22</span>
<h2><a href="../../post/2013-08-17-creating-my-web/" class="title">Creating my web</a></h2>
<a class="tag" href='../../tags/starters'><span class="label">starters</span></a>
<a class="tag" href='../../tags/javascript'><span class="label">javascript</span></a>
<a class="tag" href='../../tags/ruby'><span class="label">ruby</span></a>
<a class="tag" href='../../tags/github'><span class="label">github</span></a>
<a class="tag" href='../../tags/git'><span class="label">git</span></a>
</div>
Ive finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.
<div><a href="../../post/2013-08-17-creating-my-web/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>javascript on Balkian&#39;s site</title>
<link>/tags/javascript/</link>
<description>Recent content in javascript on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Thu, 27 Mar 2014 14:00:00 +0000</lastBuildDate>
<atom:link href="/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Updating EuroLoveMap</title>
<link>/post/2014-03-27-updating-eurolovemap/</link>
<pubDate>Thu, 27 Mar 2014 14:00:00 +0000</pubDate>
<guid>/post/2014-03-27-updating-eurolovemap/</guid>
<description>As part of the OpeNER hackathon we decided to build a prototype that would allow us to compare how different countries feel about several topics. We used the OpeNER pipeline to get the sentiment from a set of newspaper articles we gathered from media in several languages. Then we aggregated those articles by category and country (using the source of the article or the language it was written in), obtaining the &amp;ldquo;overall feeling&amp;rdquo; of each country about each topic.</description>
</item>
<item>
<title>Creating my web</title>
<link>/post/2013-08-17-creating-my-web/</link>
<pubDate>Thu, 22 Aug 2013 14:14:22 +0000</pubDate>
<guid>/post/2013-08-17-creating-my-web/</guid>
<description>I&amp;rsquo;ve finally decided to set up a decent personal page. I have settled for github-pages because I like the idea of keeping my site in a repository and having someone else host and deploy it for me. The site will be really simple, mostly static files. Thanks to Github, Jekyll will automatically generate static pages for my posts every time I commit anything new to this repository.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/javascript/</title><link rel="canonical" href="/tags/javascript/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/javascript/" /></head></html>

@ -0,0 +1,239 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - keyboard</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 >
<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">2021/10/30</span>
<h2><a href="../../post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="../../post/2021-10-30-logitech-mk850/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2021/10/29</span>
<h2><a href="../../post/2021-10-29-logitech-mx-keys-mac/" class="title">Logitech MX Keys for Mac on Linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
</div>
I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
<div><a href="../../post/2021-10-29-logitech-mx-keys-mac/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>keyboard on Balkian&#39;s site</title>
<link>/tags/keyboard/</link>
<description>Recent content in keyboard on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/keyboard/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
<item>
<title>Logitech MX Keys for Mac on Linux</title>
<link>/post/2021-10-29-logitech-mx-keys-mac/</link>
<pubDate>Fri, 29 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-29-logitech-mx-keys-mac/</guid>
<description>I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/keyboard/</title><link rel="canonical" href="/tags/keyboard/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/keyboard/" /></head></html>

@ -0,0 +1,275 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - linux</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 >
<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">2021/10/30</span>
<h2><a href="../../post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="../../post/2021-10-30-logitech-mk850/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2021/10/29</span>
<h2><a href="../../post/2021-10-29-logitech-mx-keys-mac/" class="title">Logitech MX Keys for Mac on Linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
</div>
I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
<div><a href="../../post/2021-10-29-logitech-mx-keys-mac/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2019/06/01</span>
<h2><a href="../../post/2019-05-01-surface-go/" class="title">Linux on the Microsoft Surface Go</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
</div>
Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.
<div><a href="../../post/2019-05-01-surface-go/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry default-entry">
<div class="posthead">
<h2><a href="../../cheatsheet/linux/" class="title">Linux</a></h2>
<h3>Tips and tricks for GNU/Linux and Unix</h3>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/arch'><span class="label">arch</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>linux on Balkian&#39;s site</title>
<link>/tags/linux/</link>
<description>Recent content in linux on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/linux/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
<item>
<title>Logitech MX Keys for Mac on Linux</title>
<link>/post/2021-10-29-logitech-mx-keys-mac/</link>
<pubDate>Fri, 29 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-29-logitech-mx-keys-mac/</guid>
<description>I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.</description>
</item>
<item>
<title>Linux on the Microsoft Surface Go</title>
<link>/post/2019-05-01-surface-go/</link>
<pubDate>Sat, 01 Jun 2019 00:00:01 +0000</pubDate>
<guid>/post/2019-05-01-surface-go/</guid>
<description>&lt;p&gt;Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.&lt;/p&gt;</description>
</item>
<item>
<title>Linux</title>
<link>/cheatsheet/linux/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/linux/</guid>
<description>Black screen and LightDM doesn&amp;rsquo;t unlock Add this to your /etc/lightdm/lightdm.conf file:
1 2 [LightDM] logind-check-graphical=true Edit previous commands fc is a shell builtin to list and edit previous commands in an editor. In addition to editing a single line (which you can also do with C-x C-e), it also allows you to edit and run several lines at the same time.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/linux/</title><link rel="canonical" href="/tags/linux/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/linux/" /></head></html>

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - lisp</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 >
<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 default-entry">
<div class="posthead">
<h2><a href="../../cheatsheet/emacs/" class="title">Emacs</a></h2>
<h3>Configuration files and tricks for emacs</h3>
<a class="tag" href='../../tags/emacs'><span class="label">emacs</span></a>
<a class="tag" href='../../tags/org'><span class="label">org</span></a>
<a class="tag" href='../../tags/productivity'><span class="label">productivity</span></a>
<a class="tag" href='../../tags/lisp'><span class="label">lisp</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>lisp on Balkian&#39;s site</title>
<link>/tags/lisp/</link>
<description>Recent content in lisp on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/tags/lisp/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Emacs</title>
<link>/cheatsheet/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/emacs/</guid>
<description>&lt;h1 id=&#34;show-plain-text-version&#34;&gt;Show plain text version&lt;/h1&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/lisp/</title><link rel="canonical" href="/tags/lisp/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/lisp/" /></head></html>

@ -0,0 +1,239 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - logitech</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 >
<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">2021/10/30</span>
<h2><a href="../../post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="../../post/2021-10-30-logitech-mk850/"><div class="readmore"> Read more...</div></a></div>
</div>
<div class="entry">
<div class="posthead">
<span class="date">2021/10/29</span>
<h2><a href="../../post/2021-10-29-logitech-mx-keys-mac/" class="title">Logitech MX Keys for Mac on Linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
</div>
I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.
<div><a href="../../post/2021-10-29-logitech-mx-keys-mac/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>logitech on Balkian&#39;s site</title>
<link>/tags/logitech/</link>
<description>Recent content in logitech on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/logitech/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
<item>
<title>Logitech MX Keys for Mac on Linux</title>
<link>/post/2021-10-29-logitech-mx-keys-mac/</link>
<pubDate>Fri, 29 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-29-logitech-mx-keys-mac/</guid>
<description>I recently got Logitech MX Keys for Mac keyboard at work. The German version, to be more precise. This version was three times cheaper than the Windows equivalent with either US or ES layout. Since I touch type anyway, I thought it was a bargain.
As soon as I plugged it in, I realized there were some glaring issues with the keyboard.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/logitech/</title><link rel="canonical" href="/tags/logitech/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/logitech/" /></head></html>

@ -0,0 +1,218 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - mouse</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 >
<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">2021/10/30</span>
<h2><a href="../../post/2021-10-30-logitech-mk850/" class="title">Logitech MB850 combi in linux</a></h2>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
</div>
As a follow-up to my last post, Ive decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.
<div><a href="../../post/2021-10-30-logitech-mk850/"><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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>mouse on Balkian&#39;s site</title>
<link>/tags/mouse/</link>
<description>Recent content in mouse on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sat, 30 Oct 2021 00:00:01 +0000</lastBuildDate>
<atom:link href="/tags/mouse/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Logitech MB850 combi in linux</title>
<link>/post/2021-10-30-logitech-mk850/</link>
<pubDate>Sat, 30 Oct 2021 00:00:01 +0000</pubDate>
<guid>/post/2021-10-30-logitech-mk850/</guid>
<description>As a follow-up to my last post, I&amp;rsquo;ve decided to also configure my mk850 combo (k850 + m720 triathlon).
Some notes:
The keyboard is usually connected to this PC through bluetooth. Since this is a change I usually do in the system for every keyboard, I added a rule for any bus (usb, bluetooth, etc) The mouse has an additional button that registers as a keyboard.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/mouse/</title><link rel="canonical" href="/tags/mouse/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/mouse/" /></head></html>

@ -0,0 +1,215 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - mqtt</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 >
<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 youre anything like me, youre probably a sucker for IoT devices. For a long time, Ive 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="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>mqtt on Balkian&#39;s site</title>
<link>/tags/mqtt/</link>
<description>Recent content in mqtt on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Sun, 06 Jan 2019 10:00:00 +0000</lastBuildDate>
<atom:link href="/tags/mqtt/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Controlling Zigbee devices with MQTT</title>
<link>/post/2019-01-06-zigbee2mqtt/</link>
<pubDate>Sun, 06 Jan 2019 10:00:00 +0000</pubDate>
<guid>/post/2019-01-06-zigbee2mqtt/</guid>
<description>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&amp;rsquo;re anything like me, you&amp;rsquo;re probably a sucker for IoT devices. For a long time, I&amp;rsquo;ve been using WiFi-enabled lights, and Amazon dash buttons to control them.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/mqtt/</title><link rel="canonical" href="/tags/mqtt/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/mqtt/" /></head></html>

@ -0,0 +1,217 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - nginx</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 >
<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">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="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Previous Page</span>
<span class="nextpage" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>nginx on Balkian&#39;s site</title>
<link>/tags/nginx/</link>
<description>Recent content in nginx on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<lastBuildDate>Tue, 09 Dec 2014 12:12:12 +0000</lastBuildDate>
<atom:link href="/tags/nginx/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Zotero</title>
<link>/post/2014-12-09-zotero/</link>
<pubDate>Tue, 09 Dec 2014 12:12:12 +0000</pubDate>
<guid>/post/2014-12-09-zotero/</guid>
<description>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.</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/nginx/</title><link rel="canonical" href="/tags/nginx/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/nginx/" /></head></html>

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Balkian&#39;s site - org</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 >
<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 default-entry">
<div class="posthead">
<h2><a href="../../cheatsheet/emacs/" class="title">Emacs</a></h2>
<h3>Configuration files and tricks for emacs</h3>
<a class="tag" href='../../tags/emacs'><span class="label">emacs</span></a>
<a class="tag" href='../../tags/org'><span class="label">org</span></a>
<a class="tag" href='../../tags/productivity'><span class="label">productivity</span></a>
<a class="tag" href='../../tags/lisp'><span class="label">lisp</span></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" style="display:none;">Older Posts <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 expand">
<div class="front">
<img id="avatar" class="expandx" src="../../img/me.png">
</div>
<div class="back">
<div id="about">
<div class="icons vertical-center">
<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>
</div>
</div>
<div class="entries">
<h2 class="title">Latest entries</h2>
<dt><a href="../../post/2021-10-30-logitech-mk850/">Logitech MB850 combi in linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<a class="tag" href='../../tags/mouse'><span class="label">mouse</span></a>
<dt><a href="../../post/2021-10-29-logitech-mx-keys-mac/">Logitech MX Keys for Mac on Linux</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/logitech'><span class="label">logitech</span></a>
<a class="tag" href='../../tags/keyboard'><span class="label">keyboard</span></a>
<dt><a href="../../post/2019-05-01-surface-go/">Linux on the Microsoft Surface Go</a></dt>
<a class="tag" href='../../tags/linux'><span class="label">linux</span></a>
<a class="tag" href='../../tags/surface-go'><span class="label">surface go</span></a>
<a class="tag" href='../../tags/config'><span class="label">config</span></a>
<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>
</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>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>org on Balkian&#39;s site</title>
<link>/tags/org/</link>
<description>Recent content in org on Balkian&#39;s site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
<atom:link href="/tags/org/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Emacs</title>
<link>/cheatsheet/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/cheatsheet/emacs/</guid>
<description>&lt;h1 id=&#34;show-plain-text-version&#34;&gt;Show plain text version&lt;/h1&gt;</description>
</item>
</channel>
</rss>

@ -0,0 +1 @@
<!DOCTYPE html><html><head><title>/tags/org/</title><link rel="canonical" href="/tags/org/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=/tags/org/" /></head></html>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save