CR-10 X-Axis Led Strip Holder

By ctherouxNo Comments

A “CR-10 X-Axis Led Strip Holder” is now available. More details at CR-10 X-Axis Led Strip Holder .

3D Printing, object

Logitech C170 Privacy Shield

By ctherouxNo Comments

A “Logitech C170 Privacy Shield” is now available. More details at Logitech C170 Privacy Shield .

3D Printing, object

Sturdy Cable Holder

By ctherouxNo Comments

A “Sturdy Cable Holder” is now available. More details at Sturdy Cable Holder .

3D Printing, object

Wall Mounted Pen Cup

By ctherouxNo Comments

A “Wall Mounted Pen Cup” is now available. More details at Wall Mounted Pen Cup .

3D Printing, object

Suspended Glass For Photography – 1-1/4 Inch Pipe Foot

By ctherouxNo Comments

A “Suspended Glass For Photography – 1-1/4 Inch Pipe Foot. More details at Suspended Glass For Photography – 1-1/4 Inch Pipe Foot .

3D Printing, object

Rigid 18V Vacuum Nozzle

By ctherouxNo Comments

A “Rigid 18V Vacuum Nozzle” is now available. More details at Rigid 18V Vacuum Nozzle .

3D Printing, object

How to install Pronterface on Ubuntu 16.04

By ctherouxNo Comments

To install Pronterface on Unbuntu, first install the dependencies.

sudo apt-get install python-serial python-wxgtk3.0 python-pyglet \
     python-numpy cython python-libxml2 python-gobject python-dbus \
     python-psutil python-cairosvg libpython-dev git

Then, download Pronterface

git clone

To run Pronterface, execute ./

3D Printing, Ubuntu

How to remove permanently an object in GIT

By ctherouxNo Comments

To remove permanantly an object in a remote GIT repository, simply perform these steps. Prior executing them, go to the GIT project folder. This is the one having the .git folder.

git filter-branch -f --index-filter "git rm -rf --cached \
     --ignore-unmatch OBJECT-TO-DELETE" -- --all
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
git push --all --force

Replace OBJECT-TO-DELETE with the object to delete. For example, if you want to delete a complete folder called distributions located in the tools folder, replace OBJECT-TO-DELETE by tools/distributions

The local copy of the modified repository cloned else where will have to be re-cloned.

*** Keep a backup your repository before performing these operations ***.


Case for the GM328A Components Tester

By adminNo Comments

A “Case for the GM328A Components Tester” is now available. More details at Case for the GM328A Components Tester .

3D Printing, object

Prusa i3 Simple LCD Holder

By ctherouxNo Comments

A “Prusa i3 Simple LCD Holder” is now available. More details at Prusa i3 Simple LCD Holder .

3D Printing, object

Parametric Screw to Zip Tie Adapter

By ctherouxNo Comments

A “Parametric Screw to Zip Tie Adapter” is now available. More details at Parametric Screw to Zip Tie Adapter .

3D Printing, object

Customizable Small Linear Carriage

By ctherouxNo Comments

A “Customizable Small Linear Carriage Generator” is now available. More details at Customizable Small Linear Carriage .

3D Printing, object

Script to create a shared git project

By ctherouxNo Comments

This script creates a git project to be shared among the users of the Unix group $GIT_GROUP. Every git project will be created into the directory $REPOSITORIES_BASE_DIR.


# Base directory where the shared git project are.
# Group in which the user's of the repositories must be a member of

