Skip to content

Instantly share code, notes, and snippets.


Robin Chen RobinCPC

View GitHub Profile

Install Wine with Mono & Gecko

Note: Install as normal user, need to add sudo on most of command

1. Setup PPA

sudo dpkg --add-architecture i386
wget -qO - | sudo apt-key add -
# for Ubuntu 16.04
sudo apt-add-repository 'deb xenial main'
RobinCPC /
Last active Apr 1, 2020
Render point cloud in PythonOCC WebGL
#! /usr/bin/env python
from OCC.Display.WebGl.flask_server import *
import random
import time
import os
RobinCPC /
Last active Sep 3, 2021
Doxygen deploy in gh-pages and some page can't be seen (content security policy)

In NexMotion API repo, some source file start with capital char (such as NexMotion.h). Doxygen will generate Corresponding html file with underscore (such as _nex_motion_8h.html).

By default, github pages attempt to use Jekyll handles file name with underscores differently, so cause some unsual content policy security error To prevent it, create a file called .nojekyll in the root of your repository / site folder.

# Need to create a .nojekyll file to allow filenames starting with an underscore
# to be seen on the gh-pages site. Therefore creating an empty .nojekyll file.
# Presumably this is only needed when the SHORT_NAMES option in Doxygen is set
RobinCPC /
Last active Sep 3, 2021
Login local jupyter notebook through AWS EC2 instance by ssh reverse tunnel

Open Inbound port (such as 19999) for jupyter notebook

open ssh reverser tunnerl from local (8888 for jupyter port) to ec2 (19999)

sudo ssh -i "ebs-test.pem" -N -R 19999:localhost:8888

Set up Jupyter notebook to remote login

(base) C:\workspace\NexMotion-Python_API>jupyter notebook --generate-config
# Writing default config to: C:\Users\RobinChen\.jupyter\
RobinCPC /
Created Jun 10, 2019
Material about AWS robomaker

Getting Start:

To Build with new robot application: For setting IAM role, policy, S3, please follow the link (srep 1-19) to get full acess (aws guide did not work well 04/17/2019):

For create develop environment, follow develop guide (step 3 just configure ENvironment):


Babun Setup for Python Developers

Babun is “A Windows shell you will love!”

It's a turn-key CygWin distribution for developers and is very easy to install and maintain. For a Python developer, Babun allows working in an almost-POSIX environment – with some limitation, of course. This causes less friction when handling FOSS projects that are often biased towards a standard Linux environment, e.g. by using shell scripts for boot-strapping and things like that.

RobinCPC / ctag_vim_in_Windows.markdown
Last active May 14, 2020
How to use vim with ctags (tagbar plugin) in wondows systems
View ctag_vim_in_Windows.markdown

Frist, need to have vim and install tagbar plugin in windows system.

  • Simplely, I install git and use git bash with vim.
  • Construct vim setting in HOME directory (~/.vimrc).
	Could use `$ echo $HOME` to find out HOME directory set by git.

Second, add ctags in PATH which could find by git bash.

  • Download (pre-complied binary file inside) from ctags website.
  • Put ctags.exe in a directory, whose execution path is recognized in Windows (for me: GIT_DIR/usr/bin/).
RobinCPC / [ROS]
Last active Sep 28, 2021
Record how to create Catkin Workspace and add urdf package
View [ROS]

[ROS] Create Catkin Workspace and add urdf package

Assume you already install ros

  • Frist create package and add urdf
    $ mkdir catkin_ws_PMCurdf
 $ cd catkin_ws_PMCurdf/
RobinCPC /
Last active Jun 4, 2021
How to use GDB in Vim

How to use ConqueGDB in Vim

Install ConqueGDB in Vim

Debug C/C++:

RobinCPC / STL translation for
Last active Apr 11, 2016
record how to create URDF from PMC step file
View STL translation for

[ROS] How to transform PMC robot step file to STL for rviz

  1. load step to solidworks
  2. move joint rotation center to the origin of world
    • moving distance may depend on DH table
    • ROS will move parts to desired position according ot URDF file
  3. select needed parts (each joint may contain a lot of small part: screw or plate)
  4. save as... STL
  5. in advance option: