Skip to content

Instantly share code, notes, and snippets.

View nathan-osman's full-sized avatar

Nathan Osman nathan-osman

View GitHub Profile
nathan-osman / CMakeLists.txt
Created November 13, 2023 06:41
Hibernate your PC
add_executable(hiber WIN32
set_target_properties(hiber PROPERTIES
nathan-osman / CMakeLists.txt
Last active September 8, 2023 08:05
Create a very basic system tray icon
add_executable(wintray WIN32
set_target_properties(wintray PROPERTIES
nathan-osman / main.go
Created March 9, 2021 04:34
Custom dialector to force sqlite driver in GORM to use "integer" type for booleans instead of "numeric".
package main
import (
// CustomDialector allows for customization of the type affinity for booleans.
type CustomDialector struct {
nathan-osman /
Last active April 5, 2020 04:06
Calculate the answer to this puzzle:
# Build a list of all possible combinations
a = []
for i in range(0, 10):
for j in range(0, 10):
for k in range(0, 10):
a.append('{}{}{}'.format(i, j, k))
# For each of the possible answers, check the five constraints
for v in a:
pass_1 = \
nathan-osman /
Created April 1, 2020 05:53
Format XML files produced by SMS Backup & Restore
from argparse import ArgumentParser
from datetime import datetime, timezone
from html import escape
import xml.etree.ElementTree as ET
class SmsFormat:
def __init__(self, f_in, f_out):
nathan-osman / CMakeLists.txt
Last active March 19, 2022 23:43
Enumerate network interfaces and addresses assigned to them
cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR)
find_package(Qt5Network 5.4 REQUIRED)
add_executable(netenum main.cpp)
target_link_libraries(netenum Qt5::Network)
nathan-osman / CMakeListst.txt
Created November 1, 2017 20:14
Write to STDOUT using QFile
cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR)
find_package(Qt5Core 5.4 REQUIRED)
add_executable(stdout main.cpp)
target_link_libraries(stdout Qt5::Core)
nathan-osman /
Created July 14, 2017 16:56
Updated script for retrieving PPA download counts -
#!/usr/bin/env python2
from argparse import ArgumentParser
from sys import exit
from launchpadlib.launchpad import Launchpad
from tabulate import tabulate
except ImportError:
print "python-launchpadlib and python-tabulate are required"
nathan-osman / button.png
Last active February 4, 2019 07:35
Android emulator skin for the OnePlus 3
nathan-osman / temperature.ino
Last active April 29, 2017 05:50
Measure temperature and humidity and display the values on an OLED screen.
* Measure temperature & humidity and display on OLED screen
* Copyright 2017 - Nathan Osman
#include <DHT.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSans12pt7b.h>
#define DHTPIN 3