Thursday 9 April 2020

Supervisor commands

Supervisor commands


Supervisord is a great daemon for managing application processes. However it does not have a reload option, and restart works different than we get used to. These command makes the following effects.
service supervisor restart
Restart supervisor service without making configuration changes available. It stops, and re-starts all managed applications.
supervisorctl restart <name>
Restart application without making configuration changes available. It stops, and re-starts the application.
If you create a new configuration. None of the commands above will make it available. If you want to apply your configuration changes in both existing and new configurations, start applications in new configurations, and re-start all managed applications, you should run:
service supervisor stop
service supervisor start
If you do not want to re-start all managed applications, but make your configuration changes available, use this command:
supervisorctl reread
This command only updates the changes. It does not restart any of the managed applications, even if their configuration has changed. New application configurations cannot be started, neither. (See the “update” command below)
supervisorctl update
Restarts the applications whose configuration has changed.
Note: After the update command, new application configurations becomes available to start, but do not start automatically until the supervisor service restarts or system reboots (even if autostart option is not disabled). In order to start new application, e.g app2, simply use the following command:
supervisorctl start app2

Friday 22 March 2019

Build v8worker2 - Ubunty 18.04

Build for - Ubunty 18.04

Setup git:

Install pyenv

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git libglib2.0-dev ccache

  1. Checkout from GitHub in the directory you wish to install. We recommend home directory:
     $ git clone ~/.pyenv
  2. Add to bash profile:
    $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 
  3. Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)"is placed toward the end of the shell configuration file since it manipulates PATH during the initialization.
    $ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
    Note: There are some systems where the BASH_ENV variable is configured to point to .bashrc. On such systems you should almost certainly put the above mentioned line eval "$(pyenv init -)" into .bash_profile, and not into .bashrc. Otherwise you may observe strange behaviour, such as pyenv getting into an infinite loop. Make sure to check this because of the new ubuntu installation (Jan 2018.)
  4. Restart your shell so the path changes take effect. You can now begin using pyenv.
    $ exec "$SHELL"

Install python 2.7.13

pyenv install 2.7.13

Get and Build mobule

git clone
cd v8worker2
rm -rf v8
git clone
rm -rf depot_tools
git clone
git submodule update --init --recursive

pyenv global 2.7.13
./ --use_ccache

Saturday 24 March 2018

How to switch the editor in mc (midnight commander) from nano to mcedit?

There are several ways, 2 worked for me

1. Press the following keys in order, one at a time:

  1. F9 Activates the top menu.
  2. o Selects the Option menu.
  3. c Opens the configuration dialog.
  4. i Toggles the use internal edit option.
  5. s Saves your preferences.
alt text

2. Working on Debian

Run MC as usual. On the command line right above the bottom row of menu selections type select-editor. This should open a menu with a list of all of your installed editors. This is working for me on all my current Linux machines.

3. Open a Terminal and type this command:

sudo update-alternatives --config editor
You will get an list of the installed Editors in your Ubuntu, and you can chose your favorite.

Wednesday 4 January 2017

Language Hotkeys removed by itself in Windows 10 after sleep or restart

Original post:

