Skip to content

Instantly share code, notes, and snippets.

View remino's full-sized avatar

Rem remino

View GitHub Profile
@remino
remino / threelights.blender.py
Last active November 18, 2023 04:51
Script to create a three-light set-up scene in Blender
# threelights.blender.py
# By Rémino Rem <remino.net>
# 2023-11-18
#
# This creates a three-light scene set-up in Blender. Works in Blender 4.
#
# Best run in a blank file, as it will destroy anything in the scene.
import bpy
import mathutils
@remino
remino / template.sh
Created May 26, 2022 14:29
POSIX-compliant shell script template
#!/bin/sh
# unnamedscript
unnamedscript_main() {
e_args=16
e_no_realpath=17
which realpath 2>&1 > /dev/null \
|| _fatal $e_no_realpath "realpath missing."
@remino
remino / array-last-item.sh
Created May 26, 2022 10:23
Shell script: Get last item in array
for last; do true; done
echo $last
@remino
remino / basic.example.html
Created May 24, 2022 05:44
Minimal valid HTML5 document
<!doctype html>
<title>Valid HTML5 Document</title>
This is a valid HTML5 document.
@remino
remino / node-es-filename-dirname.js
Created October 25, 2021 05:50
Get __filename & __dirname in Node native ES modules
// Get __filename & __dirname in Node native ES modules
import { URL } from 'url'
const __filename = new URL('', import.meta.url).pathname
const __dirname = new URL('.', import.meta.url).pathname
console.log(__filename)
console.log(__dirname)
@remino
remino / ckrhetcrec.sh
Created January 2, 2021 03:28
ckrhetcrec
#!/bin/sh
# Enregistre l’émission Et cetera sur les ondes de Oui FM CKRH
# chaque vendredi soir à 20:00, heure d’Halifax.
#
# Executer regulièrement via cron :
# 59 7 * * 6 ckrhetcget.sh > /dev/null
set -e
@remino
remino / parse-jp-address.js
Created November 10, 2020 09:42
Parse Japanese address into an object
// Use at your own risk. Will not work for all Japanese addresses.
const regex = /^(.+[都道府県])?(.+?[市郡区町村]+)([^0-90-9ー- -]*)([0-90-9]+[丁目番地のー--]*(?:[0-90-9]+[番ー--]?(?:[0-90-9]+号?)?)?)?[\s ー-~-]*(.*)?/
const getMatch = (matches, index) => (matches ? matches[index] : null) || ''
const parseJpAddress = (str) => {
if (!str || !str.length) return {}
const matches = `${str}`.trim().match(regex)
@remino
remino / script.js
Last active March 24, 2020 07:45
New Node script using babel-node
#!/usr/bin/env npx babel-node --
// vim: ft=javascript
const readline = require('readline');
const minimist = require('minimist');
const { basename } = require('path');
const errors = {
general: 1,
missingArg: 16,
For
* ES5
* ES6
* CoffeeScript
@remino
remino / README.md
Last active March 31, 2024 02:09
Nintendo Switch: Copy files from old microSD card to new microSD card

Nintendo Switch: Copy files from old microSD card to new microSD card

I'm frustrated every time I upgrade my microSD card in my Nintendo Switch, because no matter what I did before writing the switchcp.bat batch file, nothing seemed to work. Everything I'd do would eventually make a microSD card unreadable by my Switch.

After toying around with this problem for hours, below are some conclusions I've drawn. I can't take responsability for any data loss or damage to your systems. However, I do hope they can help you:

  • Don't copy your files using macOS or Linux. This is a big one. The ExFAT file system used by microSD cards of large capacity (microSDHC or microSDXC) is a proprietary file system by Microsoft. No matter how much licencing was negotiated between OS makers or how much backward engineering was done, only Windows seems to get reading and writing files on ExFAT file systems right. As a Mac user, I was determined to use macOS to do the job, until I tried with a Windows VM and saw all my prob