if [ $# -ne 1 ]; then
        echo 'Usage:' `basename $0` 'project-name'
        exit 1


git init --shared --bare "$PROJECT_NAME"
cd ..
find git/$PROJECT_NAME -type d | xargs setfacl -R -m d:g:$GIT_GROUP:rwX
sudo setfacl -R -m g:$GIT_GROUP:rwX git/$PROJECT_NAME
GIT, Linux, Ubuntu, Unix

VirtualBox fails on startup

By ctherouxNo Comments

Result Code: NS_ERROR_FAILURE (0x80004005) / Kernel driver not installed (rc=-1908) are the errors displayed when the kernel driver needs to be recompiled. It usually happens when updates to Ubuntu are installed.

The kernel driver can be recompiled by issuing one the following commands:

sudo /etc/init.d/vboxdrv setup


sudo /sbin/rcvboxdrv setup

The former one works for Ubuntu versions prior to Ubuntu 16.04. If the first one is not found on your system, try the second one.

Ubuntu, Virtual Box

Port forwarding using SSH

By ctherouxNo Comments

SSH port forwarding let you connect to a server using another server a relay.

For example, if you host a web server in a DMZ behind your office router, you will not be able to access it using its public URL if your workstation is behind the same router.

You can easily implement a workaround if you have access to a server on the Internet. Issue this command on one of the machines connected on the same network as your workstation.

ssh -fN -t -C -D


  • is the address of the machine that will accept connections from your LAN on port 2080.
  • is the machine on the Internet that will establish connections to the final destination

You may need to add the port number on which listen to using the -p option. If SSH listens to port 8787 on, the command would be:

ssh -p 8787 -fN -t -C -D

You may also need to supply a user name to connect to The command would then look like:

ssh -p 8787 -fN -t -C -D

You can use this setup with a browser if you configure it to use a proxy to connect to the Internet. For example, access the proxy configuration of Firefox: preferences >> advanced >> network >> settings. Choose Manual proxy configuration and fill-out the SOCKS host parameters.

SSH Port Forwarding

The result will be that Firefox will open the URLs you type-in using the server

SSH, Ubuntu, Unix

Reset Unity Top Menu Bar Widget Panel

By ctherouxNo Comments

Sometimes, widget disappears from the Top Menu Bar Widget Panel of Unity. The Widget Panel can be reset using the following command:

killall unity-panel-service
Ubuntu, Unity

Make Linux use the hardware clock set to local time

By ctherouxNo Comments

Ubuntu sometimes assumes that the hardware clock of the computer is set to GMT. If the hardware clock is set to local time, set UTC=no in /etc/default/rcS.

Linux, Ubuntu

Move and secure the MySQL data directory

By ctherouxNo Comments

By default, the data directory of MySQL is /var/lib/mysql. This can be a security issue, especially on a laptop. If your home directory is encrypted, you can easily secure you MySQL data. Backup you data before using this information. Read the procedure until the end before doing anything.

First, follow these steps to move the data directory of MySQL.

  1. Stop MySQL.
  2. sudo service mysql stop
  3. Copy the current database to its new location /home/yourhomedir/mysql.
  4. sudo mv /var/lib/mysql /home/yourhomedir/
  5. Create a link to prevent issues with innoDB tables
  6. ln -s /home/yourhomedir/mysql /var/lib/mysql
  7. Change the value of datadir in the file /etc/mysql/mysql.conf.d/mysqld.cnf for your new data directory location /home/yourhomedir/mysql
  8. Modify the two occurences of /var/lib/mysql with /home/yourhomedir/mysql in /etc/apparmor.d/usr.sbin.mysqld
  9. Reload apparmor
  10. sudo service apparmor reload

If you moved the MySQL data directory to an encrypted home directory, you will need to perform these supplementary steps.

  1. Disable MySQL from starting at system boot.
  2. sudo update-rc.d mysql remove
  3. Add MySQL to the group related to the user that owns the encrypted home directory
  4. sudo usermod -a -G yourhomedir mysql
  5. Change the permissions of the encrypted directory
  6. sudo chmod 750 /home/yourhomedir

In this scenario, you will need to start MySQL after you logged on and shut it down before loggoff which include shutting down the system. To start mysql, use the following command:

sudo service mysql start

To stop MySQL, use the following command:

sudo service mysql stop

If everything works fine, you can remove the original MySQL data directory using this command:

sudo rm -fr /var/lib/mysql
Linux, MySQL, Ubuntu

hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Invalid argument

By ctherouxNo Comments

This error occurred on Raspbian Jessie using an ARPI600. I was trying to set up the real-time clock. I could resolve the issue by running the following command:

hwclock --systohc -D --noadjfile --utc

after enabling it with the command

echo pcf8563 0x51 > /sys/class/i2c-adapter/i2c-1/new_device

0x51 may differs on you installation. Run i2cdetect -y 1 to find the right value.

ARPI600, Raspberry PI, Raspbian

Extrusion Rail Customizable Fastener

By ctherouxNo Comments

A “Extrusion Rail Customizable Fastener” is now available. More details at Extrusion Rail Customizable Fastener .

3D Printing, object
Blue Taste Theme created by Jabox