I use Ubuntu Mate instead of the usual Raspbian Jessie mainly because of the gcc version. ORB-SLAM2 requires C++11 support. Raspbian comes with gcc 4.9, which does not handle C++11 by default. That means you have to play around with some compiler flags in ORB-SLAM2's CMakeLists.txt to make it work. In contrast, Ubuntu Mate's gcc 5.4 handles C++11 naturally.
Sometimes you need to edit a file on a remote server, but using vim/emacs is not very practical, due to lag and speed of screen refresh.
TextMate users have the classic rmate, but it was implemented in Ruby, which may not be available on the remote server.
A better option is to use this version of rmate, implemented in pure Bash. It's a single file, self-contained, and with no external dependencies.
Step by step:
tiling terminal emulator (D/Gtk3) https://github.com/gnunn1/tilix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| template< class T, class M > | |
| static inline constexpr ptrdiff_t offset_of( const M T::*member ) { | |
| return reinterpret_cast< ptrdiff_t >( &( reinterpret_cast< T* >( 0 )->*member ) ); | |
| } | |
| template< class T, class M > | |
| static inline constexpr T* owner_of( M *ptr, const M T::*member ) { | |
| return reinterpret_cast< T* >( reinterpret_cast< intptr_t >( ptr ) - offset_of( member ) ); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python | |
| import json | |
| import os | |
| from subprocess import check_call, check_output, STDOUT | |
| import sys | |
| if len(sys.argv) != 3: | |
| print "Usage: %s input.wav output.wav" % __file__ | |
| sys.exit(1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # do not forget to run 'sudo udevadm control --reload-rules' after editing this file | |
| ACTION!="add", GOTO="android_usb_rules_end" | |
| SUBSYSTEM!="usb", GOTO="android_usb_rules_end" | |
| ENV{DEVTYPE}!="usb_device", GOTO="android_usb_rules_end" | |
| ENV{ID_SERIAL_SHORT}=="", GOTO="android_empty_serial" | |
| ENV{ID_SERIAL_SHORT}=="0000:*", GOTO="android_empty_serial" | |
| ENV{ID_SERIAL_SHORT}=="0123456789ABCDEF", GOTO="android_empty_serial" |
on linux 4.19, I get
error creating new backup file '/var/lib/dpkg/status-old': Invalid cross-device link
when trying to install stuff on a ubuntu docker container. this seems to be an issue with metacopy https://www.spinics.net/lists/linux-unionfs/msg06109.html
issue can be worked around by running