Generate Pelican site

master
J. Fernando Sánchez 9 years ago
parent 31c7e9ec9a
commit 1326534303

2
.gitignore vendored

@ -1,2 +0,0 @@
_site
*.swp

@ -1 +0,0 @@
balkian.com

@ -1,4 +0,0 @@
name: Balkian's Log
pygments: true
paginate: 5
markdown: kramdown

@ -1,18 +0,0 @@
---
layout: default
---
<div class="postnav">
<a href="{{ page.previous.url }}"><span class="previouspost"><i class="icon-chevron-sign-left"></i> {{ page.previous.title }}</a></span>
<span class='nextpost'><a href="{{ page.next.url }}">{{ page.next.title }} <i class="icon-chevron-sign-right"></i></span></a>
</div>
<div class="posthead">
<h2 class="title">{{ page.title }}</h2>
<span class="meta date">{{ page.date | date_to_string }}</span>
{% for c in page.tags %}
<span class="label label-success">{{ c }}</span>
{% endfor %}
</div>
<div class="post">
{{ content }}
</div>

@ -1,31 +0,0 @@
---
layout: post
title: "Creating my web"
date: 2013-08-22 14:14:22
tags: starters javascript ruby github git
---
Finally, I've 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](http://jekyllrb.com) will automatically generate static pages for my posts every time I commit anything new to this repository.
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.
I hadn'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't included any Javascript code in the page. Probably I will use some to add my [gists](http://gist.github.com/balkian) and [repositories](http://github.com/balkian), but we will see about that.
I think the code speaks for itself, so you can check out [my repository on Github](http://github.com/balkian/balkian.github.com). You can clone and deploy it easily like this:
{% highlight bash %}
git clone https://github.com/balkian/balkian.github.com
cd balkian.github.com
jekyll serve -w
{% endhighlight %}
I will keep updating this post with information about:
* Some Jekyll plugins that might be useful
* What CSS tricks I learnt
* The webfonts I used
* The badge on the left side of the page

@ -1,11 +0,0 @@
---
layout: post
title: "Remove git files with globbing"
date: 2013-08-22 23:14:00
tags: git
---
A simple trick. If you want to remove all the '.swp' files from a git repository, just use:
{% highlight bash %}
git rm --cached '\*\*.swp'
{% endhighlight %}

@ -1,94 +0,0 @@
---
layout: post
title: "Updating EuroLoveMap"
date: 2014-03-27 14:00:00
tags: javascript python heroku
---
As part of the [OpeNER hackathon](http://www.opener-project.org/2013/07/18/opener-hackathon-in-amsterdam/) 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.
Then, we used some fancy JavaScript to make sense out of the raw information.
It didn't go too bad, it turns out [we won](http://eurosentiment.eu/wp-content/uploads/2013/07/BOLv9qnCIAAJEek.jpg).
Now, it was time for a face-lift.
I used this opportunity to play with new technologies and improve it:
* Using Flask, this time using python 3.3 and Bootstrap 3.0
* Cool HTML5+JS cards (thanks to [pastetophone](http://pastetophone.com))
* Automatic generation of fake personal data to test the interface
* Obfuscation of personal emails
Publishing a Python 3 app on Heroku
-----------------------------------
[seen here](http://eurolovemap.herokuapp.com/)
{% highlight bash %}
mkvirtualenv -p /usr/bin/python3.3 eurolovemap
{% endhighlight %}
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't get python 3.4 working using the [deadsnakes](https://launchpad.net/~fkrull/+archive/deadsnakes) ppa, so I used python 3.3 instead, which works fine but is not officially supported.
Just create a file named *runtime.txt* in your project root, with the python version you want to use:
{% highlight bash %}
python-3.3.1
{% endhighlight %}
Don't forget to freeze your dependencies so Heroku can install them:
{% highlight bash %}
pip freze > requirements.txt
{% endhighlight %}
Publishing personal emails
--------------------------
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 [Caesar cipher](http://en.wikipedia.org/wiki/Caesar_cipher).
Please, don't use it for any serious application if you are concerned about being spammed.
{% highlight python %}
def blur_email(email):
return "".join([chr(ord(i)+5) for i in email])
{% endhighlight %}
And this is the client side:
{% highlight javascript %}
window.onload = function(){
elems = document.getElementsByClassName('profile-email');
for(var e in elems){
var blur = elems[e].innerHTML;
var email = "";
for(var s in blur){
var a = blur.charCodeAt(s)
email = email+String.fromCharCode(a-5);
}
elems[e].innerHTML = email;
}
}
{% endhighlight %}
Unfortunately, this approach does not hide your email from anyone using [PhantomJS](http://phantomjs.org/), [ZombieJS](http://zombie.labnotes.org/) 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.
Generation of fake data
-----------------------
To test the contact section of the site, I wanted to populate it with fake data.
[Fake-Factory](https://github.com/joke2k/faker) is an amazing library that can generate fake data of almost any kind: emails, association names, acronyms...
It even lets you localise the results (get Spanish names, for instance) and generate factories for certain classes (à la Django).
But I also wanted pictures, enter [Lorem Pixel](http://lorempixel.com/).
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.
For instance, the picture below is served through Lorem Pixel.
![This picture is generated with LoremIpsum](http://lorempixel.com/400/200/nightlife/)
By the way, if you only want cat pictures, take a look at [Placekitten](http://placekitten.com/).
And for NSFW text, there's the [Samuel L. Jackson Ipsum](http://slipsum.com/)

@ -1,106 +0,0 @@
---
layout: post
title: "Publishing in PyPi"
date: 2014-09-27 10:00:00
tags: github python pypi
---
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.
## Choose a fancy name
If you haven'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't taken.
What's more, a catchy and unique name will help people remember your module and feel more inclined to at least try it.
The package name should hint what your module does, but that's not always the case.
That's your call.
I personally put uniqueness and memorability over describing the functionality.
## Create a .pypirc configuration file
{% highlight cfg %}
[distutils] # this tells distutils what package indexes you can push to
index-servers =
pypi # the live PyPI
pypitest # test PyPI
[pypi] # authentication details for live PyPI
repository = https://pypi.python.org/pypi
username = { your_username }
password = { your_password } # not necessary
[pypitest] # authentication details for test PyPI
repository = https://testpypi.python.org/pypi
username = { your_username }
{% endhighlight %}
As you can see, you need to register both in the [main pypi repository](https://pypi.python.org/pypi?%3Aaction=register_form) and the [testing server](https://testpypi.python.org/pypi?%3Aaction=register_form).
The usernames and passwords might be different, that is up to you!
## Prepare your package
{% highlight raw %}
root-dir/ # Any name you want
setup.py
setup.cfg
LICENSE.txt
README.md
mypackage/
__init__.py
foo.py
bar.py
baz.py
{% endhighlight %}
### setup.cfg
{% highlight cfg %}
[metadata]
description-file = README.md
{% endhighlight %}
The markdown README is the _de facto_ standard in Github, but you can also use rST (reStructuredText), the standard in the python community.
### setup.py
{% highlight python %}
from distutils.core import setup
setup(
name = 'mypackage',
packages = ['mypackage'], # this must be the same as the name above
version = '{ version }',
description = '{ description }',
author = '{ name }',
author_email = '{ email }',
url = 'https://github.com/{user}/{package}', # URL to the github repo
download_url = 'https://github.com/{user}/{repo}/tarball/{version}',
keywords = ['websockets', 'display', 'd3'], # list of keywords that represent your package
classifiers = [],
)
{% endhighlight %}
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:
```
git tag {version} -m "{ Description of this tag/version}"
git push --tags origin master
```
## Push to the testing/main pypi server
It is advisable that you try your package on the test repository and fix any problems first.
The process is simple:
```
python setup.py register -r {pypitest/pypi}
python setup.py sdist upload -r {pypitest/pypi}
```
If everything went as expected, you can now install your package through pip and browse your package's page.
For instance, check my senpy package: [https://pypi.python.org/pypi/senpy](https://pypi.python.org/pypi/senpy)
```
pip install senpy
```

@ -1,67 +0,0 @@
---
layout: post
title: "Proxies with Apache and python"
date: 2014-10-09 10:00:00
tags: python apache proxy gunicorn uwsgi
---
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 *application*. Hence, wsgi:application.
## Gunicorn
{% highlight apache %}
<Location /myapp/>
ProxyPass http://127.0.0.1:8888/myapp/
ProxyPassReverse http://127.0.0.1:8888/myapp/
RequestHeader set SCRIPT_NAME "/myapp/"
</Location>
{% endhighlight %}
**Important**: *SCRIPT_NAME* and the end of *ProxyPass* URL **MUST BE THE SAME**. Otherwise, Gunicorn will fail miserably.
Try it with:
{% highlight bash %}
venv/bin/gunicorn -w 4 -b 127.0.0.1:8888 --log-file - --access-logfile - wsgi:application
{% endhighlight %}
## UWSGI
This is a very simple configuration. I will try to upload one with more options for uwsgi (in a .ini file).
{% highlight apache %}
<Location /myapp/>
SetHandler uwsgi_handler
uWSGISocker 127.0.0.1:8888
</Location>
{% endhighlight %}
Try it with:
{% highlight bash %}
uwsgi --socket 127.0.0.1:8888 -w wsgi:application
{% endhighlight %}
### Extra: Supervisor
If everything went as expected, you can wrap your command in a supervisor config file and let it handle the server for you.
{% highlight ini %}
[unix_http_server]
file=/tmp/myapp.sock ; path to your socket file
[supervisord]
logfile = %(here)s/logs/supervisor.log
childlogdir = %(here)s/logs/
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
logfile = %(here)s/logs/supervisorctl.log
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
[program:myapp]
command = venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 --log-file %(here)s/logs/gunicorn.log --access-logfile - wsgi:application
directory = %(here)s
environment = PATH=%(here)s/venv/bin/
logfile = %(here)s/logs/myapp.log
{% endhighlight %}

@ -1,78 +0,0 @@
---
layout: post
title: "Zotero"
date: 2014-12-09 12:12:12
tags: zotero webdav nginx apache
---
[Zotero](https://www.zotero.org/) is an Open Source tool that lets you organise your bibliography, syncing it with the cloud.
Unlike other alternatives such as [Mendeley](http://www.mendeley.com), 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.
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.
## Setting up Apache
First we need to install Apache:
sudo apt-get install apache2
Change the head of "/etc/apache2/sites-enabled/000-default" to:
<VirtualHost *:880>
Then, create a file /etc/apache2/sites-available/webdav:
Alias /dav /home/webdav/dav
<Location /dav>
Dav on
Order Allow,Deny
Allow from all
Dav On
Options +Indexes
AuthType Basic
AuthName DAV
AuthBasicProvider file
AuthUserFile /home/webdav/.htpasswd
Require valid-user
</Location>
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.
sudo adduser webdav
sudo htpasswd -c /home/webdav/.htpasswd webdav
sudo htpasswd /home/webdav/.htpasswd zotero
sudo mkdir -p /home/webdav/dav/zotero
Enable the site and restart apache:
sudo a2enmod webdav
sudo a2enmod dav_fs
sudo a2ensite webdav
sudo service apache2 restart
At this point everything should be working at http://\<your_host\>:880/dav/zotero
## Setting up NGINX
After the Apache side is working, we can use nginx as a proxy to get cleaner URIs.
In your desired site/location, add this:
location /dav {
client_max_body_size 20M;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:880;
}
Now just reload nginx:
sudo service nginx force-reload
## Extras
* [Zotero Reader](http://zoteroreader.com/) - HTML5 client
* [Zandy](https://github.com/ajlyon/zandy) - Android Open Source client

@ -1,27 +0,0 @@
---
layout: default
title: About
---
<h2>This is me<span class="disappear">...</span></h2>
<h3 id="subheadline">... I mean, my website</h3>
<div id="about">
<ul>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-linux"></i> </span> GNU/Linux Fanboy</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-android"></i> </span> Android User</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-github"></i> </span> Github Fan</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-stackexchange"></i> </span> StackOverflow Dependent</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-music"></i> </span> Music Lover</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-film"></i> </span> Films Lover</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-comments"></i> </span> Usual Chatter</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-laptop"></i> </span> IT Person</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-gamepad"></i> </span> Casual Gamer</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-pencil"></i> </span> Amateur Writer</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-moon"></i> </span> Night Owl</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-terminal"></i> </span> Terminal User</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-flag"></i> </span> Hobbyist Linguist</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-code"></i> </span> Amateur Coder</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-book"></i> </span> On-and-off Reader</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-quote-right"></i> </span> Quote lover</li>
</ul>
</div>

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h1>Archives for balkian.com</h1>
<dl>
<dt>Tue 09 December 2014</dt>
<dd><a href="http://balkian.com/zotero.html">Zotero</a></dd>
<dt>Thu 09 October 2014</dt>
<dd><a href="http://balkian.com/proxies-with-apache-and-python.html">Proxies with Apache and python</a></dd>
<dt>Sat 27 September 2014</dt>
<dd><a href="http://balkian.com/publishing-in-pypi.html">Publishing in PyPi</a></dd>
<dt>Thu 27 March 2014</dt>
<dd><a href="http://balkian.com/updating-eurolovemap.html">Updating EuroLoveMap</a></dd>
<dt>Thu 22 August 2013</dt>
<dd><a href="http://balkian.com/remove-git-files-with-globbing.html">Remove git files with globbing</a></dd>
<dt>Thu 22 August 2013</dt>
<dd><a href="http://balkian.com/creating-my-web.html">Creating my web</a></dd>
</dl>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,250 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><h2>Articles by J. Fernando Sánchez</h2>
</title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/remove-git-files-with-globbing.html" class="title">Remove git files with globbing</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>git rm --cached <span class="s1">&#39;\*\*.swp&#39;</span>
</pre></div>
</td></tr></table>
</div>
<span><a href="/remove-git-files-with-globbing.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,142 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h1>Authors on balkian.com</h1>
<ul> <li><a href="http://balkian.com/author/j-fernando-sanchez.html">J. Fernando Sánchez</a> (6)</li>
</ul>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,141 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<ul>
<li><a href="http://balkian.com/category/misc.html">misc</a></li>
</ul>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,250 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><h2>Articles in the misc category</h2>
</title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/remove-git-files-with-globbing.html" class="title">Remove git files with globbing</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>git rm --cached <span class="s1">&#39;\*\*.swp&#39;</span>
</pre></div>
</td></tr></table>
</div>
<span><a href="/remove-git-files-with-globbing.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.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></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="postnav">
<span class='nextpost'><a href="/remove-git-files-with-globbing.html">Remove git files with globbing <i class="icon-chevron-sign-right"></i></span></a>
</div>
<div class="posthead">
<h2 class="title">Creating my web</h2>
<span class="meta date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-default">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-default">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-default">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-default">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-default">git</span></a>
</div>
<div class="post">
<p>Finally, I've 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 class="reference external" 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'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't included any
Javascript code in the page. Probably I will use some to add my
<a class="reference external" href="http://gist.github.com/balkian">gists</a> and
<a class="reference external" 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 class="reference external" href="http://github.com/balkian/balkian.github.com">my repository
on Github</a>. You can
clone and deploy it easily like this:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="highlight"><pre>git clone
https://github.com/balkian/balkian.github.com <span class="nb">cd </span>balkian.github.com
jekyll serve -w
</pre></div>
</td></tr></table><p>I will keep updating this post with information about: * Some Jekyll
plugins that might be useful * What CSS tricks I learnt * The webfonts
I used * The badge on the left side of the page</p>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -1,109 +0,0 @@
---
layout: default
title: "CV"
date: 2013-07-03 14:14:22
categories: cv resume
---
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599)" href="/css/cv-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1200px)" href="/css/cv-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/css/cv-desktop.css">
<div id="post">
<!--<img src="images/cthulu.png" alt="Photo of Cthulu" id="pic" />-->
<div id="contact-info" class="vcard">
<!-- Microformats! -->
<h1 class="fn">J. Fernando Sánchez</h1>
<p>
Email: <a class="email" href="mailto:admin@balkian.com">admin@balkian.com</a>
</p>
</div>
<div id="objective">
<p>
I am a curious young engineer who happens to enjoy IT both as a career and as a hobby.
</p>
</div>
<div class="clear"></div>
<dl>
<dd class="clear"></dd>
<dt>Education</dt>
<!--<dd>-->
<!--<h2>Postgraduate Researcher (PhD) - Technical University of Madrid (UPM) <span>2012-Present</span></h2>-->
<!--</dd>-->
<dd>
<h2>Telecommunications Engineering <span> <a href="http://www.etsit.upm.es">Technical University of Madrid (UPM)</a> - 2007-2012</span></h2>
</dd>
<dd class="clear"></dd>
<dt>Skills</dt>
<dd>
<h2>Programming Languages</h2>
<p>Used frequently: Python, Javascript/CoffeeScript, Bash/Shell, Java and Ruby</p>
<p>Also programmed in: PHP, C, C++, Objective C and Haskell</p>
<h2>Frameworks and libraries</h2>
<p>Node.js, Django, Ruby on Rails, QT, GTK2, JASON, RDFLib, Weka</p>
<h2>Development tools</h2>
<p>Git, Eclipse, Netbeans, Android SDK</p>
<h2>Others</h2>
<p>Latex, XMPP, GIMP, Inkscape</p>
<h2>Social Skills</h2>
<p>Working with and leading international teams. Presentation and communication skills: I conducted several presentations to audiences of ~100 people.</p>
</dd>
<dd class="clear"></dd>
<dt>Experience</dt>
<dd>
<h2>Graduate Research Fellow<span><a href="http://gsi.dit.upm.es">Intelligent Systems Group (GSI)</a> (GSI) - 2008-2012</span></h2>
<ul>
<li>Worked with Agent and Semantic technologies</li>
<li>Conducted my master thesis: Design and Implementation of an Agent Architecture Based on Web Hooks</li>
</ul>
<h2>IT Coordinator<span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Coordinated the work of a small international IT Team</li>
<li>In charge of the administration of the IT infrastructure of EESTEC: Plone portal, Mailman mailing lists, etc.</li>
</ul>
<h2>Oversight Committee Member<span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Supervised the work of the International Board</li>
</ul>
<h2>Vice Chairman for External Affairs <span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Established connections with other Student Associations</li>
<li>Helped found new Observers (Local Groups)</li>
<li>Carried out International Board duties</li>
</ul>
</dd>
<dd class="clear"></dd>
<!--<dt>Hobbies</dt>-->
<!--<dd>Music, Sports and Cinema</dd>-->
<!--<dd class="clear"></dd>-->
<dt>References</dt>
<dd>Available on request</dd>
<dd class="clear"></dd>
</dl>
<div class="clear"></div>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

@ -0,0 +1,418 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>balkian.com</title><link href="http://balkian.com/" rel="alternate"></link><link href="http://balkian.com/feeds/all.atom.xml" rel="self"></link><id>http://balkian.com/</id><updated>2014-12-09T12:12:12+01:00</updated><entry><title>Zotero</title><link href="http://balkian.com/zotero.html" rel="alternate"></link><updated>2014-12-09T12:12:12+01:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-12-09:zotero.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="https://www.zotero.org/"&gt;Zotero&lt;/a&gt; is an Open Source tool that lets
you organise your bibliography, syncing it with the cloud. Unlike other
alternatives such as &lt;a class="reference external" href="http://www.mendeley.com"&gt;Mendeley&lt;/a&gt;, Zotero can
upload the attachments and data to a private cloud via WebDav.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="setting-up-apache"&gt;
&lt;h2&gt;Setting up Apache&lt;/h2&gt;
&lt;p&gt;First we need to install Apache:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo apt-get install apache2
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Change the head of &amp;quot;/etc/apache2/sites-enabled/000-default&amp;quot; to:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt; &lt;span class="s"&gt;*:880&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Then, create a file /etc/apache2/sites-available/webdav:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12
13&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;Alias&lt;/span&gt; &lt;span class="sx"&gt;/dav&lt;/span&gt; &lt;span class="sx"&gt;/home/webdav/dav&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/dav&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;Dav&lt;/span&gt; &lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="nb"&gt;Order&lt;/span&gt; Allow,Deny
&lt;span class="nb"&gt;Allow&lt;/span&gt; from &lt;span class="k"&gt;all&lt;/span&gt;
&lt;span class="nb"&gt;Dav&lt;/span&gt; &lt;span class="k"&gt;On&lt;/span&gt;
&lt;span class="nb"&gt;Options&lt;/span&gt; +Indexes
&lt;span class="nb"&gt;AuthType&lt;/span&gt; Basic
&lt;span class="nb"&gt;AuthName&lt;/span&gt; DAV
&lt;span class="nb"&gt;AuthBasicProvider&lt;/span&gt; file
&lt;span class="nb"&gt;AuthUserFile&lt;/span&gt; &lt;span class="sx"&gt;/home/webdav/.htpasswd&lt;/span&gt;
&lt;span class="nb"&gt;Require&lt;/span&gt; valid-user
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo adduser webdav
sudo htpasswd -c /home/webdav/.htpasswd webdav
sudo htpasswd /home/webdav/.htpasswd zotero
sudo mkdir -p /home/webdav/dav/zotero
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Enable the site and restart apache:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo a2enmod webdav
sudo a2enmod dav_fs
sudo a2ensite webdav
sudo service apache2 restart
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;At this point everything should be working at
&lt;a class="reference external" href="http:/"&gt;http:/&lt;/a&gt;/&amp;lt;your_host&amp;gt;:880/dav/zotero&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="setting-up-nginx"&gt;
&lt;h2&gt;Setting up NGINX&lt;/h2&gt;
&lt;p&gt;After the Apache side is working, we can use nginx as a proxy to get
cleaner URIs. In your desired site/location, add this:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4
5
6
7&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;location&lt;/span&gt; &lt;span class="s"&gt;/dav&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;20M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Real-IP&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Forwarded-For&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;Host&lt;/span&gt; &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://127.0.0.1:880&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Now just reload nginx:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo service nginx force-reload
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div class="section" id="extras"&gt;
&lt;h2&gt;Extras&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://zoteroreader.com/"&gt;Zotero Reader&lt;/a&gt; - HTML5 client&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://github.com/ajlyon/zandy"&gt;Zandy&lt;/a&gt; - Android Open Source
client&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</summary><category term="zotero"></category><category term="webdav"></category><category term="nginx"></category><category term="apache"></category></entry><entry><title>Proxies with Apache and python</title><link href="http://balkian.com/proxies-with-apache-and-python.html" rel="alternate"></link><updated>2014-10-09T10:00:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-10-09:proxies-with-apache-and-python.html</id><summary type="html">&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;div class="section" id="gunicorn"&gt;
&lt;h2&gt;Gunicorn&lt;/h2&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/myapp/&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;ProxyPass&lt;/span&gt; http://127.0.0.1:8888/myapp/
&lt;span class="nb"&gt;ProxyPassReverse&lt;/span&gt; http://127.0.0.1:8888/myapp/
&lt;span class="nb"&gt;RequestHeader&lt;/span&gt; set SCRIPT_NAME &lt;span class="s2"&gt;&amp;quot;/myapp/&amp;quot;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: &lt;em&gt;SCRIPT_NAME&lt;/em&gt; and the end of &lt;em&gt;ProxyPass&lt;/em&gt; URL &lt;strong&gt;MUST BE
THE SAME&lt;/strong&gt;. Otherwise, Gunicorn will fail miserably.&lt;/p&gt;
&lt;p&gt;Try it with:
&lt;tt class="docutils literal"&gt;bash venv/bin/gunicorn &lt;span class="pre"&gt;-w&lt;/span&gt; 4 &lt;span class="pre"&gt;-b&lt;/span&gt; 127.0.0.1:8888 &lt;span class="pre"&gt;--log-file&lt;/span&gt; - &lt;span class="pre"&gt;--access-logfile&lt;/span&gt; - wsgi:application&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="uwsgi"&gt;
&lt;h2&gt;UWSGI&lt;/h2&gt;
&lt;p&gt;This is a very simple configuration. I will try to upload one with more
options for uwsgi (in a .ini file).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/myapp/&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;SetHandler&lt;/span&gt; uwsgi_handler
&lt;span class="nb"&gt;uWSGISocker&lt;/span&gt; &lt;span class="m"&gt;127.0.0.1&lt;/span&gt;:8888
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Try it with:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;uwsgi --socket 127.0.0.1:8888 -w wsgi:application
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="section" id="extra-supervisor"&gt;
&lt;h3&gt;Extra: Supervisor&lt;/h3&gt;
&lt;p&gt;If everything went as expected, you can wrap your command in a
supervisor config file and let it handle the server for you.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;[unix_http_server]&lt;/span&gt;
&lt;span class="na"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/tmp/myapp.sock ; path to your socket file&lt;/span&gt;
&lt;span class="k"&gt;[supervisord]&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/supervisor.log&lt;/span&gt;
&lt;span class="na"&gt;childlogdir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/&lt;/span&gt;
&lt;span class="k"&gt;[rpcinterface:supervisor]&lt;/span&gt;
&lt;span class="na"&gt;supervisor.rpcinterface_factory&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;supervisor.rpcinterface:make_main_rpcinterface&lt;/span&gt;
&lt;span class="k"&gt;[supervisorctl]&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/supervisorctl.log&lt;/span&gt;
&lt;span class="na"&gt;serverurl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket&lt;/span&gt;
&lt;span class="k"&gt;[program:myapp]&lt;/span&gt;
&lt;span class="na"&gt;command&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 --log-file %(here)s/logs/gunicorn.log --access-logfile - wsgi:application&lt;/span&gt;
&lt;span class="na"&gt;directory&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s&lt;/span&gt;
&lt;span class="na"&gt;environment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;PATH=%(here)s/venv/bin/&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/myapp.log&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
</summary><category term="python"></category><category term="apache"></category><category term="proxy"></category><category term="gunicorn"></category><category term="uwsgi"></category></entry><entry><title>Publishing in PyPi</title><link href="http://balkian.com/publishing-in-pypi.html" rel="alternate"></link><updated>2014-09-27T10:00:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-09-27:publishing-in-pypi.html</id><summary type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="choose-a-fancy-name"&gt;
&lt;h2&gt;Choose a fancy name&lt;/h2&gt;
&lt;p&gt;If you haven'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't taken.
What's more, a catchy and unique name will help people remember your
module and feel more inclined to at least try it.&lt;/p&gt;
&lt;p&gt;The package name should hint what your module does, but that's not
always the case. That's your call. I personally put uniqueness and
memorability over describing the functionality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="create-a-pypirc-configuration-file"&gt;
&lt;h2&gt;Create a .pypirc configuration file&lt;/h2&gt;
&lt;pre class="code cfg literal-block"&gt;
&lt;span class="err"&gt;[distutils]&lt;/span&gt; &lt;span class="c1"&gt;# this tells distutils what package indexes you can push to&lt;/span&gt;
&lt;span class="na"&gt;index-servers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;
pypi # the live PyPI
pypitest # test PyPI&lt;/span&gt;
&lt;span class="err"&gt;[pypi]&lt;/span&gt; &lt;span class="c1"&gt;# authentication details for live PyPI&lt;/span&gt;
&lt;span class="na"&gt;repository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;https://pypi.python.org/pypi&lt;/span&gt;
&lt;span class="na"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_username }&lt;/span&gt;
&lt;span class="na"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_password } # not necessary&lt;/span&gt;
&lt;span class="err"&gt;[pypitest]&lt;/span&gt; &lt;span class="c1"&gt;# authentication details for test PyPI&lt;/span&gt;
&lt;span class="na"&gt;repository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;https://testpypi.python.org/pypi&lt;/span&gt;
&lt;span class="na"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_username }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;As you can see, you need to register both in the &lt;a class="reference external" href="https://pypi.python.org/pypi?%3Aaction=register_form"&gt;main pypi
repository&lt;/a&gt; and
the &lt;a class="reference external" href="https://testpypi.python.org/pypi?%3Aaction=register_form"&gt;testing
server&lt;/a&gt;.
The usernames and passwords might be different, that is up to you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="prepare-your-package"&gt;
&lt;h2&gt;Prepare your package&lt;/h2&gt;
&lt;pre class="literal-block"&gt;
root-dir/ # Any name you want
setup.py
setup.cfg
LICENSE.txt
README.md
mypackage/
__init__.py
foo.py
bar.py
baz.py
&lt;/pre&gt;
&lt;div class="section" id="setup-cfg"&gt;
&lt;h3&gt;setup.cfg&lt;/h3&gt;
&lt;pre class="code cfg literal-block"&gt;
&lt;span class="k"&gt;[metadata]&lt;/span&gt;
&lt;span class="na"&gt;description-file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;README.md&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;The markdown README is the &lt;em&gt;de facto&lt;/em&gt; standard in Github, but you can
also use rST (reStructuredText), the standard in the python community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="setup-py"&gt;
&lt;h3&gt;setup.py&lt;/h3&gt;
&lt;p&gt;{% highlight python %} from distutils.core import setup setup( name =
'mypackage', packages = ['mypackage'], # this must be the same as the
name above version = '{ version }', description = '{ description }',
author = '{ name }', author_email = '{ email }', url =
'&lt;a class="reference external" href="https://github.com"&gt;https://github.com&lt;/a&gt;/{user}/{package}', # URL to the github repo
download_url = '&lt;a class="reference external" href="https://github.com"&gt;https://github.com&lt;/a&gt;/{user}/{repo}/tarball/{version}',
keywords = ['websockets', 'display', 'd3'], # list of keywords that
represent your package classifiers = [], ) {% endhighlight %}&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
git tag {version} -m &amp;quot;{ Description of this tag/version}&amp;quot;
git push --tags origin master
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="push-to-the-testing-main-pypi-server"&gt;
&lt;h2&gt;Push to the testing/main pypi server&lt;/h2&gt;
&lt;p&gt;It is advisable that you try your package on the test repository and fix
any problems first. The process is simple:
&lt;tt class="docutils literal"&gt;python setup.py register &lt;span class="pre"&gt;-r&lt;/span&gt; {pypitest/pypi} python setup.py sdist upload &lt;span class="pre"&gt;-r&lt;/span&gt; {pypitest/pypi}&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;If everything went as expected, you can now install your package through
pip and browse your package's page. For instance, check my senpy
package: &lt;a class="reference external" href="https://pypi.python.org/pypi/senpy"&gt;https://pypi.python.org/pypi/senpy&lt;/a&gt; &lt;tt class="docutils literal"&gt;pip install senpy&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="github"></category><category term="python"></category><category term="pypi"></category></entry><entry><title>Updating EuroLoveMap</title><link href="http://balkian.com/updating-eurolovemap.html" rel="alternate"></link><updated>2014-03-27T14:00:00+01:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-03-27:updating-eurolovemap.html</id><summary type="html">&lt;p&gt;As part of the &lt;a class="reference external" href="http://www.opener-project.org/2013/07/18/opener-hackathon-in-amsterdam/"&gt;OpeNER
hackathon&lt;/a&gt;
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;quot;overall feeling&amp;quot; of each
country about each topic. Then, we used some fancy JavaScript to make
sense out of the raw information.&lt;/p&gt;
&lt;p&gt;It didn't go too bad, it turns out &lt;a class="reference external" href="http://eurosentiment.eu/wp-content/uploads/2013/07/BOLv9qnCIAAJEek.jpg"&gt;we
won&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, it was time for a face-lift. I used this opportunity to play with
new technologies and improve it:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Using Flask, this time using python 3.3 and Bootstrap 3.0&lt;/li&gt;
&lt;li&gt;Cool HTML5+JS cards (thanks to
&lt;a class="reference external" href="http://pastetophone.com"&gt;pastetophone&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Automatic generation of fake personal data to test the interface&lt;/li&gt;
&lt;li&gt;Obfuscation of personal emails&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="publishing-a-python-3-app-on-heroku"&gt;
&lt;h2&gt;Publishing a Python 3 app on Heroku&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="http://eurolovemap.herokuapp.com/"&gt;seen here&lt;/a&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;mkvirtualenv -p /usr/bin/python3.3 eurolovemap
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;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't get
python 3.4 working using the
&lt;a class="reference external" href="https://launchpad.net/~fkrull/+archive/deadsnakes"&gt;deadsnakes&lt;/a&gt; ppa,
so I used python 3.3 instead, which works fine but is not officially
supported. Just create a file named &lt;em&gt;runtime.txt&lt;/em&gt; in your project root,
with the python version you want to use:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;python-3.3.1
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Don't forget to freeze your dependencies so Heroku can install them:
&lt;tt class="docutils literal"&gt;bash pip freze &amp;gt; requirements.txt&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="publishing-personal-emails"&gt;
&lt;h2&gt;Publishing personal emails&lt;/h2&gt;
&lt;p&gt;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 &lt;a class="reference external" href="http://en.wikipedia.org/wiki/Caesar_cipher"&gt;Caesar
cipher&lt;/a&gt;. Please, don't
use it for any serious application if you are concerned about being
spammed.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;blur_email&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nb"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;And this is the client side:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="nx"&gt;elems&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementsByClassName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;profile-email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;charCodeAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fromCharCode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Unfortunately, this approach does not hide your email from anyone using
&lt;a class="reference external" href="http://phantomjs.org/"&gt;PhantomJS&lt;/a&gt;,
&lt;a class="reference external" href="http://zombie.labnotes.org/"&gt;ZombieJS&lt;/a&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="generation-of-fake-data"&gt;
&lt;h2&gt;Generation of fake data&lt;/h2&gt;
&lt;p&gt;To test the contact section of the site, I wanted to populate it with
fake data. &lt;a class="reference external" href="https://github.com/joke2k/faker"&gt;Fake-Factory&lt;/a&gt; is an
amazing library that can generate fake data of almost any kind: emails,
association names, acronyms... It even lets you localise the results
(get Spanish names, for instance) and generate factories for certain
classes (à la Django).&lt;/p&gt;
&lt;p&gt;But I also wanted pictures, enter &lt;a class="reference external" href="http://lorempixel.com/"&gt;Lorem
Pixel&lt;/a&gt;. 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.&lt;/p&gt;
&lt;p&gt;For instance, the picture below is served through Lorem Pixel.&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="This picture is generated with LoremIpsum" src="http://lorempixel.com/400/200/nightlife/" /&gt;
&lt;p class="caption"&gt;This picture is generated with LoremIpsum&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;By the way, if you only want cat pictures, take a look at
&lt;a class="reference external" href="http://placekitten.com/"&gt;Placekitten&lt;/a&gt;. And for NSFW text, there's
the &lt;a class="reference external" href="http://slipsum.com/"&gt;Samuel L. Jackson Ipsum&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="javascript"></category><category term="python"></category><category term="heroku"></category></entry><entry><title>Remove git files with globbing</title><link href="http://balkian.com/remove-git-files-with-globbing.html" rel="alternate"></link><updated>2013-08-22T23:14:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2013-08-22:remove-git-files-with-globbing.html</id><summary type="html">&lt;p&gt;A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;git rm --cached &lt;span class="s1"&gt;&amp;#39;\*\*.swp&amp;#39;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary><category term="git"></category></entry><entry><title>Creating my web</title><link href="http://balkian.com/creating-my-web.html" rel="alternate"></link><updated>2013-08-22T14:14:22+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2013-08-22:creating-my-web.html</id><summary type="html">&lt;p&gt;Finally, I've 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,
&lt;a class="reference external" href="http://jekyllrb.com"&gt;Jekyll&lt;/a&gt; will automatically generate static
pages for my posts every time I commit anything new to this repository.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I hadn'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't included any
Javascript code in the page. Probably I will use some to add my
&lt;a class="reference external" href="http://gist.github.com/balkian"&gt;gists&lt;/a&gt; and
&lt;a class="reference external" href="http://github.com/balkian"&gt;repositories&lt;/a&gt;, but we will see about
that.&lt;/p&gt;
&lt;p&gt;I think the code speaks for itself, so you can check out &lt;a class="reference external" href="http://github.com/balkian/balkian.github.com"&gt;my repository
on Github&lt;/a&gt;. You can
clone and deploy it easily like this:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;git clone
https://github.com/balkian/balkian.github.com &lt;span class="nb"&gt;cd &lt;/span&gt;balkian.github.com
jekyll serve -w
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;I will keep updating this post with information about: * Some Jekyll
plugins that might be useful * What CSS tricks I learnt * The webfonts
I used * The badge on the left side of the page&lt;/p&gt;
</summary><category term="starters"></category><category term="javascript"></category><category term="ruby"></category><category term="github"></category><category term="git"></category></entry></feed>

@ -0,0 +1,418 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>balkian.com</title><link href="http://balkian.com/" rel="alternate"></link><link href="http://balkian.com/feeds/misc.atom.xml" rel="self"></link><id>http://balkian.com/</id><updated>2014-12-09T12:12:12+01:00</updated><entry><title>Zotero</title><link href="http://balkian.com/zotero.html" rel="alternate"></link><updated>2014-12-09T12:12:12+01:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-12-09:zotero.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="https://www.zotero.org/"&gt;Zotero&lt;/a&gt; is an Open Source tool that lets
you organise your bibliography, syncing it with the cloud. Unlike other
alternatives such as &lt;a class="reference external" href="http://www.mendeley.com"&gt;Mendeley&lt;/a&gt;, Zotero can
upload the attachments and data to a private cloud via WebDav.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="setting-up-apache"&gt;
&lt;h2&gt;Setting up Apache&lt;/h2&gt;
&lt;p&gt;First we need to install Apache:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo apt-get install apache2
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Change the head of &amp;quot;/etc/apache2/sites-enabled/000-default&amp;quot; to:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt; &lt;span class="s"&gt;*:880&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Then, create a file /etc/apache2/sites-available/webdav:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12
13&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;Alias&lt;/span&gt; &lt;span class="sx"&gt;/dav&lt;/span&gt; &lt;span class="sx"&gt;/home/webdav/dav&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/dav&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;Dav&lt;/span&gt; &lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="nb"&gt;Order&lt;/span&gt; Allow,Deny
&lt;span class="nb"&gt;Allow&lt;/span&gt; from &lt;span class="k"&gt;all&lt;/span&gt;
&lt;span class="nb"&gt;Dav&lt;/span&gt; &lt;span class="k"&gt;On&lt;/span&gt;
&lt;span class="nb"&gt;Options&lt;/span&gt; +Indexes
&lt;span class="nb"&gt;AuthType&lt;/span&gt; Basic
&lt;span class="nb"&gt;AuthName&lt;/span&gt; DAV
&lt;span class="nb"&gt;AuthBasicProvider&lt;/span&gt; file
&lt;span class="nb"&gt;AuthUserFile&lt;/span&gt; &lt;span class="sx"&gt;/home/webdav/.htpasswd&lt;/span&gt;
&lt;span class="nb"&gt;Require&lt;/span&gt; valid-user
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo adduser webdav
sudo htpasswd -c /home/webdav/.htpasswd webdav
sudo htpasswd /home/webdav/.htpasswd zotero
sudo mkdir -p /home/webdav/dav/zotero
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Enable the site and restart apache:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo a2enmod webdav
sudo a2enmod dav_fs
sudo a2ensite webdav
sudo service apache2 restart
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;At this point everything should be working at
&lt;a class="reference external" href="http:/"&gt;http:/&lt;/a&gt;/&amp;lt;your_host&amp;gt;:880/dav/zotero&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="setting-up-nginx"&gt;
&lt;h2&gt;Setting up NGINX&lt;/h2&gt;
&lt;p&gt;After the Apache side is working, we can use nginx as a proxy to get
cleaner URIs. In your desired site/location, add this:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4
5
6
7&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;location&lt;/span&gt; &lt;span class="s"&gt;/dav&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;20M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Real-IP&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Forwarded-For&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;Host&lt;/span&gt; &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://127.0.0.1:880&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Now just reload nginx:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo service nginx force-reload
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div class="section" id="extras"&gt;
&lt;h2&gt;Extras&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://zoteroreader.com/"&gt;Zotero Reader&lt;/a&gt; - HTML5 client&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://github.com/ajlyon/zandy"&gt;Zandy&lt;/a&gt; - Android Open Source
client&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</summary><category term="zotero"></category><category term="webdav"></category><category term="nginx"></category><category term="apache"></category></entry><entry><title>Proxies with Apache and python</title><link href="http://balkian.com/proxies-with-apache-and-python.html" rel="alternate"></link><updated>2014-10-09T10:00:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-10-09:proxies-with-apache-and-python.html</id><summary type="html">&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;div class="section" id="gunicorn"&gt;
&lt;h2&gt;Gunicorn&lt;/h2&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/myapp/&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;ProxyPass&lt;/span&gt; http://127.0.0.1:8888/myapp/
&lt;span class="nb"&gt;ProxyPassReverse&lt;/span&gt; http://127.0.0.1:8888/myapp/
&lt;span class="nb"&gt;RequestHeader&lt;/span&gt; set SCRIPT_NAME &lt;span class="s2"&gt;&amp;quot;/myapp/&amp;quot;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: &lt;em&gt;SCRIPT_NAME&lt;/em&gt; and the end of &lt;em&gt;ProxyPass&lt;/em&gt; URL &lt;strong&gt;MUST BE
THE SAME&lt;/strong&gt;. Otherwise, Gunicorn will fail miserably.&lt;/p&gt;
&lt;p&gt;Try it with:
&lt;tt class="docutils literal"&gt;bash venv/bin/gunicorn &lt;span class="pre"&gt;-w&lt;/span&gt; 4 &lt;span class="pre"&gt;-b&lt;/span&gt; 127.0.0.1:8888 &lt;span class="pre"&gt;--log-file&lt;/span&gt; - &lt;span class="pre"&gt;--access-logfile&lt;/span&gt; - wsgi:application&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="uwsgi"&gt;
&lt;h2&gt;UWSGI&lt;/h2&gt;
&lt;p&gt;This is a very simple configuration. I will try to upload one with more
options for uwsgi (in a .ini file).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;Location&lt;/span&gt; &lt;span class="s"&gt;/myapp/&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nb"&gt;SetHandler&lt;/span&gt; uwsgi_handler
&lt;span class="nb"&gt;uWSGISocker&lt;/span&gt; &lt;span class="m"&gt;127.0.0.1&lt;/span&gt;:8888
&lt;span class="nt"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Try it with:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;uwsgi --socket 127.0.0.1:8888 -w wsgi:application
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="section" id="extra-supervisor"&gt;
&lt;h3&gt;Extra: Supervisor&lt;/h3&gt;
&lt;p&gt;If everything went as expected, you can wrap your command in a
supervisor config file and let it handle the server for you.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;[unix_http_server]&lt;/span&gt;
&lt;span class="na"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/tmp/myapp.sock ; path to your socket file&lt;/span&gt;
&lt;span class="k"&gt;[supervisord]&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/supervisor.log&lt;/span&gt;
&lt;span class="na"&gt;childlogdir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/&lt;/span&gt;
&lt;span class="k"&gt;[rpcinterface:supervisor]&lt;/span&gt;
&lt;span class="na"&gt;supervisor.rpcinterface_factory&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;supervisor.rpcinterface:make_main_rpcinterface&lt;/span&gt;
&lt;span class="k"&gt;[supervisorctl]&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/supervisorctl.log&lt;/span&gt;
&lt;span class="na"&gt;serverurl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket&lt;/span&gt;
&lt;span class="k"&gt;[program:myapp]&lt;/span&gt;
&lt;span class="na"&gt;command&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 --log-file %(here)s/logs/gunicorn.log --access-logfile - wsgi:application&lt;/span&gt;
&lt;span class="na"&gt;directory&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s&lt;/span&gt;
&lt;span class="na"&gt;environment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;PATH=%(here)s/venv/bin/&lt;/span&gt;
&lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;%(here)s/logs/myapp.log&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
</summary><category term="python"></category><category term="apache"></category><category term="proxy"></category><category term="gunicorn"></category><category term="uwsgi"></category></entry><entry><title>Publishing in PyPi</title><link href="http://balkian.com/publishing-in-pypi.html" rel="alternate"></link><updated>2014-09-27T10:00:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-09-27:publishing-in-pypi.html</id><summary type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="choose-a-fancy-name"&gt;
&lt;h2&gt;Choose a fancy name&lt;/h2&gt;
&lt;p&gt;If you haven'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't taken.
What's more, a catchy and unique name will help people remember your
module and feel more inclined to at least try it.&lt;/p&gt;
&lt;p&gt;The package name should hint what your module does, but that's not
always the case. That's your call. I personally put uniqueness and
memorability over describing the functionality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="create-a-pypirc-configuration-file"&gt;
&lt;h2&gt;Create a .pypirc configuration file&lt;/h2&gt;
&lt;pre class="code cfg literal-block"&gt;
&lt;span class="err"&gt;[distutils]&lt;/span&gt; &lt;span class="c1"&gt;# this tells distutils what package indexes you can push to&lt;/span&gt;
&lt;span class="na"&gt;index-servers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;
pypi # the live PyPI
pypitest # test PyPI&lt;/span&gt;
&lt;span class="err"&gt;[pypi]&lt;/span&gt; &lt;span class="c1"&gt;# authentication details for live PyPI&lt;/span&gt;
&lt;span class="na"&gt;repository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;https://pypi.python.org/pypi&lt;/span&gt;
&lt;span class="na"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_username }&lt;/span&gt;
&lt;span class="na"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_password } # not necessary&lt;/span&gt;
&lt;span class="err"&gt;[pypitest]&lt;/span&gt; &lt;span class="c1"&gt;# authentication details for test PyPI&lt;/span&gt;
&lt;span class="na"&gt;repository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;https://testpypi.python.org/pypi&lt;/span&gt;
&lt;span class="na"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{ your_username }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;As you can see, you need to register both in the &lt;a class="reference external" href="https://pypi.python.org/pypi?%3Aaction=register_form"&gt;main pypi
repository&lt;/a&gt; and
the &lt;a class="reference external" href="https://testpypi.python.org/pypi?%3Aaction=register_form"&gt;testing
server&lt;/a&gt;.
The usernames and passwords might be different, that is up to you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="prepare-your-package"&gt;
&lt;h2&gt;Prepare your package&lt;/h2&gt;
&lt;pre class="literal-block"&gt;
root-dir/ # Any name you want
setup.py
setup.cfg
LICENSE.txt
README.md
mypackage/
__init__.py
foo.py
bar.py
baz.py
&lt;/pre&gt;
&lt;div class="section" id="setup-cfg"&gt;
&lt;h3&gt;setup.cfg&lt;/h3&gt;
&lt;pre class="code cfg literal-block"&gt;
&lt;span class="k"&gt;[metadata]&lt;/span&gt;
&lt;span class="na"&gt;description-file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;README.md&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;The markdown README is the &lt;em&gt;de facto&lt;/em&gt; standard in Github, but you can
also use rST (reStructuredText), the standard in the python community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="setup-py"&gt;
&lt;h3&gt;setup.py&lt;/h3&gt;
&lt;p&gt;{% highlight python %} from distutils.core import setup setup( name =
'mypackage', packages = ['mypackage'], # this must be the same as the
name above version = '{ version }', description = '{ description }',
author = '{ name }', author_email = '{ email }', url =
'&lt;a class="reference external" href="https://github.com"&gt;https://github.com&lt;/a&gt;/{user}/{package}', # URL to the github repo
download_url = '&lt;a class="reference external" href="https://github.com"&gt;https://github.com&lt;/a&gt;/{user}/{repo}/tarball/{version}',
keywords = ['websockets', 'display', 'd3'], # list of keywords that
represent your package classifiers = [], ) {% endhighlight %}&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
git tag {version} -m &amp;quot;{ Description of this tag/version}&amp;quot;
git push --tags origin master
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="push-to-the-testing-main-pypi-server"&gt;
&lt;h2&gt;Push to the testing/main pypi server&lt;/h2&gt;
&lt;p&gt;It is advisable that you try your package on the test repository and fix
any problems first. The process is simple:
&lt;tt class="docutils literal"&gt;python setup.py register &lt;span class="pre"&gt;-r&lt;/span&gt; {pypitest/pypi} python setup.py sdist upload &lt;span class="pre"&gt;-r&lt;/span&gt; {pypitest/pypi}&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;If everything went as expected, you can now install your package through
pip and browse your package's page. For instance, check my senpy
package: &lt;a class="reference external" href="https://pypi.python.org/pypi/senpy"&gt;https://pypi.python.org/pypi/senpy&lt;/a&gt; &lt;tt class="docutils literal"&gt;pip install senpy&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="github"></category><category term="python"></category><category term="pypi"></category></entry><entry><title>Updating EuroLoveMap</title><link href="http://balkian.com/updating-eurolovemap.html" rel="alternate"></link><updated>2014-03-27T14:00:00+01:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2014-03-27:updating-eurolovemap.html</id><summary type="html">&lt;p&gt;As part of the &lt;a class="reference external" href="http://www.opener-project.org/2013/07/18/opener-hackathon-in-amsterdam/"&gt;OpeNER
hackathon&lt;/a&gt;
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;quot;overall feeling&amp;quot; of each
country about each topic. Then, we used some fancy JavaScript to make
sense out of the raw information.&lt;/p&gt;
&lt;p&gt;It didn't go too bad, it turns out &lt;a class="reference external" href="http://eurosentiment.eu/wp-content/uploads/2013/07/BOLv9qnCIAAJEek.jpg"&gt;we
won&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, it was time for a face-lift. I used this opportunity to play with
new technologies and improve it:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Using Flask, this time using python 3.3 and Bootstrap 3.0&lt;/li&gt;
&lt;li&gt;Cool HTML5+JS cards (thanks to
&lt;a class="reference external" href="http://pastetophone.com"&gt;pastetophone&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Automatic generation of fake personal data to test the interface&lt;/li&gt;
&lt;li&gt;Obfuscation of personal emails&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="publishing-a-python-3-app-on-heroku"&gt;
&lt;h2&gt;Publishing a Python 3 app on Heroku&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="http://eurolovemap.herokuapp.com/"&gt;seen here&lt;/a&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;mkvirtualenv -p /usr/bin/python3.3 eurolovemap
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;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't get
python 3.4 working using the
&lt;a class="reference external" href="https://launchpad.net/~fkrull/+archive/deadsnakes"&gt;deadsnakes&lt;/a&gt; ppa,
so I used python 3.3 instead, which works fine but is not officially
supported. Just create a file named &lt;em&gt;runtime.txt&lt;/em&gt; in your project root,
with the python version you want to use:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;python-3.3.1
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Don't forget to freeze your dependencies so Heroku can install them:
&lt;tt class="docutils literal"&gt;bash pip freze &amp;gt; requirements.txt&lt;/tt&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="publishing-personal-emails"&gt;
&lt;h2&gt;Publishing personal emails&lt;/h2&gt;
&lt;p&gt;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 &lt;a class="reference external" href="http://en.wikipedia.org/wiki/Caesar_cipher"&gt;Caesar
cipher&lt;/a&gt;. Please, don't
use it for any serious application if you are concerned about being
spammed.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;blur_email&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nb"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;And this is the client side:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt; 1
2
3
4
5
6
7
8
9
10
11
12&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="nx"&gt;elems&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementsByClassName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;profile-email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;charCodeAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fromCharCode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;elems&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Unfortunately, this approach does not hide your email from anyone using
&lt;a class="reference external" href="http://phantomjs.org/"&gt;PhantomJS&lt;/a&gt;,
&lt;a class="reference external" href="http://zombie.labnotes.org/"&gt;ZombieJS&lt;/a&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="generation-of-fake-data"&gt;
&lt;h2&gt;Generation of fake data&lt;/h2&gt;
&lt;p&gt;To test the contact section of the site, I wanted to populate it with
fake data. &lt;a class="reference external" href="https://github.com/joke2k/faker"&gt;Fake-Factory&lt;/a&gt; is an
amazing library that can generate fake data of almost any kind: emails,
association names, acronyms... It even lets you localise the results
(get Spanish names, for instance) and generate factories for certain
classes (à la Django).&lt;/p&gt;
&lt;p&gt;But I also wanted pictures, enter &lt;a class="reference external" href="http://lorempixel.com/"&gt;Lorem
Pixel&lt;/a&gt;. 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.&lt;/p&gt;
&lt;p&gt;For instance, the picture below is served through Lorem Pixel.&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="This picture is generated with LoremIpsum" src="http://lorempixel.com/400/200/nightlife/" /&gt;
&lt;p class="caption"&gt;This picture is generated with LoremIpsum&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;By the way, if you only want cat pictures, take a look at
&lt;a class="reference external" href="http://placekitten.com/"&gt;Placekitten&lt;/a&gt;. And for NSFW text, there's
the &lt;a class="reference external" href="http://slipsum.com/"&gt;Samuel L. Jackson Ipsum&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</summary><category term="javascript"></category><category term="python"></category><category term="heroku"></category></entry><entry><title>Remove git files with globbing</title><link href="http://balkian.com/remove-git-files-with-globbing.html" rel="alternate"></link><updated>2013-08-22T23:14:00+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2013-08-22:remove-git-files-with-globbing.html</id><summary type="html">&lt;p&gt;A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;git rm --cached &lt;span class="s1"&gt;&amp;#39;\*\*.swp&amp;#39;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary><category term="git"></category></entry><entry><title>Creating my web</title><link href="http://balkian.com/creating-my-web.html" rel="alternate"></link><updated>2013-08-22T14:14:22+02:00</updated><author><name>J. Fernando Sánchez</name></author><id>tag:balkian.com,2013-08-22:creating-my-web.html</id><summary type="html">&lt;p&gt;Finally, I've 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,
&lt;a class="reference external" href="http://jekyllrb.com"&gt;Jekyll&lt;/a&gt; will automatically generate static
pages for my posts every time I commit anything new to this repository.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I hadn'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't included any
Javascript code in the page. Probably I will use some to add my
&lt;a class="reference external" href="http://gist.github.com/balkian"&gt;gists&lt;/a&gt; and
&lt;a class="reference external" href="http://github.com/balkian"&gt;repositories&lt;/a&gt;, but we will see about
that.&lt;/p&gt;
&lt;p&gt;I think the code speaks for itself, so you can check out &lt;a class="reference external" href="http://github.com/balkian/balkian.github.com"&gt;my repository
on Github&lt;/a&gt;. You can
clone and deploy it easily like this:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;git clone
https://github.com/balkian/balkian.github.com &lt;span class="nb"&gt;cd &lt;/span&gt;balkian.github.com
jekyll serve -w
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;I will keep updating this post with information about: * Some Jekyll
plugins that might be useful * What CSS tricks I learnt * The webfonts
I used * The badge on the left side of the page&lt;/p&gt;
</summary><category term="starters"></category><category term="javascript"></category><category term="ruby"></category><category term="github"></category><category term="git"></category></entry></feed>

@ -1,175 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-63 -32t-65.5 -67t-50 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-207 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
<glyph unicode="&#xe023;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 500v400h100v-300h200v-100h-300z" />
<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
<glyph unicode="&#xe026;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v300h200v-300h150l-250 -300z" />
<glyph unicode="&#xe027;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v-300h200v300h150l-250 300z" />
<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
<glyph unicode="&#xe029;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 601q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 397v401l297 -200z" />
<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v275v25q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 108 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391q67 -181 82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140 l116 -317h-340z" />
<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 13.5t-49 14v71h471q76 0 145.5 -37.5t115 -111.5t45.5 -167q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129 q0 -84 -59 -156.5t-142 -111t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
<glyph unicode="&#xe062;" d="M219 725q0 -116 60 -249q65 -114 158.5 -231.5t154.5 -178.5l61 -61q22 25 59.5 69t132 167t163.5 231q70 142 70 258q0 117 -57.5 218.5t-156.5 161t-216 59.5q-116 0 -215 -61t-156.5 -163.5t-57.5 -219.5zM431 752q0 92 64.5 157t156.5 65t157 -65t65 -157t-65 -156.5 t-157 -64.5t-156.5 64.5t-64.5 156.5z" />
<glyph unicode="&#xe063;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5v854q-177 0 -302 -125t-125 -302z " />
<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM994 1015l114 -113l113 113l-21 85l-92 28z" />
<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
<glyph unicode="&#xe079;" d="M136 550v1l551 550l198 -197l-352 -353l352 -353l-198 -198z" />
<glyph unicode="&#xe080;" d="M315 198l198 -198l552 550l-1 1l-551 550l-198 -197l353 -353z" />
<glyph unicode="&#xe081;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
<glyph unicode="&#xe082;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h600v200h-600v-200z" />
<glyph unicode="&#xe083;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM247 459l212 -212l141 141l141 -141l213 212l-142 141l142 142l-213 212 l-141 -142l-141 142l-212 -212l141 -142z" />
<glyph unicode="&#xe084;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
<glyph unicode="&#xe085;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM364 700h143q4 0 11.5 -1t11 -0.5t6.5 3t3 8.5t1 11t3.5 8.5t3.5 6t5.5 4 t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26q0 -21 -4.5 -27.5t-26.5 -21.5q-5 -1 -12.5 -3.5t-27 -13.5t-34 -27t-26.5 -46.5t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 46t31 69t14 93.5q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5 t-53.5 -74.5t-19 -114zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe086;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200 v100h-200v-100z" />
<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h6h165h32v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206 h200v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
<glyph unicode="&#xe088;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM384 465l135 135l-135 135l81 81l135 -135l135 135l81 -81l-135 -135l135 -135l-81 -81l-135 136l-135 -136z" />
<glyph unicode="&#xe089;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 537l113 113l87 -87l204 204l113 -113l-317 -317z" />
<glyph unicode="&#xe090;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -119 66 -225l586 587q-105 65 -225 65q-177 0 -302 -125 t-125 -302zM381 235q104 -62 219 -62q177 0 302 125.5t125 301.5q0 117 -62 219z" />
<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
<glyph unicode="&#xe095;" d="M0 200q5 105 27 193t68 167t113 135t166.5 91.5t225.5 42.5v271l600 -453l-600 -448v301q-94 -2 -182.5 -20t-170.5 -52.5t-147 -92.5t-100 -135z" />
<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -142l-295 -294l129 -130h-400z" />
<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-4 -23 -14 -51.5t-20 -49t-24 -49.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5 t30.5 2.5t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5 t8 -43t6 -39.5t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM119 600q37 -48 65.5 -82.5t84 -93t118.5 -100t126 -60.5l37 141 q-107 18 -178.5 101.5t-71.5 193.5q0 85 46 158q-97 -83 -227 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59.5 69t-43.5 68l-15 26zM780 161l38 145q22 15 45 34t45.5 43.5t40.5 44.5t40.5 49.5t34 44.5t32 44t24.5 34q-83 113 -139 175l38 146 q68 -54 132.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
<glyph unicode="&#xe112;" d="M100 600v200h300v-250v-26v-55.5t3.5 -50t11 -47.5t22 -37t35.5 -31.5t53.5 -18t74.5 -7.5t74.5 8t53.5 18.5t35.5 32t22 38t11 48t3.5 49.5v54v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5 t-89 96.5t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
<glyph unicode="&#xe113;" d="M-1 410l198 -198l353 353l353 -353l198 198l-550 552z" />
<glyph unicode="&#xe114;" d="M99 797l551 -551l550 551l-198 198l-353 -352l-352 352z" />
<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-199l300 -283l299 283h-200v600h-796z" />
<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50q0 -21 -14.5 -35.5 t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23 t-167.5 -37t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
<glyph unicode="&#xe125;" d="M0 200v600h200v-600h-200zM300 275v400q0 37 20 63l145 196l96 198q14 28 38 48t51 20h50q39 0 69.5 -40.5t30.5 -84.5v-150l-28 -125h328q39 0 69.5 -40.5t30.5 -84.5v-100q0 -43 -29 -74l-238 -344q-37 -57 -83 -57h-250q-7 0 -41.5 25t-66.5 50l-31 25h-61 q-100 0 -100 75z" />
<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63z" />
<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275q0 -13 83 -94t90 -81h341q15 0 28.5 19.5t20.5 41.5l130 339h107q84 0 138.5 39t54.5 111t-53.5 110t-138.5 38h-302l85 121q11 15 10.5 34t-13.5 32l-110 112q-22 22 -53 6l-362 -230q-6 -4 -15.5 -10.5t-25 -26t-15.5 -36.5v-525z M408 289v503l339 236l86 -83l-147 -183q-17 -23 -5 -47q2 -3 4 -5.5t4 -4t5.5 -2.5t5 -1.5t6 -1t6.5 -0.5h7.5h6.5h457q22 0 30.5 -25t-0.5 -50t-30 -25h-203q-15 0 -28.5 -20t-19.5 -41l-131 -339h-293z" />
<glyph unicode="&#xe128;" d="M-101 651q0 -72 55 -111t139 -39h107l130 -339q6 -21 19.5 -41t29.5 -20h341q8 0 94 80.5t86 93.5v526q0 17 -15 35.5t-30 27.5l-15 10l-365 230q-32 14 -54 -6l-109 -113q-13 -13 -13.5 -32t10.5 -34l85 -121q-101 1 -302 1q-85 0 -139 -38t-54 -110zM-1 601v100h476 h6.5h7.5t6.5 0.5t6.5 1t5.5 1.5t5 2.5l4 4t3.5 5.5q13 24 -5 46l-145 184l87 83l343 -237v-502l-107 -89h-293l-131 339q-6 20 -19.5 40.5t-28.5 20.5h-222zM1000 201v600h200v-600h-200z" />
<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-203q0 -15 20 -28.5t41 -19.5l339 -131v-293l-89 -100h-503zM400 0v200h600v-200h-600z" />
<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503 l89 -100v-294l-340 -130q-21 -7 -40.5 -20.5t-19.5 -28.5v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
<glyph unicode="&#xe131;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM298 500h300v-194l402 294l-402 299v-198h-300v-201z" />
<glyph unicode="&#xe132;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM200 600l400 -294v194h300v201h-298v198z" />
<glyph unicode="&#xe133;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM302 599h197v-300h201v300h194l-294 401z" />
<glyph unicode="&#xe134;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM306 602l294 -402l298 402h-197v300h-201v-300h-194z" />
<glyph unicode="&#xe135;" d="M24 600q0 154 78 287t211 211t287 78t287 -78t211 -211t78 -287t-78 -287t-211 -211t-287 -78t-287 78t-211 211t-78 287zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60q12 0 23 -5.5t23 -15t20 -13.5q16 -8 34 -15t40 -14.5t34 -12.5q22 -8 53 -31.5 t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49.5t20.5 62.5q-14 9 -37.5 9t-35.5 7q-14 8 -49 15.5t-52 18.5q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12 q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5 t34 22.5q-6 17 10 36q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23q-20 -3 -37 1q-16 -13 -37.5 -21.5t-34 -12t-44 -8.5t-38.5 -6 q-15 -3 -45.5 0.5t-45.5 -2.5q-22 -8 -52.5 -27t-33.5 -34q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -17 8 -41.5t16.5 -44.5t9.5 -24q-9 2 -39.5 6t-52 10t-37.5 16z" />
<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
<glyph unicode="&#xe141;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125.5 -301.5t301.5 -125.5q177 0 302 125.5t125 301.5 q0 177 -125 302t-302 125q-176 0 -301.5 -125t-125.5 -302zM291 655q0 23 16 39t38 16q23 0 39 -16t16 -39t-16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5 t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-62 25.5t-26 61.5zM800 655q0 23 16 39t39 16q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16t-16 39z " />
<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-39 -23 -111 -95l-512 -512q-68 -68 -81 -163z" />
<glyph unicode="&#xe143;" d="M99 785q0 64 28 122.5t73 100t104.5 64t119 20.5t120 -38.5t105.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100t27 -122.5q0 -70 -55.5 -151.5t-129.5 -151t-182.5 -181t-182.5 -212.5q-62 85 -145.5 174t-150 152.5t-127 127t-94 124.5t-33.5 118z M229 785q0 -31 29.5 -75t64.5 -80.5t97 -97.5q17 -16 25 -24q101 -98 204 -217q85 97 209 219q127 125 163 171q48 62 48 104q0 78 -53.5 132.5t-120.5 54.5q-85 0 -147 -91l-102 -147l-97 150q-58 88 -141 88q-68 0 -123.5 -55.5t-55.5 -131.5z" />
<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q66 -66 159 -66t159 66l283 283q66 66 66 159t-66 159l-141 141q-3 4 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q3 -3 9.5 -9t8.5 -8 l106 105l-212 212l389 389l247 -247l-95 -96l17 -17q47 -47 78 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -36 9 -60t31 -38t36 -19.5t47 -13.5q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 50 KiB

@ -1,52 +1,249 @@
---
layout: default
title: Blog
categories: blog
---
<!-- Pagination links -->
{% if paginator.total_pages > 0 %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
{% if paginator.previous_page %}
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="/{% if paginator.previous_page > 2 %}page{{ paginator.previous_page }}{% endif %}"> Newer Posts</a></span>
{% else %}
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
{% endif %}
<span class="page_number ">Page {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page %}
<span class="nextpage"><a href="/page{{ paginator.next_page }}"> Older Posts </a> <i class="icon-chevron-sign-right"></i></span>
{% else %}
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
{% endif %}
</div>
{% endif %}
<!-- This loops through the paginated posts -->
{% for post in paginator.posts %}
<div class="posthead">
<h2><a href="{{ post.url }}" class="title">{{ post.title }}</a></h2>
<span class="date">{{ post.date | date_to_string }}</span>
{% for c in post.tags %}
<span class="label label-success">{{ c }}</span>
{% endfor %}
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/remove-git-files-with-globbing.html" class="title">Remove git files with globbing</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>git rm --cached <span class="s1">&#39;\*\*.swp&#39;</span>
</pre></div>
</td></tr></table>
</div>
<span><a href="/remove-git-files-with-globbing.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
{{ post.excerpt }}
<p>Finally, I've 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 ...</p>
</div>
<span><a href="{{ post.url }}"><i class="icon-pl2s"></i> Read more...</a></span>
{% endfor %}
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
{% if paginator.total_pages > 0 %}
<div class="pagination pag-bottom">
{% if paginator.previous_page %}
<span class="previouspage"><i class="icon-chevron-sign-left"></i><a href="/{% if paginator.previous_page > 2 %}page{{ paginator.previous_page }}{% endif %}"> Newer Posts</a></span>
{% else %}
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
{% endif %}
<span class="page_number ">Page {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page %}
<span class="nextpage"><a href="/page{{ paginator.next_page }}"> Older Posts </a> <i class="icon-chevron-sign-right"></i></span>
{% else %}
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
{% endif %}
</div>
{% endif %}
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,161 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li class="active"
>
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h2>This is <span class="disappear">me.</span><span id="subheadline"><span class="disappear">... I mean,</span> my website</span></h2>
<div id="about">
<ul>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-linux"></i> </span> GNU/Linux Fanboy</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-android"></i> </span> Android User</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-github"></i> </span> Github Fan</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-stackexchange"></i> </span> StackOverflow Dependent</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-music"></i> </span> Music Lover</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-film"></i> </span> Films Lover</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-comments"></i> </span> Usual Chatter</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-laptop"></i> </span> IT Person</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-gamepad"></i> </span> Casual Gamer</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-pencil"></i> </span> Amateur Writer</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-moon"></i> </span> Night Owl</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-terminal"></i> </span> Terminal User</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-flag"></i> </span> Hobbyist Linguist</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-code"></i> </span> Amateur Coder</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-book"></i> </span> On-and-off Reader</li>
<li> <span class="icon-stack"> <i class="icon-check-empty icon-stack-base" ></i><i class="icon-quote-right"></i> </span> Quote lover</li>
</ul>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</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></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li class="active"
>
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<p><link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599)" href="/theme/css/cv-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1200px)" href="/theme/css/cv-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/cv-desktop.css">
<div id="post"></p>
<div id="contact-info" class="vcard">
<!-- Microformats! -->
<h1 class="fn">J. Fernando Sánchez</h1>
<p>
Email: <a class="email" href="mailto:admin@balkian.com">admin@balkian.com</a>
</p>
</div>
<div id="objective">
<p>
I am a curious young engineer who happens to enjoy IT both as a career and as a hobby.
</p>
</div>
<div class="clear"></div>
<dl>
<dd class="clear"></dd>
<dt>Education</dt>
<!--<dd>-->
<!--<h2>Postgraduate Researcher (PhD) - Technical University of Madrid (UPM) <span>2012-Present</span></h2>-->
<!--</dd>-->
<dd>
<h2>Telecommunications Engineering <span> <a href="http://www.etsit.upm.es">Technical University of Madrid (UPM)</a> - 2007-2012</span></h2>
</dd>
<dd class="clear"></dd>
<dt>Skills</dt>
<dd>
<h2>Programming Languages</h2>
<p>Used frequently: Python, Javascript/CoffeeScript, Bash/Shell, Java and Ruby</p>
<p>Also programmed in: PHP, C, C++, Objective C and Haskell</p>
<h2>Frameworks and libraries</h2>
<p>Node.js, Django, Ruby on Rails, QT, GTK2, JASON, RDFLib, Weka</p>
<h2>Development tools</h2>
<p>Git, Eclipse, Netbeans, Android SDK</p>
<h2>Others</h2>
<p>Latex, XMPP, GIMP, Inkscape</p>
<h2>Social Skills</h2>
<p>Working with and leading international teams. Presentation and communication skills: I conducted several presentations to audiences of ~100 people.</p>
</dd>
<dd class="clear"></dd>
<dt>Experience</dt>
<dd>
<h2>Graduate Research Fellow<span><a href="http://gsi.dit.upm.es">Intelligent Systems Group (GSI)</a> (GSI) - 2008-2012</span></h2>
<ul>
<li>Worked with Agent and Semantic technologies</li>
<li>Conducted my master thesis: Design and Implementation of an Agent Architecture Based on Web Hooks</li>
</ul>
<h2>IT Coordinator<span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Coordinated the work of a small international IT Team</li>
<li>In charge of the administration of the IT infrastructure of EESTEC: Plone portal, Mailman mailing lists, etc.</li>
</ul>
<h2>Oversight Committee Member<span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Supervised the work of the International Board</li>
</ul>
<h2>Vice Chairman for External Affairs <span><a href="http://eestec.net">EESTEC International</a> - 2012-2013</span></h2>
<ul>
<li>Established connections with other Student Associations</li>
<li>Helped found new Observers (Local Groups)</li>
<li>Carried out International Board duties</li>
</ul>
</dd>
<dd class="clear"></dd>
<!--<dt>Hobbies</dt>-->
<!--<dd>Music, Sports and Cinema</dd>-->
<!--<dd class="clear"></dd>-->
<dt>References</dt>
<dd>Available on request</dd>
<dd class="clear"></dd>
</dl>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,151 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li class="active"
>
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h1>Ongoing Projects</h1>
<ul>
<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://gsi.dit.upm.es/ontologies/onyx">Onyx</a>: an ontology for emotion analysis that includes concepts from W3C's provenance.</li>
<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's provenance ontology.</li>
<li><a href="http://github.com/eestec/eestec.portal">EESTEC.net</a>: the Plone based official portal of EESTEC. I fixed some bugs and implemented basic features. It's still an ongoing project.</li>
</ul>
<h1>Past Projects</h1>
<ul>
<li><a href="http://github.com/balkian/hermes">Hermes</a>: one of my first projects, developed together with <a href="cathan">David Pérez</a> 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>
</ul>
<p>For more information, checl my <a href="http://github.com/balkian">complete list of public repositories in <i class="icon-github" >Github</i></a>.</p>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,174 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li class="active"
>
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h2>Things To Do</h2>
<p>This is intended as my public "todo.txt". Both to keep it accessible and to feel ashamed of the many things I leave undone:
<ul class="todo">
<li> PhD
<ul>
<li class="done" >Write my first workshop paper as main author</li>
<li>Write my first journal paper</li>
<li>Become a doctor!</li>
</ul>
</li>
<li> Technical
<ul>
<li class="done" >Write a NodeJS App. Maia [See <a href="http://github.com/gsi-upm/maia/issues">ISSUES</a>]</li>
<li class="done" >Write my first Django Application</li>
<li class="done">Win my first Hackathon</li>
<li>Github repo with +100 stars</li>
</ul>
</li>
<li> Languages
<ul>
<li class="done">English</a></li>
<li >Chinese</a></li>
<li >Greek</a></li>
<li >German</a></li>
<li >Esperanto</a></li>
</ul>
</li>
<li> Personal
<ul>
<li>Run a 10k</li>
<li>Blog regularly for a year</li>
</ul>
</li>
</ul></p>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -1,18 +0,0 @@
---
layout: default
title: "Projects"
---
Ongoing Projects
================
* [Maia](http://github.com/gsi-upm/maia): 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.
* [Onyx](http://gsi.dit.upm.es/ontologies/onyx): an ontology for emotion analysis that includes concepts from W3C's provenance.
* [Marl](http://gsi.dit.upm.es/ontologies/marl): I updated this ontology, originally created by Adam Westerski, to make it compatible with the W3C's provenance ontology.
* [EESTEC.net](http://github.com/eestec/eestec.portal): the Plone based official portal of EESTEC. I fixed some bugs and implemented basic features. It's still an ongoing project.
Past Projects
=============
* [Hermes](http://github.com/balkian/hermes): one of my first projects, developed together with [David Pérez](cathan) 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: [Part 1](http://www.youtube.com/watch?v=KnEYahPD9z4) and [Part 2](http://www.youtube.com/watch?v=lQZldCTPEJc)
For more information, checl my [complete list of public repositories in <i class="icon-github" >Github</i>](http://github.com/balkian).

@ -0,0 +1,234 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="postnav">
<a href="publishing-in-pypi.html"><span class="previouspost"><i class="icon-chevron-sign-left"></i> Publishing in PyPi</a></span>
<span class='nextpost'><a href="/zotero.html">Zotero <i class="icon-chevron-sign-right"></i></span></a>
</div>
<div class="posthead">
<h2 class="title">Proxies with Apache and python</h2>
<span class="meta date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-default">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-default">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-default">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-default">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-default">uwsgi</span></a>
</div>
<div class="post">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0.1:8888/myapp/
<span class="nb">ProxyPassReverse</span> http://127.0.0.1:8888/myapp/
<span class="nb">RequestHeader</span> set SCRIPT_NAME <span class="s2">&quot;/myapp/&quot;</span>
<span class="nt">&lt;/Location&gt;</span>
</pre></div>
</td></tr></table><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:
<tt class="docutils literal">bash venv/bin/gunicorn <span class="pre">-w</span> 4 <span class="pre">-b</span> 127.0.0.1:8888 <span class="pre">--log-file</span> - <span class="pre">--access-logfile</span> - wsgi:application</tt></p>
</div>
<div class="section" id="uwsgi">
<h2>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>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">SetHandler</span> uwsgi_handler
<span class="nb">uWSGISocker</span> <span class="m">127.0.0.1</span>:8888
<span class="nt">&lt;/Location&gt;</span>
</pre></div>
</td></tr></table><p>Try it with:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>uwsgi --socket 127.0.0.1:8888 -w wsgi:application
</pre></div>
</td></tr></table><div class="section" id="extra-supervisor">
<h3>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>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19</pre></div></td><td class="code"><div class="highlight"><pre><span class="k">[unix_http_server]</span>
<span class="na">file</span><span class="o">=</span><span class="s">/tmp/myapp.sock ; path to your socket file</span>
<span class="k">[supervisord]</span>
<span class="na">logfile</span> <span class="o">=</span> <span class="s">%(here)s/logs/supervisor.log</span>
<span class="na">childlogdir</span> <span class="o">=</span> <span class="s">%(here)s/logs/</span>
<span class="k">[rpcinterface:supervisor]</span>
<span class="na">supervisor.rpcinterface_factory</span> <span class="o">=</span> <span class="s">supervisor.rpcinterface:make_main_rpcinterface</span>
<span class="k">[supervisorctl]</span>
<span class="na">logfile</span> <span class="o">=</span> <span class="s">%(here)s/logs/supervisorctl.log</span>
<span class="na">serverurl</span><span class="o">=</span><span class="s">unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket</span>
<span class="k">[program:myapp]</span>
<span class="na">command</span> <span class="o">=</span> <span class="s">venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 --log-file %(here)s/logs/gunicorn.log --access-logfile - wsgi:application</span>
<span class="na">directory</span> <span class="o">=</span> <span class="s">%(here)s</span>
<span class="na">environment</span> <span class="o">=</span> <span class="s">PATH=%(here)s/venv/bin/</span>
<span class="na">logfile</span> <span class="o">=</span> <span class="s">%(here)s/logs/myapp.log</span>
</pre></div>
</td></tr></table></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,242 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="postnav">
<a href="updating-eurolovemap.html"><span class="previouspost"><i class="icon-chevron-sign-left"></i> Updating EuroLoveMap</a></span>
<span class='nextpost'><a href="/proxies-with-apache-and-python.html">Proxies with Apache and python <i class="icon-chevron-sign-right"></i></span></a>
</div>
<div class="posthead">
<h2 class="title">Publishing in PyPi</h2>
<span class="meta date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-default">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-default">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-default">pypi</span></a>
</div>
<div class="post">
<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>
<div class="section" id="choose-a-fancy-name">
<h2>Choose a fancy name</h2>
<p>If you haven'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't taken.
What'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's not
always the case. That's your call. I personally put uniqueness and
memorability over describing the functionality.</p>
</div>
<div class="section" id="create-a-pypirc-configuration-file">
<h2>Create a .pypirc configuration file</h2>
<pre class="code cfg literal-block">
<span class="err">[distutils]</span> <span class="c1"># this tells distutils what package indexes you can push to</span>
<span class="na">index-servers</span> <span class="o">=</span><span class="s">
pypi # the live PyPI
pypitest # test PyPI</span>
<span class="err">[pypi]</span> <span class="c1"># authentication details for live PyPI</span>
<span class="na">repository</span> <span class="o">=</span> <span class="s">https://pypi.python.org/pypi</span>
<span class="na">username</span> <span class="o">=</span> <span class="s">{ your_username }</span>
<span class="na">password</span> <span class="o">=</span> <span class="s">{ your_password } # not necessary</span>
<span class="err">[pypitest]</span> <span class="c1"># authentication details for test PyPI</span>
<span class="na">repository</span> <span class="o">=</span> <span class="s">https://testpypi.python.org/pypi</span>
<span class="na">username</span> <span class="o">=</span> <span class="s">{ your_username }</span>
</pre>
<p>As you can see, you need to register both in the <a class="reference external" href="https://pypi.python.org/pypi?%3Aaction=register_form">main pypi
repository</a> and
the <a class="reference external" 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>
</div>
<div class="section" id="prepare-your-package">
<h2>Prepare your package</h2>
<pre class="literal-block">
root-dir/ # Any name you want
setup.py
setup.cfg
LICENSE.txt
README.md
mypackage/
__init__.py
foo.py
bar.py
baz.py
</pre>
<div class="section" id="setup-cfg">
<h3>setup.cfg</h3>
<pre class="code cfg literal-block">
<span class="k">[metadata]</span>
<span class="na">description-file</span> <span class="o">=</span> <span class="s">README.md</span>
</pre>
<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>
</div>
<div class="section" id="setup-py">
<h3>setup.py</h3>
<p>{% highlight python %} from distutils.core import setup setup( name =
'mypackage', packages = ['mypackage'], # this must be the same as the
name above version = '{ version }', description = '{ description }',
author = '{ name }', author_email = '{ email }', url =
'<a class="reference external" href="https://github.com">https://github.com</a>/{user}/{package}', # URL to the github repo
download_url = '<a class="reference external" href="https://github.com">https://github.com</a>/{user}/{repo}/tarball/{version}',
keywords = ['websockets', 'display', 'd3'], # list of keywords that
represent your package classifiers = [], ) {% endhighlight %}</p>
<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>
<pre class="literal-block">
git tag {version} -m &quot;{ Description of this tag/version}&quot;
git push --tags origin master
</pre>
</div>
</div>
<div class="section" id="push-to-the-testing-main-pypi-server">
<h2>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:
<tt class="docutils literal">python setup.py register <span class="pre">-r</span> {pypitest/pypi} python setup.py sdist upload <span class="pre">-r</span> {pypitest/pypi}</tt></p>
<p>If everything went as expected, you can now install your package through
pip and browse your package's page. For instance, check my senpy
package: <a class="reference external" href="https://pypi.python.org/pypi/senpy">https://pypi.python.org/pypi/senpy</a> <tt class="docutils literal">pip install senpy</tt></p>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="postnav">
<a href="creating-my-web.html"><span class="previouspost"><i class="icon-chevron-sign-left"></i> Creating my web</a></span>
<span class='nextpost'><a href="/updating-eurolovemap.html">Updating EuroLoveMap <i class="icon-chevron-sign-right"></i></span></a>
</div>
<div class="posthead">
<h2 class="title">Remove git files with globbing</h2>
<span class="meta date">2013-08-22</span>
<a class="tag" href="/tag/git.html"><span class="label label-default">git</span></a>
</div>
<div class="post">
<p>A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>git rm --cached <span class="s1">&#39;\*\*.swp&#39;</span>
</pre></div>
</td></tr></table>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,175 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: apache</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,162 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: git</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/remove-git-files-with-globbing.html" class="title">Remove git files with globbing</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>A simple trick. If you want to remove all the '.swp' files from a git
repository, just use:</p>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre>git rm --cached <span class="s1">&#39;\*\*.swp&#39;</span>
</pre></div>
</td></tr></table>
</div>
<span><a href="/remove-git-files-with-globbing.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,165 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: github</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: gunicorn</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: heroku</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,167 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: javascript</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: nginx</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: proxy</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -3,39 +3,46 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{{ page.title }}</title>
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/css/syntax.css">
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/css/main-desktop.css">
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a href="/">.com</a></h1>
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li {% if page.categories contains "blog" %}class="active" {% endif %}>
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
{% for p in site.pages reversed %} {% if p.url contains "/page" %} {% else %} {% if p.url != "/index.html" %}
<li {% if p.url == page.url %} class="active" {% else %} {% if page.categories contains p.categories %} class="active" {% endif %} {% endif %} >
<a href="{{ p.url | remove: "/index.html" }}">{{ p.title }}</a>
</li> {% endif %} {% endif %}
{% endfor %}
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
@ -58,30 +65,55 @@
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/img/me.png">
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/img/me.jpg">
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
{% for p in site.posts limit: 5 %}
<dt><a href="{{ p.url }}">{{ p.title }}</a></dt>
{% for c in p.tags %}
<dd class="label label-default">{{ c }}</dd>
{% endfor %}
{% endfor %}
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
{{ content }}
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: pypi</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
@ -105,7 +137,7 @@
</footer>
</div>
<script src="/js/jquery-2.0.2.min.js"></script>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>
</html>

@ -0,0 +1,192 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: python</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/publishing-in-pypi.html" class="title">Publishing in PyPi</a></h2>
<span class="date">2014-09-27</span>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/pypi.html"><span class="label label-success tag">pypi</span></a>
</div>
<div class="excerpt">
<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 ...</p>
</div>
<span><a href="/publishing-in-pypi.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="posthead">
<h2><a href="/updating-eurolovemap.html" class="title">Updating EuroLoveMap</a></h2>
<span class="date">2014-03-27</span>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/heroku.html"><span class="label label-success tag">heroku</span></a>
</div>
<div class="excerpt">
<p>As part of the <a class="reference external" 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 ...</p>
</div>
<span><a href="/updating-eurolovemap.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,147 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: ruby</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,147 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: starters</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/creating-my-web.html" class="title">Creating my web</a></h2>
<span class="date">2013-08-22</span>
<a class="tag" href="/tag/starters.html"><span class="label label-success tag">starters</span></a>
<a class="tag" href="/tag/javascript.html"><span class="label label-success tag">javascript</span></a>
<a class="tag" href="/tag/ruby.html"><span class="label label-success tag">ruby</span></a>
<a class="tag" href="/tag/github.html"><span class="label label-success tag">github</span></a>
<a class="tag" href="/tag/git.html"><span class="label label-success tag">git</span></a>
</div>
<div class="excerpt">
<p>Finally, I've 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 ...</p>
</div>
<span><a href="/creating-my-web.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: uwsgi</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/proxies-with-apache-and-python.html" class="title">Proxies with Apache and python</a></h2>
<span class="date">2014-10-09</span>
<a class="tag" href="/tag/python.html"><span class="label label-success tag">python</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
<a class="tag" href="/tag/proxy.html"><span class="label label-success tag">proxy</span></a>
<a class="tag" href="/tag/gunicorn.html"><span class="label label-success tag">gunicorn</span></a>
<a class="tag" href="/tag/uwsgi.html"><span class="label label-success tag">uwsgi</span></a>
</div>
<div class="excerpt">
<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>
<div class="section" id="gunicorn">
<h2>Gunicorn</h2>
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="highlight"><pre><span class="nt">&lt;Location</span> <span class="s">/myapp/</span><span class="nt">&gt;</span>
<span class="nb">ProxyPass</span> http://127.0.0 ...</pre></div></td></tr></table></div>
</div>
<span><a href="/proxies-with-apache-and-python.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: webdav</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<div class="pagination pag-top">
<span class="previouspage" style="visibility:hidden;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="visibility:hidden;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
<h1>Entries tagged: zotero</h1>
<!-- This loops through the paginated posts -->
<div class="posthead">
<h2><a href="/zotero.html" class="title">Zotero</a></h2>
<span class="date">2014-12-09</span>
<a class="tag" href="/tag/zotero.html"><span class="label label-success tag">zotero</span></a>
<a class="tag" href="/tag/webdav.html"><span class="label label-success tag">webdav</span></a>
<a class="tag" href="/tag/nginx.html"><span class="label label-success tag">nginx</span></a>
<a class="tag" href="/tag/apache.html"><span class="label label-success tag">apache</span></a>
</div>
<div class="excerpt">
<p><a class="reference external" 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 class="reference external" 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 ...</p>
</div>
<span><a href="/zotero.html"><i class="icon-pl2s"></i> Read more...</a></span>
<div class="pagination pag-bottom">
<span class="previouspage" style="display:none;"><i class="icon-chevron-sign-left"></i> Newer Posts</span>
<span class="page_number ">Page 1 of 1</span>
<span class="nextpage" style="display:none;">Older Posts <i class="icon-chevron-sign-right"></i></span>
</div>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -0,0 +1,153 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="viewport" content="width=device-width">
<!-- syntax highlighting CSS -->
<link rel="stylesheet" href="/theme/css/solarized-dark.css">
<!--<link href="/css/bootstrap.css" rel="stylesheet">-->
<link rel="stylesheet" href="/theme/font-awesome/css/font-awesome.min.css">
<!--<link rel="stylesheet" href="/css/bootstrap-responsive.min.css">-->
<!-- Custom CSS -->
<link rel="stylesheet" media="only screen" href="/theme/css/main.css">
<link rel="stylesheet" media="only screen and (min-width: 0px) and (max-width: 599px)" href="/theme/css/main-xs.css">
<link rel="stylesheet" media="only screen and (min-width: 600px) and (max-width: 1199px)" href="/theme/css/main-medium.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px)" href="/theme/css/main-desktop.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">
<header id="header">
<h1 id="headline"><a href="/">balkian</a><a class="inv" href="/">.com</a></h1>
<div id="navbar" class="navbar navbar-inverse navbar-static-bottom">
<div class="container">
<div class="navbar-header">
<ul class="nav navbar-nav">
<li class="active" >
<a href="/"><i class="icon-home icon-large"></i> Blog</a>
</li>
<li >
<a href="/pages/about.html">About</a>
</li>
<li >
<a href="/pages/cv.html">CV</a>
</li>
<li >
<a href="/pages/projects.html">Projects</a>
</li>
<li >
<a href="/pages/to-do.html">To-Do</a>
</li>
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>-->
<!--<ul class="dropdown-menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li class="dropdown-header">Nav header</li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--<li><a href="#">One more separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div>
</div>
</header>
<div id="contentwrapper">
<div id="sidebar" >
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper sticky">
<div class="front">
<!-- front content -->
<img id="avatar" width=100% src="/theme/img/me.png">
</div>
<div class="back">
<!-- back content -->
<img id="picture" width=100% src="/theme/img/me.jpg">
</div>
</div>
</div>
<div class="entries">
<h1 class="title">Latest entries</h1>
<dl>
<dt><a href="zotero.html">Zotero</a></dt>
<a class="tag" href="/tag/zotero.html"><dd class="label label-default">zotero</dd></a>
<a class="tag" href="/tag/webdav.html"><dd class="label label-default">webdav</dd></a>
<a class="tag" href="/tag/nginx.html"><dd class="label label-default">nginx</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<dt><a href="proxies-with-apache-and-python.html">Proxies with Apache and python</a></dt>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/apache.html"><dd class="label label-default">apache</dd></a>
<a class="tag" href="/tag/proxy.html"><dd class="label label-default">proxy</dd></a>
<a class="tag" href="/tag/gunicorn.html"><dd class="label label-default">gunicorn</dd></a>
<a class="tag" href="/tag/uwsgi.html"><dd class="label label-default">uwsgi</dd></a>
<dt><a href="publishing-in-pypi.html">Publishing in PyPi</a></dt>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/pypi.html"><dd class="label label-default">pypi</dd></a>
<dt><a href="updating-eurolovemap.html">Updating EuroLoveMap</a></dt>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/python.html"><dd class="label label-default">python</dd></a>
<a class="tag" href="/tag/heroku.html"><dd class="label label-default">heroku</dd></a>
<dt><a href="remove-git-files-with-globbing.html">Remove git files with globbing</a></dt>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
<dt><a href="creating-my-web.html">Creating my web</a></dt>
<a class="tag" href="/tag/starters.html"><dd class="label label-default">starters</dd></a>
<a class="tag" href="/tag/javascript.html"><dd class="label label-default">javascript</dd></a>
<a class="tag" href="/tag/ruby.html"><dd class="label label-default">ruby</dd></a>
<a class="tag" href="/tag/github.html"><dd class="label label-default">github</dd></a>
<a class="tag" href="/tag/git.html"><dd class="label label-default">git</dd></a>
</dl>
</div>
<!--Sidebar content-->
</div>
<div id="content">
<!--Body content-->
<h1>Tags for balkian.com</h1> <li><a href="http://balkian.com/tag/apache.html">apache</a> (2)</li>
<li><a href="http://balkian.com/tag/git.html">git</a> (2)</li>
<li><a href="http://balkian.com/tag/github.html">github</a> (2)</li>
<li><a href="http://balkian.com/tag/gunicorn.html">gunicorn</a> (1)</li>
<li><a href="http://balkian.com/tag/heroku.html">heroku</a> (1)</li>
<li><a href="http://balkian.com/tag/javascript.html">javascript</a> (2)</li>
<li><a href="http://balkian.com/tag/nginx.html">nginx</a> (1)</li>
<li><a href="http://balkian.com/tag/proxy.html">proxy</a> (1)</li>
<li><a href="http://balkian.com/tag/pypi.html">pypi</a> (1)</li>
<li><a href="http://balkian.com/tag/python.html">python</a> (3)</li>
<li><a href="http://balkian.com/tag/ruby.html">ruby</a> (1)</li>
<li><a href="http://balkian.com/tag/starters.html">starters</a> (1)</li>
<li><a href="http://balkian.com/tag/uwsgi.html">uwsgi</a> (1)</li>
<li><a href="http://balkian.com/tag/webdav.html">webdav</a> (1)</li>
<li><a href="http://balkian.com/tag/zotero.html">zotero</a> (1)</li>
</div>
<div class="clear"></div>
</div>
<footer 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="icon-github"></i></a></li>
<li><a href="http://bitbucket.com/balkian"><i class="icon-bitbucket"></i></a></li>
<li><a href="http://twitter.com/balkian"><i class="icon-twitter"></i></a></li>
<li><a href="https://plus.google.com/u/0/111897020957944410316"><i class="icon-google-plus"></i></a></li>
<li><a href="http://linkedin.com/in/jfsanchezrada"><i class="icon-linkedin"></i></a></li>
<li><a href="http://facebook.com/balkian"><i class="icon-facebook-sign"></i></a></li>
</ul>
<p>
Creative Commons A-SA-NC
</p>
</footer>
</div>
<script src="/theme/js/jquery-2.0.2.min.js"></script>
<!--<script src="/js/bootstrap.min.js"></script>-->
</body>
</html>

@ -221,31 +221,6 @@ header {
padding: 0;
}
#headline {
margin: 0em;
font-size: 4em;
padding-left: 300px;
padding-top: 5px;
font-family: comfortaa;
}
#headline a {
color: black;
padding: 0;
margin: 0;
}
#headline a:hover {
color: white;
text-shadow: 1px 1px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
}
#social {
margin: 0 auto;
padding: 0;
}
/*#social:after {*/
/*content: ".";*/
/*display: block;*/
@ -283,16 +258,6 @@ header {
z-index: 100;
}
.entries dt {
font-weight: bold;
clear: both;
border-top: dashed 1px #CCC;
}
.entries dd {
float: right;
margin: 2px;
}
#navbar {
font-size: 1.2em;
padding-left: 300px;
@ -354,11 +319,6 @@ a {
text-decoration: none;
}
a:hover {
color: #FFF;
text-shadow: 1px 1px #069, -1px -1px 0 #069, 1px -1px 0 #069, -1px 1px 0 #069;
}
.label {
font-family: comfortaa;
border-radius: 10px 0px 0px 10px;
@ -397,7 +357,6 @@ a:hover {
display:inline;
width: 33.333%;
}
@-webkit-keyframes toright {
from {
padding-left: 0px;
@ -420,6 +379,28 @@ a:hover {
}
}
@-webkit-keyframes toleft {
to {
left: -10px;
opacity: 1;
}
from {
left: 300px;
opacity: 0;
}
}
@keyframes toleft {
to {
left: -10px;
opacity: 1;
}
from {
left: 300px;
opacity: 0;
}
}
@-webkit-keyframes appear{
to {
opacity: 1;
@ -438,13 +419,33 @@ a:hover {
}
}
@-webkit-keyframes disappear{
to {
visibility: hidden;
}
from {
visibility: show;
opacity: 1;
}
}
@keyframes disappear{
to {
opacity: 0;
}
from {
opacity: 1;
}
}
#subheadline {
-webkit-animation-name: toright;
position: absolute;
-webkit-animation-name: toleft;
-webkit-animation-duration: 4s;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: linear;
-webkit-animation-fill-mode: forwards;
animation-name: toright;
animation-name: toleft;
animation-duration: 4s;
animation-iteration-count: 1;
animation-timing-function: linear;
@ -452,13 +453,13 @@ a:hover {
}
.disappear {
-webkit-animation-name: appear;
-webkit-animation-duration: 4s;
-webkit-animation-name: disappear;
-webkit-animation-duration: 3s;
-webkit-animation-timing-function: linear;
-webkit-animation-iteration-count: 1;
-webkit-animation-fill-mode: forwards;
animation-name: appear;
animation-duration: 4s;
animation-name: disappear;
animation-duration: 3s;
animation-iteration-count: 1;
animation-timing-function: linear;
animation-fill-mode: forwards;

@ -217,39 +217,9 @@ header {
}
#headline {
margin: 0em;
font-size: 4em;
padding-left: 20%;;
padding-top: 5px;
font-family: comfortaa;
}
#headline a {
color: black;
padding: 0;
margin: 0;
}
#headline a:hover {
color: white;
text-shadow: 2px 2px #000, -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000;
}
#social {
margin: 0 auto;
padding: 0;
}
/*#social:after {*/
/*content: ".";*/
/*display: block;*/
/*clear: both;*/
/*visibility: hidden;*/
/*line-height: 0;*/
/*height: 0;*/
/*}*/
#social li {
position: relative;
list-style-type: none;
@ -278,15 +248,6 @@ header {
z-index: 100;
}
.entries dt {
font-weight: bold;
clear: both;
border-top: dashed 1px #CCC;
}
.entries dd {
float: right;
margin: 2px;
}
#navbar {
font-size: 1em;
@ -349,11 +310,6 @@ a {
text-decoration: none;
}
a:hover {
color: #FFF;
text-shadow: 1px 1px #069, -1px -1px 0 #069, 1px -1px 0 #069, -1px 1px 0 #069;
}
.label {
font-family: comfortaa;
border-radius: 10px 0px 0px 10px;

@ -10,7 +10,11 @@
#headline {
position: relative;
width: 100%;
margin: 0.5em;
font-size: 2em;
padding: 0.1em;
margin: 0.1em;
font-family: comfortaa;
overflow: auto;
}
#headline a {
@ -104,11 +108,6 @@ a {
text-decoration: none;
}
a:hover {
color: #FFF;
text-shadow: 1px 1px #069, -1px -1px 0 #069, 1px -1px 0 #069, -1px 1px 0 #069;
}
.navbar li.active a:hover {
color: #c00;
}
@ -182,3 +181,7 @@ footer {
/*top: -50px;*/
z-index: 100;
}
.highlighttable {
width: 100%;
}

@ -61,13 +61,14 @@ body {
padding-left: 0.5em;
}
code {
.highlighttable {
display: block;
overflow: auto;
position: relative;
background-color: #EEE;
margin: 0 auto;
width: 80%;
padding: 1.5em 2em;
padding: 0;
border: dashed 1px #AAA;
border-radius: 5px 0px 5px 5px;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
@ -75,6 +76,25 @@ code {
box-sizing: border-box; /* Opera/IE 8+ */
}
.highlight {
/*background-color: #EEE;*/
overflow: auto;
margin: 0;
padding: 0.5em;
position: relative;
overflow: auto;
}
.code {
width: 100%;
}
.linenos {
color: #AAA;
padding-right: 0.5em;
border-right: solid 1px #DDD;
}
#navbar {
position: relative;
padding: 0.5em;
@ -122,3 +142,67 @@ code {
margin-left: auto;
margin-right: auto
}
#headline {
position: relative;
margin: 0em;
font-size: 4em;
padding-left: 300px;
padding-top: 5px;
font-family: comfortaa;
}
#headline a {
color: black;
padding: 0;
margin: 0;
}
#headline a.inv {
font-size: 0.8em;
color: white;
text-shadow: 1px 1px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
}
#headline a:hover {
color: white;
text-shadow: 1px 1px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
}
#social {
margin: 0 auto;
padding: 0;
}
.entries dt {
font-weight: bold;
clear: both;
border-top: dashed 1px #CCC;
}
.entries dd {
float: right;
margin: 2px;
}
a:hover {
text-shadow: 0.5px 0.5px #CCC, -0.5px -0.5px 0 #CCC, 0.5px -0.5px 0 #CCC, -0.5px 0.5px 0 #CCC;
}
.tag:hover * {
-webkit-transform: rotate(-4deg);
-moz-transform: rotate(-4deg);
transform: rotate(-4deg);
color: black;
text-shadow: none ;
transform-origin: 95% 50%;
-moz-transform-origin: 95% 50%;
-webkit-transform-origin: 95% 50%;
}
.tag * {
display: inline-block;
}
.hll {
background: yellow;
}

@ -0,0 +1 @@
.highlight{background-color:#073642;color:#93a1a1}.highlight .c{color:#586e75 !important;font-style:italic !important}.highlight .cm{color:#586e75 !important;font-style:italic !important}.highlight .cp{color:#586e75 !important;font-style:italic !important}.highlight .c1{color:#586e75 !important;font-style:italic !important}.highlight .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.highlight .err{color:#dc322f !important;background:none !important}.highlight .k{color:#cb4b16 !important}.highlight .o{color:#93a1a1 !important;font-weight:bold !important}.highlight .p{color:#93a1a1 !important}.highlight .ow{color:#2aa198 !important;font-weight:bold !important}.highlight .gd{color:#93a1a1 !important;background-color:#372c34 !important;display:inline-block}.highlight .gd .x{color:#93a1a1 !important;background-color:#4d2d33 !important;display:inline-block}.highlight .ge{color:#93a1a1 !important;font-style:italic !important}.highlight .gr{color:#aa0000}.highlight .gh{color:#586e75 !important}.highlight .gi{color:#93a1a1 !important;background-color:#1a412b !important;display:inline-block}.highlight .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{color:#93a1a1 !important;font-weight:bold !important}.highlight .gu{color:#6c71c4 !important}.highlight .gt{color:#aa0000}.highlight .kc{color:#859900 !important;font-weight:bold !important}.highlight .kd{color:#268bd2 !important}.highlight .kp{color:#cb4b16 !important;font-weight:bold !important}.highlight .kr{color:#d33682 !important;font-weight:bold !important}.highlight .kt{color:#2aa198 !important}.highlight .n{color:#268bd2 !important}.highlight .na{color:#268bd2 !important}.highlight .nb{color:#859900 !important}.highlight .nc{color:#d33682 !important}.highlight .no{color:#b58900 !important}.highlight .ni{color:#800080}.highlight .nl{color:#859900 !important}.highlight .ne{color:#268bd2 !important;font-weight:bold !important}.highlight .nf{color:#268bd2 !important;font-weight:bold !important}.highlight .nn{color:#b58900 !important}.highlight .nt{color:#268bd2 !important;font-weight:bold !important}.highlight .nx{color:#b58900 !important}.highlight .bp{color:#999999}.highlight .vc{color:#008080}.highlight .vg{color:#268bd2 !important}.highlight .vi{color:#268bd2 !important}.highlight .nv{color:#268bd2 !important}.highlight .w{color:#bbbbbb}.highlight .mf{color:#2aa198 !important}.highlight .m{color:#2aa198 !important}.highlight .mh{color:#2aa198 !important}.highlight .mi{color:#2aa198 !important}.highlight .mo{color:#009999}.highlight .s{color:#2aa198 !important}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#2aa198 !important}.highlight .s2{color:#2aa198 !important}.highlight .se{color:#dc322f !important}.highlight .sh{color:#d14}.highlight .si{color:#268bd2 !important}.highlight .sx{color:#d14}.highlight .sr{color:#2aa198 !important}.highlight .s1{color:#2aa198 !important}.highlight .ss{color:#990073}.highlight .il{color:#009999}.highlight div .gd,.highlight div .gd .x,.highlight div .gi,.highlight div .gi .x{display:inline-block;width:100%}

@ -0,0 +1,69 @@
.hll { background-color: #ffffcc }
.c { color: #586E75 } /* Comment */
.err { color: #93A1A1 } /* Error */
.g { color: #93A1A1 } /* Generic */
.k { color: #859900 } /* Keyword */
.l { color: #93A1A1 } /* Literal */
.n { color: #93A1A1 } /* Name */
.o { color: #859900 } /* Operator */
.x { color: #CB4B16 } /* Other */
.p { color: #93A1A1 } /* Punctuation */
.cm { color: #586E75 } /* Comment.Multiline */
.cp { color: #859900 } /* Comment.Preproc */
.c1 { color: #586E75 } /* Comment.Single */
.cs { color: #859900 } /* Comment.Special */
.gd { color: #2AA198 } /* Generic.Deleted */
.ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
.gr { color: #DC322F } /* Generic.Error */
.gh { color: #CB4B16 } /* Generic.Heading */
.gi { color: #859900 } /* Generic.Inserted */
.go { color: #93A1A1 } /* Generic.Output */
.gp { color: #93A1A1 } /* Generic.Prompt */
.gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
.gu { color: #CB4B16 } /* Generic.Subheading */
.gt { color: #93A1A1 } /* Generic.Traceback */
.kc { color: #CB4B16 } /* Keyword.Constant */
.kd { color: #268BD2 } /* Keyword.Declaration */
.kn { color: #859900 } /* Keyword.Namespace */
.kp { color: #859900 } /* Keyword.Pseudo */
.kr { color: #268BD2 } /* Keyword.Reserved */
.kt { color: #DC322F } /* Keyword.Type */
.ld { color: #93A1A1 } /* Literal.Date */
.m { color: #2AA198 } /* Literal.Number */
.s { color: #2AA198 } /* Literal.String */
.na { color: #93A1A1 } /* Name.Attribute */
.nb { color: #B58900 } /* Name.Builtin */
.nc { color: #268BD2 } /* Name.Class */
.no { color: #CB4B16 } /* Name.Constant */
.nd { color: #268BD2 } /* Name.Decorator */
.ni { color: #CB4B16 } /* Name.Entity */
.ne { color: #CB4B16 } /* Name.Exception */
.nf { color: #268BD2 } /* Name.Function */
.nl { color: #93A1A1 } /* Name.Label */
.nn { color: #93A1A1 } /* Name.Namespace */
.nx { color: #93A1A1 } /* Name.Other */
.py { color: #93A1A1 } /* Name.Property */
.nt { color: #268BD2 } /* Name.Tag */
.nv { color: #268BD2 } /* Name.Variable */
.ow { color: #859900 } /* Operator.Word */
.w { color: #93A1A1 } /* Text.Whitespace */
.mf { color: #2AA198 } /* Literal.Number.Float */
.mh { color: #2AA198 } /* Literal.Number.Hex */
.mi { color: #2AA198 } /* Literal.Number.Integer */
.mo { color: #2AA198 } /* Literal.Number.Oct */
.sb { color: #586E75 } /* Literal.String.Backtick */
.sc { color: #2AA198 } /* Literal.String.Char */
.sd { color: #93A1A1 } /* Literal.String.Doc */
.s2 { color: #2AA198 } /* Literal.String.Double */
.se { color: #CB4B16 } /* Literal.String.Escape */
.sh { color: #93A1A1 } /* Literal.String.Heredoc */
.si { color: #2AA198 } /* Literal.String.Interpol */
.sx { color: #2AA198 } /* Literal.String.Other */
.sr { color: #DC322F } /* Literal.String.Regex */
.s1 { color: #2AA198 } /* Literal.String.Single */
.ss { color: #2AA198 } /* Literal.String.Symbol */
.bp { color: #268BD2 } /* Name.Builtin.Pseudo */
.vc { color: #268BD2 } /* Name.Variable.Class */
.vg { color: #268BD2 } /* Name.Variable.Global */
.vi { color: #268BD2 } /* Name.Variable.Instance */
.il { color: #2AA198 } /* Literal.Number.Integer.Long */

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 193 KiB

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

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

Loading…
Cancel
Save