TornadoWeb is a great non-blocking web server written in Python and Boto3 is the Amazon Web Services (AWS) SDK for Python, which allows developers to write in a very easy manner software that makes use of Amazon services like S3. Unfortunately boto3 S3 wrapper is blocking and if you would just use it out of the box in a Tornado application it will block the main thread because it uses a synchronous HTTP client.
Continue reading Upload asynchronously to Amazon S3 using Tornado
Author: razvan
Deploy cherrymusic using Nginx, Supervisord and Virtualenv on Ubuntu
Cherrymusic is a music streaming server written in python.
We assume the deployment is done in /home/user/music.domain.com
Cherrymusic
1. Go to the deployment folder and clone the cherrymusic repo
cd /home/user/music.domain.com git clone https://github.com/devsnd/cherrymusic
2. Create and enable the virtualenv
python3 -m venv music_env source music_env/bin/activate
3. Test if the cherrymusic server starts and stop it afterwords
python cherrymusic --setup --port 8080 (ctrl+c)
4. If you executed this commands under another user than the one under which you want to run cherrymusic
(eg: you ran the commands as root but you want to run under the user `user`)
mkdir -p /home/user/.config/cherrymusic cp ~/.config/cherrymusic/cherrymusic.conf /home/user/.config/cherrymusic/
5. Edit cherrymusic.conf from the `user`’s home and set the `basedir` with the path where your music collection is stored.
eg: /var/music
Continue reading Deploy cherrymusic using Nginx, Supervisord and Virtualenv on Ubuntu
Create Python3 virtualenv
sudo -H pip3 install --upgrade virtualenv virtualenv --verbose --no-site-packages -p /usr/bin/python3 ./myenv
Clear swap space and move to RAM
#!/bin/sh mem=$(LC_ALL=C free | awk '/Mem:/ {print $4}') swap=$(LC_ALL=C free | awk '/Swap:/ {print $3}') if [ $mem -lt $swap ]; then echo "ERROR: not enough RAM to write swap back, nothing done" >&2 exit 1 fi swapoff -a && swapon -a
Google Chrome UI extremely large
Today I updated google-chrome-stable to version 43.0.2357.124-1 and I had an unpleasant surprise. Everything was looking bigger: the top bar, the bookmark bar, the menus, the font on the website. Something like this:
It seems the fix is to start the chrome browser with –force-device-scale-factor option.
And the result is:
The UI looks again like before.