I have four keyboards and I have defined Ctrl+1, Ctrl+2 and Ctrl+3 ... hot-keys for them. The problem is that either all of the hot-keys or the first one is removed regularly. For example every time the computer goes to sleep (or even locked) all of them are removed.
I even tried other hot-keys (Ctrl+Shift+1, ... Ctrl+Shift+4) or (Alt+Shift+1, ... Alt+Shift+4) and the problem still exist.
If I assign a transition key (Left Shift+Alt) it will work but that's not that useful when you have more than 2 keyboards and you want to regularly change the keyboard.
It appears that the problem has existed in Windows 8 too (and has something to do with welcome screen) but the solution I found does not work on Windows 10 (

down voteaccepted
I finally found the solution and I am posting, in case someone else has the problem.
1- Define your hot-keys.
2- Search and find the "region" settings palette and go to administrative tab.
region-administrative tab
Now go to "Copy Settings" section.
copy settings
Select both tick boxes below the window and press ok.
In my case this applied the settings in a way that they are no more removed.

Thursday 28 April 2016

Tuesday 29 March 2016

Complete Guide to Symbolic Links (symlinks) on Windows or Linux

Original post here:

Complete Guide to Symbolic Links (symlinks) on Windows or Linux

Want to easily access folders and files from different folders without maintaining duplicate copies?  Here’s how you can use Symbolic Links to link anything in Windows 10, 8, 7, Vista, XP, and Ubuntu.

So What Are Symbolic Links Anyway?

Symbolic links, otherwise known as symlinks, are basically advanced shortcuts. You can create symbolic links to individual files or folders, and then these will appear like they are stored in the folder with the symbolic link even though the symbolic link only points to their real location.
There are two types of symbolic links: hard and soft. Soft symbolic links work essentially the same as a standard shortcut.  When you open a soft link, you will be redirected to the folder where the files are stored.  However, a hard link makes it appear as though the file or folder actually exists at the location of the symbolic link, and your applications won’t know any different. Thus, hard links are of the most interest in this article.

Why should I use Symbolic Links?

There are many things we use symbolic links for, so here’s some of the top uses we can think of:
  • Sync any folder with Dropbox – say, sync your Pidgin Profile Across Computers
  • Move the settings folder for any program from its original location
  • Store your Music/Pictures/Videos on a second hard drive, but make them show up in your standard Music/Pictures/Videos folders so they’ll be detected my your media programs (Windows 7 Libraries can also be good for this)
  • Keep important files accessible from multiple locations
  • And more!
If you want to move files to a different drive or folder and then symbolically link them, follow these steps:
  • Close any programs that may be accessing that file or folder
  • Move the file or folder to the new desired location
  • Follow the correct instructions below for your operating system to create the symbolic link.
Caution: Make sure to never create a symbolic link inside of a symbolic link. For instance, don’t create a symbolic link to a file that’s contained in a symbolic linked folder. This can create a loop, which can cause millions of problems you don’t want to deal with. Seriously.

Create Symlinks in Any Edition of Windows in Explorer

Creating symlinks is usually difficult, but thanks to the free Link Shell Extension, you can create symbolic links in all modern version of Windows pain-free.  You need to download both Visual Studio 2005 redistributable, which contains the necessary prerequisites, and Link Shell Extension itself (links below).  Download the correct version (32 bit or 64 bit) for your computer.
Run and install the Visual Studio 2005 Redistributable installer first.
Then install the Link Shell Extension on your computer. Your taskbar will temporally disappear during the install, but will quickly come back.
Now you’re ready to start creating symbolic links.  Browse to the folder or file you want to create a symbolic link from.  Right-click the folder or file and select Pick Link Source.
To create your symlink, right-click in the folder you wish to save the symbolic link, select “Drop as…”, and then choose the type of link you want.  You can choose from several different options here; we chose the Hardlink Clone.  This will create a hard link to the file or folder we selected.  The Symbolic link option creates a soft link, while the smart copy will fully copy a folder containing symbolic links without breaking them.  These options can be useful as well.
Here’s our hard-linked folder on our desktop.  Notice that the folder looks like its contents are stored in Desktop\Downloads, when they are actually stored in C:\Users\Matthew\Desktop\Downloads.  Also, when links are created with the Link Shell Extension, they have a red arrow on them so you can still differentiate them.
And, this works the same way in XP as well.
Symlinks via Command Prompt
Or, for geeks who prefer working via command line, here’s how you can create symlinks in Command Prompt in any version of Windows.

In Windows 10, 8, 7, or Vista

In Windows Vista and 7, we’ll use the mklink command to create symbolic links.  To use it, we have to open an administrator Command Prompt.  Enter “command” in your start menu search, right-click on Command Prompt, and select “Run as administrator”.
To create a symbolic link, we need to enter the following in command prompt:
mklink /prefix link_path file/folder_path
First, choose the correct prefix.  Mklink can create several types of links, including the following:
  • /D – creates a soft symbolic link, which is similar to a standard folder or file shortcut in Windows.  This is the default option, and mklink will use it if you do not enter a prefix.
  • /H – creates a hard link to a file
  • /J – creates a hard link to a directory or folder
So, once you’ve chosen the correct prefix, you need to enter the path you want for the symbolic link, and the path to the original file or folder.  For example, if I wanted a folder in my Dropbox folder to appear like it was also stored in my desktop, I would enter the following:
mklink /J C:\Users\Matthew\Desktop\Dropbox C:\Users\Matthew\Documents\Dropbox
Note that the first path was to the symbolic folder I wanted to create, while the second path was to the real folder.
Here, in this command prompt screenshot, you can see that I created a symbolic link of my Music folder to my desktop.
And here’s how it looks in Explorer.  Note that all of my music is “really” stored in C:\Users\Matthew\Music, but here it looks like it is stored in C:\Users\Matthew\Desktop\Music.
If your path has any spaces in it, you need to place quotes around it.  Note also that the link can have a different name than the file it links to.  For example, here I’m going to create a symbolic link to a document on my desktop:
mklink /H “C:\Users\Matthew\Desktop\ebook.pdf”  “C:\Users\Matthew\Downloads\Before You Call Tech Support.pdf”
Don’t forget the syntax:
mklink /prefix link_path Target_file/folder_path

In Windows XP

Windows XP doesn’t include built-in command prompt support for symbolic links, but we can use the free Junction tool instead.  Download Junction (link below), and unzip the folder.  Now open Command Prompt (click Start, select All Programs, then Accessories, and select Command Prompt), and enter cd followed by the path of the folder where you saved Junction.
Junction only creates hard symbolic links, since you can use shortcuts for soft ones.  To create a hard symlink, we need to enter the following in command prompt:
junction –s link_path file/folder_path
As with mklink in Windows 7 or Vista, if your file/folder path has spaces in it make sure to put quotes around your paths.  Also, as usual, your symlink can have a different name that the file/folder it points to.
Here, we’re going to create a symbolic link to our My Music folder on the desktop.  We entered:
junction -s “C:\Documents and Settings\Administrator\Desktop\Music” “C:\Documents and Settings\Administrator\My Documents\My Music”
And here’s the contents of our symlink.  Note that the path looks like these files are stored in a Music folder directly on the Desktop, when they are actually stored in My Documents\My Music.  Once again, this works with both folders and individual files.
Please Note: Junction would work the same in Windows 7 or Vista, but since they include a built-in symbolic link tool we found it better to use it on those versions of Windows.

Symlinks in Ubuntu

Unix-based operating systems have supported symbolic links since their inception, so it is straightforward to create symbolic links in Linux distros such as Ubuntu.  There’s no graphical way to create them like the Link Shell Extension for Windows, so we’ll just do it in Terminal.
Open terminal (open the Applications menu, select Accessories, and then click Terminal), and enter the following:
ln –s file/folder_path link_path
Note that this is opposite of the Windows commands; you put the source for the link first, and then the path second.
For example, let’s create a symbolic link of our Pictures folder in our Desktop.  To do this, we entered:
ln -s /home/maguay/Pictures /home/maguay/Desktop
Once again, here is the contents of our symlink folder.  The pictures look as if they’re stored directly in a Pictures folder on the Desktop, but they are actually stored in maguay\Pictures.
Delete Symlinks
Removing symbolic links is very simple – just delete the link!  Most of the command line utilities offer a way to delete a symbolic link via command prompt, but you don’t need to go to the trouble.
Symbolic links can be very handy, and we use them constantly to help us stay organized and keep our hard drives from overflowing.  Let us know how you use symbolic links on your computers!