Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
106 lines (83 sloc) 9.8 KB

Emanuele Ruffaldi Code Online

Here the listing of the public repositories, mainly on github. Legend on project size:

  • XL for large project, most of them used regularly
  • M for medium projects, some of them used
  • U for little utilities
  • EX for exercises and examples

Operating System / Low-Level

  • UEFIBoot an example for writing UEFI applications in CMake/C++ - related blog post (2016)
  • PitOS (XL) an exercise of low-level OS writing and integration with Java without OS in the middle (2002)
  • usbbandwidth (U) Estimation of USB device bandwidth usage in Linux, related post
  • tinyptp(EX) Precision Time Protocol (PTP) minimal implementation aimed at embedded cases (2016)

3D, Virtual Reality and Haptics

  • cocomr (XL) Compact Components framework and its Mixed Reality module (2014-,C++, with others)
  • chai3dproxy CHAI3D proxy code as standalone code
  • little3d Little 3D engine used in our robotic application (2015-2016,C++)
  • xvraam Tool for converting meshes in XVR AAM format to AssImp (2015,C++)
  • xvr_water XVR Water effect as developed for the SPRINT Rowing Trainer (2010,XVR)
  • openvr_exercies Cross-platform exercise using OpenVR (2016,C++)

Computer Vision



  • coursevision Practical part of the SSSA vision course 2017 using (Python, Jupyter)
  • livepython Live Python coding for OpenCV in the Browser (Python, OpenCV)
  • cvcamera_info Tool for manipulating the Camera Parameters under camera transformations e.g. crop, mirror, scaling (Python,OpenCV)
  • arucojson, example Aruco program for obtaining JSON version of the visible from videos markers together with some additional details such as marker area (C/C++) - usable - (2015-2016)
  • calibration tool for RGB-D and stereo cameras in Python using OpenCV - active (2015-2016)
  • aruco pattern generator script (Python) - PDF output, multiple pages control, physical size - usable
  • v4lsink device (EX) - create a simple V4L Linux sink as Virtual Camera
  • depthcapture image capture with compression for stereo (Zed) and depth cameras
  • pyoni ONI manipulation tool in Python (registration, fix, cut..) and related post and initial post (2013-2016)
  • gstreamerflow (EX) - gstreamer sink/source in C++
  • qtgst_appsink (EX) - gstreamer sink in Qt without using QtGst
  • mp4 duration (script) - extraction of frame duration from videos

Development Tools

  • CMakego, a simplified way to accessing libraries from C/C++ applications using CMake - active - related blog post (2014-2016)
  • matlabaddons, a custom list of useful Matlab packages with an easy way to configure them - usable
  • roboticvagrant and linuxsetup, Linux setups for Robotics with vagrant and docker respectively - related blog post
  • wine_vcpp (EX) Instructions for using command line Visual Studio inside Wine
  • editheader (U) for editing headers of C/C++ managing license (Python)


This section deals meanly with manipulation of Tensors, Lie Algrebra tools and Multivariate Gaussians as used in my research activity

  • dliemat Lie algebra and Distributions over Lie algrebra SE(3) in Matlab
  • matsemindex Semantic access to tensor indices in Matlab
  • nested tensors manipulation of nested tensors in Python and Matlab
  • multidimcxx C++11 class for statically typed tensors and associated operations. Associated blog post.
  • compare-mvn-tools Understanding Multivariate Normal Gaussian functions with Extended and Unscented filter
  • argmaxnd Argmax for Matlab with AVX2 optimization (on File Exchange)
  • visualautodiff Automatic backward differentiation in Simulink by connecting blocks, and associated blog post


  • pooledchannel multithread channel class in C++ with several policies
  • yreflectcxx is a CLang based C++ reflection for extracting types and OpenMP information, related post
  • cmm a C++ (ehm C--) compiler with code generation for x86 and DEC Alpha (1998)
  • cxxsumtime(EX) Algebreical Type for C++ with related post

Data Tools

  • picopak experimental tool for keeping track of personal data packages using git as backend
  • anycat (U) bash script for generic decompression
  • boost_compress comparison of compression methods using Boost IO Streams and fork of boost_lz4_filter for LZ4 streaming
  • nested_list_product generalization of condition matrix generation for experiments and benchmarking

ROS Tools

  • catkin_sub (U) ROS tool for partial builds of large catkin projects
  • ros_picopro ROS interface for Pico Projectors of libam7xxx family
  • matlab_ros_utils MATLAB ROS utilities to be used with MATALB rosbag my fork
  • ros_alt_realsense alternative ROS interface to Intel Realsense cameras based on Intel librealsense

Matlab/Simulink specific

  • simulink rt time Simulink block for synchronizing simulation time with real-time, cross platform, used in several projects
  • matlab addons Management of matlab toolboxes from Open Source projects with automatic configuration
  • matlab ranges Manipulation of ranges from datasets
  • binary tensor load (U) Loads a tensor from binary file

Web Level

  • jsonbag JSON multipart response for modern browsers. Serverside in C++ Mongoose blog post

Course Material

Research Tools

  • pytexeq command line LaTeX equation generation to images with cache
  • publicationlister (U) personal tool for publication listing based on BibTeX

Other Contributions

  • amfext initial developer of the amfext extension for PHP registered in PECL (2007). Amfext serializes messages in the Flash format.

Coding Fun

You can’t perform that action at this time.