Skip to content

Instantly share code, notes, and snippets.

Avatar
🎵
Working on my music app, Epimetheus.

hacker1024

🎵
Working on my music app, Epimetheus.
  • Melbourne, Australia
  • 23:14 (UTC +11:00)
View GitHub Profile
@hacker1024
hacker1024 / gitkraken_browserless_github_login.url
Created January 25, 2023 12:45
A URL to use to obtain a GitHub OAuth token for browserless logins on GitKraken.
View gitkraken_browserless_github_login.url
https://api.gitkraken.com/oauth/github/login?action=login&in_app=true&needs_gk_permissions=false
@hacker1024
hacker1024 / hacker1024-nix-packages.md
Last active December 25, 2022 08:07
hacker1024's Nix packages
View hacker1024-nix-packages.md

These should be cleaned up and made into Nixpkgs PRs, but I don't have the time - so here they stay.

@hacker1024
hacker1024 / lockly_cloud_api_details.md
Last active October 5, 2022 03:11
Lockly cloud API details
View lockly_cloud_api_details.md

Lockly cloud API details

This documentation has moved to a dedicated site.

@hacker1024
hacker1024 / disableAAC.reg
Last active October 11, 2022 12:35
Disable AAC Bluetooth audio codec in Windows
View disableAAC.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BthA2dp\Parameters]
"BluetoothAacEnable"=dword:00000000
@hacker1024
hacker1024 / allocate_plus_post_exam_fixer.js
Last active June 23, 2022 03:38
A script to fix the Monash University Allocate+ Planner if it's broken after exams.
View allocate_plus_post_exam_fixer.js
// This script can be pasted into the browser console, or used as a userscript with an extension like Tampermonkey.
// ==UserScript==
// @name Allocate+ post-exam fixer
// @version 0.1
// @description Fixes the planner in Allocate+ if it's broken after exams.
// @author hacker1024
// @match https://my-timetable.monash.edu/even/student*
// @icon https://www.google.com/s2/favicons?sz=64&domain=monash.edu
// @grant none
@hacker1024
hacker1024 / proquest_ebook_central_ripper.md
Last active March 28, 2022 00:49
A method to download restricted eBooks from ProQuest Ebook Central.
View proquest_ebook_central_ripper.md

Step 1: Load in all the page elements.

let eBookPageCount = /* Set this. */
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
async function load() {
  for (i = 1; i < eBookPageCount; ++i) {
    let pageContainer = document.getElementById('mainPageContainer_' + i)
    pageContainer.scrollIntoView()
@hacker1024
hacker1024 / README.md
Last active December 15, 2021 06:28
My ideal Office configuration. Installs Word, PowerPoint, Excel, Publisher, OneNote, and nothing else. Uses the preview channel.
View README.md
  1. Download the Office Deployment Tool

    winget install -e Microsoft.OfficeDeploymentTool
  2. Install Office

    & 'C:\Program Files\OfficeDeploymentTool\setup.exe' /configure office_configuration.xml
@hacker1024
hacker1024 / README.md
Created August 19, 2021 10:58
Primitive (inaccurate) trigonometric calculations in pure Dart
View README.md

trigonometry.dart

This is an experiment to test myself: Using only my knowlege of trigonometry and the unit circle, can I implement trigonometric functions?

The algorithm

The degree value is analyzed to determine what quadrant it's in. The angle's "progress" through the quadrant (0 - 90 degrees) is expressed as a value between 0 and 1 (or -1 and 0, depending on the quadrant), which is then used to approximate X and Y coordinates.
These coordinates are then scaled to an arbitrary radius length (the higher, the more accurate) and then normalised

@hacker1024
hacker1024 / sdkmanager-java-patch.sh
Created May 25, 2021 11:01
A script to patch the legacy Android SDK Tools to work on modern Java versions.
View sdkmanager-java-patch.sh
#!/bin/sh
# Patches the legacy Android SDK Tools to work on modern Java versions.
# Inspired by https://stackoverflow.com/a/55982976.
if (( "$(uname)" == "Darwin" )); then
[[ "$(command -v gsed)" ]] || { echo "gsed is required!" 1>&2 ; exit 1; }
SED_CMD=gsed
else
[[ "$(command -v sed)" ]] || { echo "sed is required!" 1>&2 ; exit 1; }