Skip to content

Instantly share code, notes, and snippets.

View haggen's full-sized avatar

Arthur Corenzan haggen

View GitHub Profile
@haggen
haggen / shrink-wsl-vhdx.ps1
Created July 9, 2022 00:10
Redeem space from WSL virtual disk.
Optimize-VHD -Mode Full %APPDATA%\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
@haggen
haggen / create-component.sh
Last active May 6, 2023 17:34
Script to automate creating new components in a React application.
#!/usr/bin/env bash
#
# Create React Component.
#
# Sane defaults.
# -e Exit on error.
# -u Whine on undefined variables.
# -o pipefail Exit main script if pipe process fails.
set -euo pipefail
@haggen
haggen / README.md
Created May 17, 2022 22:42
Run npm scripts per NODE_ENV value.

In your package.json:

"scripts": {
  "start": "per-env",
  "start:development": "echo We're in development!",
  "start:production": "echo We're in production!",
}
@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