Skip to content

Instantly share code, notes, and snippets.

View honno's full-sized avatar
🛰️

Matthew Barber honno

🛰️
  • Hexegic
  • Southend-on-Sea
  • 10:41 (UTC)
View GitHub Profile
@rhettinger
rhettinger / mymax10e.py
Created November 18, 2021 01:50
Type annotated pure python implementation of the builtin max() function
'Emulate max() as fully as possible in pure Python.'
# https://stackoverflow.com/questions/69997857/implementation-of-max-function-in-python/69997876#69997876
# https://github.com/python/mypy/issues/7231
from typing import TypeVar, Any, Iterator, Iterable, Optional
from typing import Union, Protocol, Callable, cast, Tuple, overload
class SupportsGT(Protocol):
@tonyfast
tonyfast / 2021-09-20-pandas-one-liner.ipynb
Created September 20, 2021 17:02
pandas one liner demonstrating apply pandas Series patterns
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pouyatafti
pouyatafti / moomin.c
Last active August 18, 2020 11:27
Linux process Moomin ASCII art (via ps x)
#include <string.h>
#include <unistd.h>
char *moomin[] = {
" . ,",
"ASCII art (c) Maija Haavisto (@DiamonDie)",
"",
" \"._.' `' mh/VK",
" `. `, `. .'",
" . .' `. `' ;",
@merlinmann
merlinmann / twitter-bios.md
Last active October 7, 2024 07:06
bios - Merlin likes to change his Twitter bio for some reason. #runx

Good Twitter Bios Biosx biox runx

Bios

The bar is in the globe.

This is a factory, not a circus.

I weigh less than a slice of bread.

@dannvix
dannvix / mydft.py
Last active October 23, 2024 07:18
Intuitive impementation of discrete Fourier transform (and inverse DFT) in Python (without numpy)
#!/usr/bin/env python3
import math
# >> Discrete Fourier transform for sampled signals
# x [in]: sampled signals, a list of magnitudes (real numbers)
# yr [out]: real parts of the sinusoids
# yi [out]: imaginary parts of the sinusoids
def dft(x):
N, yr, yi = len(x), [], []
@alces
alces / sudo_env_vars.md
Last active July 21, 2023 09:21
How to change environment passed to sudo command

By default, sudo on the Linux systems executes commands into a minimal environment. So, if you for example has some non-standard directories (such as /opt/groovy/bin) added to your PATH, a command running via sudo won't see any executable in these directories.

Normally, this strict sudo behavior can be changed by removing env_reset (or changing env_keep) variables in /etc/sudoers. But what can you do in case when you have only restricted sudo without write access to this file?

The following command passes a current value of PATH under a command run with sudo privileges:

sudo bash -c "export $PATH; which groovy"
@StuartGordonReid
StuartGordonReid / LinearComplexity.py
Last active July 21, 2024 03:00
Python implementation of the linear complexity cryptographic test for randomness. This includes the Berklekamp Massey algorithm.
def linear_complexity(self, bin_data, block_size=500):
"""
Note that this description is taken from the NIST documentation [1]
[1] http://csrc.nist.gov/publications/nistpubs/800-22-rev1a/SP800-22rev1a.pdf
The focus of this test is the length of a linear feedback shift register (LFSR). The purpose of this test is to
determine whether or not the sequence is complex enough to be considered random. Random sequences are
characterized by longer LFSRs. An LFSR that is too short implies non-randomness.
:param bin_data: a binary string
@ma-ric
ma-ric / flatten.py
Created May 21, 2015 15:50
Python; recursive flatten of nested iterables, with proper handling of string elements
#!/usr/bin/env python3
def flatten(t):
"""
Generator flattening the structure
>>> list(flatten([2, [2, "test", (4, 5, [7], [2, [6, 2, 6, [6], 4]], 6)]]))
[2, 2, "test", 4, 5, 7, 2, 6, 2, 6, 6, 4, 6]
"""
from collections.abc import Iterable