Skip to content

Instantly share code, notes, and snippets.

View fieldse's full-sized avatar

Matt fieldse

View GitHub Profile
@fieldse
fieldse / List files installed by a Debian or Ubuntu .deb package.md
Last active September 3, 2017 13:48
List files installed by a Debian or Ubuntu .deb package
dpkg -L <package name>

Example:

$ dpkg -L apache2
/.
/usr
/usr/share

To list files that will be installed by a debian package (.deb) which is not currently installed on your system

# Ubuntu 15.04+ 
apt download <packagename>

# Earlier versions of Ubuntu
apt-get --download <package name>
@fieldse
fieldse / grepmatch.md
Created September 4, 2017 17:33
Show lines before and after a matching string with grep

Grep to show the surrounding 2 lines before and after your match

grep 'some string to match' -B 2 -A 2 myfile.txt
@fieldse
fieldse / Pytest - Capture print statements in Pytest modules from stdout using capsys parameter
Last active September 14, 2017 04:19
Python pytest + stdout: Capture messages sent to stdout / stderr from your functions with pytest capsys
# test.py
# Print statements to pytest
# Capture messages sent to stdout / stderr from your functions,
# and test the output with a pytest unit test.
# tl;dr - use the capsys parameter in your test arguments
# extract the messages sent to stdout/stderr with capsys.readouterr()
@fieldse
fieldse / Firefox multiple profile setup steps.md
Last active July 8, 2021 11:22
How to Create a Portable Firefox and Run Multiple Profiles
# calendar_ical.rb
# Todo - date string format
def get_date_format(time_obj)
# Convert standard ruby datetime obj to ISO 8601 format
# time_obj - should be datetime object
# Time format:
# timestring.to_time.iso8601 # Incorrect format! We need 19970610T172345Z
# 1997 06 10 T 17 23 45 Z
@fieldse
fieldse / javascript.json
Created December 13, 2018 21:06
VSCode snippet for javascript boxed block comment
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
@fieldse
fieldse / gnome-plugin-install.sh
Last active January 31, 2019 16:54
GNOME utility: Install gnome-shell plugins from zip file commandline
#!/bin/bash
# gnome-shell-install
# Utility script to install gnome-shell plugin from zip
## Usage:
# Copy this file to your .local/bin directory and chmod +x [filename]
# From the directory where your downloaded GNOME shell plugin zip is, run
# gnome-plugin-install.sh [mypluginfilename.zip]
# License:
@fieldse
fieldse / Get git file creation dates.md
Last active April 19, 2024 11:23
Git tricks: file creation dates for all files in a Git repo directory

Git - print file creation dates

Scenario:

You have a directory of files in a git repository and you want to extract their original creation dates. Git does not track file creation date metadata, but you can get the first time the file was added in a commit.

This one-liner will print the dates and filenames sorted, in column format.

@fieldse
fieldse / todos-migrate.sh
Created September 29, 2020 15:48
Daily todo file migrator
#!/bin/bash
# todos-migrate.sh
# Generate a todo file from template
template="$HOME/Templates/Todos.template"
target_dir="$HOME/Documents"
archive_dir="$HOME/Documents/todos"
filename="Todos.md"
# Today's file