Using Docker as non-root

Normally you need to run docker as root:
$ sudo docker run hello-world
If this is going on your nerves, you can add your normal user to the docker-usergroup.
But before you do this, read the warning in this Post (where i also got the code from)

$ sudo groupadd docker
$ sudo gpasswd -a $USER docker

logout / logout from your computer and run:
$ docker run hello-world
Should work now!

If you got something like config.json – Permission denied
$ docker run hello-world
WARNING: Error loading config file: /home/joergi/.docker/config.json - stat /home/joergi/.docker/config.json: permission denied

This can be fixed by typing in this (from this post)
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "/home/$USER/.docker" -R

Advertisements

Berlin – where to go

Berlin has so many cool bars and restaurants to offer…
I’m many times asked: what should we do? And no, I don’t want to write always the same stuff again, so I was thinking of making this list!

Vegan food
First of all: www.berlin-vegan.de has nearly all vegan stuff covered..
Download the Android app or the iPhone app and you are fine.

My faves:

  •  Viasko (Facebook)
    In this list, Viasko is my favourite restaurant. The prices are around 10 Euros for a real tasty dish
  • Aapka (Facebook)
    (also this article say they suck – I like it, maybe because of the vegan options?)
  • Rock’n’Roll Herberge (Facebook)
    The sell every Thursday vegan Currywurst, so go and get it!
  • Lily Burger (Facebook)
    For me they have the BEST (vegan) Burger in town. Also many the meat eaters will be happy there!

 

Bars:

Concerts:

  • all “underground” shows are listed on Stressfaktor (they also list demonstrations)
  • SO36 (Facebook) Oranienstr. 190, 10999 Berlin
    Old traditional club with cool partys and concerts, directly in Kreuzberg 36  dsfa
  • Wild at Heart (Facebook)
    Wiener Straße 20, 10999 Berlin
    Small club, with many great concerts.
  • Schokoladen (Facebook) Ackerstrasse 169/170, 10115 Berlin
    Small club, concerts are only between 8pm and 10pm
  • Clash (Facebook) Gneisenaustraße 2A, 10961 Berlin
    cool club, nice shows!
  • Köpi Köpenicker Str. 137, 10179 Berlin
    Left squat in Berlin, shows start always really late! Beer is cheap!
  • Cortina Bob (Facebook) Wienerstr. 34, 10999 Berlin
    nice club, starts during the week really early!
  • Supamolly, Jessner Str. 41, 10247 Berlin
    also a formerly squatted house, a nice bar and some cool concerts in the cellar!
  • Tommy Weissbecker Haus
    another (ex) squatted house… good shows, they start always really late

 

… list is not complete yet

mySQL workbench can’t connect via ssh tunnel

If you can’t connect with your mysql-workbench to a database via ssh have a look at your logfile:

tail -f -n 100 ~/.mysql/workbench/log/wb.log

and you will see this error:

14:12:58 [ERR][sshtunnel.py:notify_exception_error:233]: Traceback (most recent call last):
File “/usr/share/mysql-workbench/sshtunnel.py”, line 265, in _connect_ssh
look_for_keys=has_key, allow_agent=has_key)
File “/usr/lib/python2.7/dist-packages/paramiko/client.py”, line 306, in connect
t.start_client()
File “/usr/lib/python2.7/dist-packages/paramiko/transport.py”, line 465, in start_client
raise e
ValueError: CTR mode needs counter parameter, not IV

change your transport.py:

sudo nano /usr/lib/python2.7/dist-packages/paramiko/transport.py

press CTRL+W for searching for the term

return self._cipher_info[name]['class'].new(key, self._cipher_info[name]['mode']

and replace this

return self._cipher_info[name]['class'].new(key, self._cipher_info[name]['mode'], iv, counter)

with

return self._cipher_info[name]['class'].new(key, self._cipher_info[name]['mode'], '', counter)

as mentioned in the Github pull requst

All credits are going to user hansaplast for his answer on stackoverflow!

Sync folders in Vagrant but exclude some folders from syncing

Maybe you know this:
you have a huge Java project, maybe the project itself is a sum of many (not even so small)  Java projects.
For sharing the complete setting with other developers you normally use a Vagrant box to make it easy.
At work we needed 2 big projects in one Vagrant box, which included over 10 small maven projects.
Normally I would share it like this:

config.vm.synced_folder "my-project1", "/home/vagrant/my-project1"
config.vm.synced_folder "my-project2", "/home/vagrant/my-project2"

You can imagine, the normal start-time of our server with permanently syncing all folders, including all the target folders took much too long.
On a local machine, without a Vagrant box, it normally needs around 2 minutes to start
But with syncing all target folders, it needs between 7-10 minutes to start the server

Of course, this is not acceptable at all.

So i was looking for some better way for syncing it, and I came to a good solution rsync

config.vm.synced_folder "my-project1", "/home/vagrant/my-project1", type: "rsync",
 :rsync__exclude => ['my-project1/, my-project1/mini_project2/target,my-project1/mini_project2/target,my-project1/mini_project3/target,my-project1/mini_project4/target']
config.vm.synced_folder "my-project2", "/home/vagrant/my-project2", type: "rsync",
 :rsync__exclude => ['my-project2/, my-project2/mini_project2/target,my-project2/mini_project2/target,my-project2/mini_project3/target,my-project2/mini_project4/target']

 

You do this with every folder you need in your Vagrant box and where you don’t want everything synced.

At the moment it only syncs the folder from you host to your guest system on vagrant up and vagrant reload.
Of course you want to have any changes to be synced to your developer box.

So the solution is:
Open two terminal shells:

First terminal:
vagrant rsync-auto

Second terminal:
vagrant up

When you change now something in the host system, it’s automatically synced on your guest system

Using XIOAMI gamepad with Linux

XIAMOI GamepadI have the XIOAMI gamepad, a cheap gamepad which looks like the classical XBOX gamepad
When I used it first with my Fire TV Stick, it worked like a charm. I wanted to try it with my Linux and with Steam.

When i used it in a game it was totally uncalibrated. Pressing the joystick to the top position had no effect at all on my game character.

jscalibSo, i had to calibrate with a small programm, which I install on the shell with:

$ sudo aptitude install jstest-gtk

start it with:

$ jstest-gtk

This slideshow requires JavaScript.

you should see the following pictures…

  1. press the calibration button
  2. press the start calibration button
  3. rotate the joystick (all joysticks on your gamepad in a circle
  4. move the joystick to up – middle – down -middle – left -middle – right – middle
  5. press the OK button.
  6. save the profile

after than restarting the Steam game, it works perfect.