Skip to content

Instantly share code, notes, and snippets.

View remino's full-sized avatar

Rem remino

View GitHub Profile
@remino
remino / !ternary-example.md
Last active June 26, 2024 04:52
Nested ternary examples in JavaScript, Python, PHP

ternary-example

Example of nested ternary not acting the same in JavaScript and PHP.

Furthermore, PHP 8.0 now throws a fatal error when nested ternaries are used without parentheses.

Conclusion: just don't use nested ternaries.

Usage

*
!.gitignore
!make-macos-folder-icns.sh
@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,