Thursday, March 28, 2024

Sync multiple git repo at once

Use the following command in Linux will do the job:

 ls -d RepoNames* | xargs -I{} git -C {} pull

Tuesday, December 12, 2023

ffmpeg to convert MPEG4 to Animated GIF

In short, use the following command to do the conversion:

ffmpeg -i source_file.m4v -filter_complex "[0:v] split [a][b];[a] palettegen [p];[b][p] paletteuse" output_trimmed_enhanced.gif


Reference: https://www.bannerbear.com/blog/how-to-make-a-gif-from-a-video-using-ffmpeg/



Wednesday, December 6, 2023

Using Conda behind firewall

 To use conda behind firewall, in Windows:

1) Edit the .condarc

channels:
- defaults
proxy_servers:
  http: <proxy_host>:8080
  https: <proxy_host>:8080
ssl_verify: False

NOTE: Beware doing something like this:
http: http://proxyhost:8080
https: http://proxyhost:8080

Don't add "http://" above, it's wrong!


2) Using pip (need to trust the hosts)

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org pandas

Some other better methods exist, the above is just one of the options that works.

Wednesday, August 16, 2023

Bind port 80 for normal user in Linux

To bind port 80 for normal user in Linux, use 'authbind'

Steps:

1. sudo apt get authbind

2. sudo touch /etc/authbind/byport/80

3. sudo chown user:user /etc/authbind/byport/80

4. chmod 500 /etc/authbind/byport/80

5. authbind --deep <command to run> (e.g. quasar dev)

Wednesday, June 28, 2023

Favourite LS_COLORS

Just wanna have my script files (Python script, Shell script) shows color in ls:

LS_COLORS=$LS_COLORS:'*.py=0;94:*.sh=0;94' ; export LS_COLORS 

Wednesday, June 14, 2023

Watch git log automatically

Linux one-liner to watch and refresh git log every 30 secs:

watch --color -n 30 "git fetch; git log origin/master -30 --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --color=always"






Monday, June 5, 2023

scp windows recursive copy problem

 In you encounter scp problem when doing a recursive copy from Windows to Linux, try adding the -O parameter.

scp -r -O sample-files/ target-server:/target-path/

Sync multiple git repo at once

Use the following command in Linux will do the job:  ls -d RepoNames* | xargs -I{} git -C {} pull