Skip to content

Instantly share code, notes, and snippets.

View mathieucaroff's full-sized avatar

Mathieu CAROFF mathieucaroff

View GitHub Profile
@mathieucaroff
mathieucaroff / util_str.vhd
Created November 20, 2018 11:20
VHDL Utilitary functions to convert std_logic_vector(s) to strings
-- 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
mathieucaroff / sequenceView.py
Last active May 25, 2023 04:51
Create a (read only) slice without creating a copy of the given sequence.
# stackoverflow.com/q/3485475/can-i-create-a-view-on-a-python-list
# 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.
@mathieucaroff
mathieucaroff / test-shell-default-variables.sh
Created November 6, 2018 22:39
Test shell variables to know how to determine path to the current shell script. Includes sample script output.
#!/bin/bash
# test-shell-default-variables.sh
# Usage examples (you might want to `sudo apt install zsh ksh`):
#
# ./test-shell-default-variables.sh dash bash
# ./test-shell-default-variables.sh dash bash zsh ksh
# ./test-shell-default-variables.sh dash bash zsh ksh | less -R
@mathieucaroff
mathieucaroff / text-circle.py
Created October 17, 2018 20:49
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:
key::::00000000000000000000000000000000
block::00000000000000000000000000000000
crypt::66e94bd4ef8a2c3b884cfa59ca342b2e
block::ffffffffffffffffffffffffffffffff
crypt::3f5b8cc9ea855a0afa7347d23e8d664e
block::0000000000000000ffffffffffffffff
crypt::747cb9267e59fa9e4e615668db0909bc
@mathieucaroff
mathieucaroff / download-buidl-and-install-ghdl.sh
Created September 28, 2018 09:50
Download build and install GHDL on Ubuntu 18.04 (tested 2018-09-28)
#!/bin/sh
#
# download-buidl-and-install-ghdl.sh
#
# 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 https://github.com/ghdl/ghdl
cd ghdl
@mathieucaroff
mathieucaroff / collatz-tree.py
Created September 10, 2018 08:36
Collatz tree generator. Output as text or png (png requires graphviz). Produces regular binary collatz tree or trees without even numbers.
# Collatz tree generator. Output as text or png (png requires graphviz).
# Produces regular binary collatz tree or trees without even numbers.
#
# Note: The tree starts at 8 to avoid the 4-2-1 loop.
# Note': See the end of the file for two example text trees.
#
# Setup - on linux or wsl:
# ```shell
# sudo apt install python3-pip ipython3 graphviz
# sudo -H pip3 install anytree
@mathieucaroff
mathieucaroff / collatz-tree.md
Last active September 10, 2018 09:04
Tree for Collatz conjecture / Syracuse conjecture / Hailstone sequence. Output can be text or png (png requires graphviz). Can produce regular binary Collatz tree or Collatz-like trees without even numbers.

Collatz tree generator

Output can be text or png (png requires graphviz). Can produce regular binary Collatz tree or Collatz-like trees without even numbers.

  • Note: The trees start at 8 to avoid the 4-2-1 loop.
  • Note': See the end of the file for two example text trees.
  • Note": There is a .py version of this gist here: mathieucaroff/collatz-tree.py.

Setup for linux or wsl

@mathieucaroff
mathieucaroff / raspi3-router-tuto.md
Last active November 1, 2018 17:01
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.