Skip to content

Instantly share code, notes, and snippets.

View haggen's full-sized avatar

Arthur Corenzan haggen

View GitHub Profile
@haggen
haggen / map.ts
Last active March 4, 2023 12:52
Map function in TypeScript that works for Arrays as well as Objects.
/**
* Unknown array type alias.
*/
type TArray = unknown[];
/**
* Unknown object type alias.
*/
type TObject = Record<string | symbol, unknown>;
@haggen
haggen / haggen.opml
Created December 18, 2021 13:23
RSS feed in OPML
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>Arthur subscriptions in feedly Cloud</title>
</head>
<body>
<outline text="Everything" title="Everything">
<outline type="rss" text="TechCrunch" title="TechCrunch" xmlUrl="http://feeds.feedburner.com/Techcrunch" htmlUrl="https://techcrunch.com" />
<outline type="rss" text="TorrentFreak" title="TorrentFreak" xmlUrl="http://feeds.feedburner.com/Torrentfreak" htmlUrl="https://torrentfreak.com" />
@haggen
haggen / hyperv.ps1
Created August 12, 2021 15:20
Stop Hyper-V services, wait for any key then resume the services
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
Start-Process -FilePath PowerShell.exe -Verb RunAs -ArgumentList "-ExecutionPolicy Bypass -File ""$PSCommandPath"""
Exit
}
Write-Host "1. Stopping Hyper-V* services"
$s = Get-Service | Where-Object { $_.DisplayName -like "Hyper-V*" -and $_.Status -eq "Running" }
$s | ForEach-Object { Stop-Service -Force $_.ServiceName }
Write-Host -NoNewline "2. Press ENTER to continue"
@haggen
haggen / .zshrc
Last active January 15, 2024 14:17
My Linux setup both on Ubuntu or WSL.
# starship prompt
# https://starship.rs/
eval "$(starship init zsh)"
# rtx runtime
# https://github.com/jdx/rtx
eval "$(rtx activate zsh)"
export PIPENV_VENV_IN_PROJECT=1
export VISUAL=vim
@haggen
haggen / less.js
Created March 5, 2021 13:08
Next.js v9/v10 integration for LESS leveraging built-in support for SASS
const cloneDeep = require("clone-deep");
const { readFileSync, existsSync } = require("fs");
const path = require("path");
// next-less (official plugin to integrate Less) is now
// deprecated so we have to provide our own solution.
//
// Next.js already provides built-in integration with CSS and Sass, but it
// relies on a dynamic WebPack config. generation to do it optimally.
//
@haggen
haggen / use-local-stored-state.ts
Created June 12, 2020 12:21
TypeScript Local Storage backed state hook for React
import { useState, useEffect } from "react";
type Serializable =
| null
| boolean
| number
| string
| Date
| { toJSON(): string }
| Serializable[]
@haggen
haggen / Jason.yaml
Created April 10, 2020 13:54
EVE Online overview.
backgroundOrder:
- 13
- 44
- 52
- 11
- 51
- 50
- 9
- 12
- 14
@haggen
haggen / importjson.gs
Created March 24, 2020 14:29
Simple IMPORTJSON function for Google Sheets.
/**
* Import data from a remote JSON document.
*
* @param {url} URL of the JSON document
* @param {path} dot notation path to the value you want to extract
*
* @return a single value extracted from the JSON.
*
* @customfunction
*/
@haggen
haggen / script.sh
Created March 21, 2020 14:24
Local DNS with dnsmasq on Ubuntu 18 (bionic)
#!/bin/usr/env bash
set -ue
# Need sudo.
test $(id -u) -eq 0 || { sudo $0; exit 0; }
# Free up port 53
systemctl stop systemd-resolved
systemctl disabled systemd-resolved
@haggen
haggen / id_rsa.pub
Created March 20, 2020 21:47
My public key.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyGNCdo+LfOlbm+PfJZu9iAlTn6gKZMqVra/nx/IG6wFY8Cm+Zs/RlFVTCl9HHtOyCcyeEeUnwPfA2WrYR9smjs+gUZIKRE6leiOxMZXYl+QPE462EhZgKN8Nbiv2fabXIjhCnrphC8OZq7Lub246pe/zO+CSZOZWblUqwuh9XidGQttB3c/FQdj3qo9+gK6wg7xlekujTPTxaCnYislaPPX2iIxXZfQmrVnrWGnGGdQMuFDtrE41tQEVc/shI0mP5ciSH2H8uc79cg7RB54aGZQtW91Ka+Yjs+4Fi8DsplT7O1WN5yD9q7grd+1zhFilHCDxP2XaRPY+P4+4OQFoX [email protected]