Skip to content

Instantly share code, notes, and snippets.


Mathieu CAROFF mathieucaroff

  • IMT Atlantique
  • Montigny-le-Bretoneux
View GitHub Profile
mathieucaroff /
Created Sep 28, 2018
Download build and install GHDL on Ubuntu 18.04 (tested 2018-09-28)
# It took about 5 minutes on my laptop (2018-09-28).
sudo apt update
sudo apt install -y git make gnat zlib1g-dev
git clone
cd ghdl
mathieucaroff / .tmux.conf
Last active Jun 10, 2020 — forked from jnaulty/.tmux.conf
A copy of the best tmux and vim configuration in the universe
View .tmux.conf
# upstream
# obtain
# ```bash
# curl --output ~/.tmux.conf
# ```
View linenumber.go
package main
// An example of use of the go yaml v3 Node API
// Disclaimer: I'm very new to go. This code may miss a lot of Go goodnesses
import (
mathieucaroff /
Last active Jun 1, 2020
Create a (read only) slice without creating a copy of the given sequence.
# This solution is based on python 3 range ability to be sliced and indexed
# in constant time.
# It supports slicing, equality comparsion, string casting, and reproducers,
# but doesn't support assigment (and I don't plan to add support for it).
# Creating a SliceableSequenceView of a SliceableSequenceView won't slow down
# access times as this case is detected.
View expandedLog.ts
var MAX_DEPTH = 20
export var expandedLog = (obj: Record<string, unknown>, depth: number = 0) => {
var [[name, item]] = Object.entries(obj)
if (depth < MAX_DEPTH && typeof item === 'object' && item) {
var typeString =
var objType = typeString.replace(/\[object (.*)\]/, '$1')`${name}: ${objType}`)
Object.entries(item).forEach(([key, value]: any) => {
mathieucaroff /
Created Jan 28, 2019
A copy-past of the default helper snippets shown on Gitlab in empty repositories (2019-01-28)

Command line instructions

Git global setup

git config --global "Mathieu CAROFF"
git config --global ""

Create a new repository

mathieucaroff / util_str.vhd
Created Nov 20, 2018
VHDL Utilitary functions to convert std_logic_vector(s) to strings
View util_str.vhd
-- Mathieu CAROFF
-- 2018-11-20
-- util_str.vhd
-- Utilitary functions to convert std_logic_vector(s) to strings
-- Test:
-- ```bash
-- ghdl -a util_str.vhd
-- ghdl -r util_str_tb
-- ```
mathieucaroff /
Created Nov 6, 2018
Test shell variables to know how to determine path to the current shell script. Includes sample script output.
# Usage examples (you might want to `sudo apt install zsh ksh`):
# ./ dash bash
# ./ dash bash zsh ksh
# ./ dash bash zsh ksh | less -R
mathieucaroff /
Last active Nov 1, 2018
Using a raspberryPi 3 as wifi router

Using a raspberryPi 3 as wifi router

... with raspbian OS

Written after trying a number of other techniques which failed. (2018-08-31)

I. Get Network-Manager to work on Raspbian

By default, because of a bug, Network-Manager doesn't manage wifi. It can be worked around though.

mathieucaroff /
Created Oct 17, 2018
Fill a circle with 0s and 1s
#!/usr/bin/env python3
# Fill a circle with 0 and 1's
# The circle is made of half as many lines as it is made of columns.
# This way, it usually appears round (with most terminal fonts at least).
# Accept the circle's width-radius as argument. See the default radius r, below.
r = 15
from sys import argv
if len(argv) > 1:
You can’t perform that action at this time.