Blog 2020/9/1
<- previous | index | next ->
updated 2025/4/2
| TLD | Registration Fees | Renewal Fees | |
|---|---|---|---|
| example.org.uk | 4.94 | 4.94 | |
| example.uk | 4.94 | 4.94 | |
| example.me.uk | 4.94 | 4.94 | |
| example.co.uk | 4.94 | 4.94 | |
| example.date | 4.16 | 5.16 | |
| example.trade | 4.16 | 5.16 | |
| example.party | 4.16 | 5.16 | |
| example.bid | 4.16 | 5.16 | |
| example.stream | 4.16 | 5.16 |
| $ grep -P "^[ABCDEFabcdefOoIi]{6,6}$" /usr/share/dict/words | tr 'OoIi' '0011' | tr '[:lower:]' '[:upper:]' | awk '{print "#" $0}' | |
| #ACAD1A | |
| #B0BB1E | |
| #DEBB1E | |
| #AB1DED | |
| #ACAC1A | |
| #ACCEDE | |
| #AC1D1C | |
| #BAB1ED | |
| #BA0BAB |
| const { firefox } = require('playwright'); | |
| const fs = require('fs') | |
| const path = require('path') | |
| async function begin(){ | |
| let count = 0 | |
| let browser = await firefox.launch({headless: false}); | |
| let context = await browser.newContext({viewport:{width:400,height:700}}); | |
| let page = await context.newPage(); | |
| let values = ["/watch?v=VikfS15Ymmw","/watch?v=ndaEzlg5xcg","/watch?v=XexTm02fumM","/watch?v=sRIB9kVzjYM","/watch?v=TSNNi7qSpCc","/watch?v=rbdVDwMbqlE","/watch?v=rfrg-Oo13GI","/watch?v=U1s48KT2KME","/watch?v=KdA-9wK_wVw","/watch?v=KrjvEvYGFUI","/watch?v=LgDKD87Cwqk","/watch?v=ck7bzakwmnQ","/watch?v=lkJ_an81sbI","/watch?v=72N0pRsSIFQ","/watch?v=QzsfZU1q-SQ","/watch?v=c8y5UTwMuyY","/watch?v=pI46I7pSc4g","/watch?v=RzYlGaLGn2o","/watch?v=bTE2wZeiVz4","/watch?v=doIfZm2iGnA","/watch?v=N-9CWbNo9Fg","/watch?v=XJpmfW60OuE","/watch?v=rh3ohhR1iYI","/watch?v=3XMPLN3cyxs","/watch?v=p-VvH1KDvAM","/watch?v=TLnmBLqIMqs","/watch?v=WHvJuEA00V0","/watch?v=3j_9p1VOTPI","/watch?v=waXGqCwoBLY","/watch?v=zHRDtD8t1v0","/wat |
| """ Use Apple's Vision Framework via PyObjC to detect text in images | |
| To use: | |
| python3 -m pip install pyobjc-core pyobjc-framework-Quartz pyobjc-framework-Vision wurlitzer | |
| """ | |
| import pathlib |
Blog 2020/9/1
<- previous | index | next ->
updated 2025/4/2
| #!/bin/bash | |
| # | |
| # Benchmark script for SBCs (Debian or Ubuntu). | |
| # | |
| # WARNING: This script is meant to be run as the root user. | |
| # This script should never be run on a system/partition you | |
| # care about. You should only run this on a system that you | |
| # intend to use only for benchmarking and can reinstall or | |
| # re-flash easily. | |
| # |
| #!/bin/bash | |
| # Raspberry Pi stress CPU temperature measurement script. | |
| # | |
| # Download this script (e.g. with wget) and give it execute permissions (chmod +x). | |
| # Then run it with ./pi-cpu-stress.sh | |
| # | |
| # NOTE: In recent years, I've switched to using s-tui. See: | |
| # https://github.com/amanusk/s-tui?tab=readme-ov-file#options | |
| # Variables. |
Windows Subsystem 2 for Linux, Hyper, ZSH + Oh My Zsh + Powerlevel9k + plugins, FNM + VSCode (+ext) and Nerd Font
To setup native Linux, see this gist
| const File = require('vinyl'); | |
| const gulp = require("gulp"); | |
| const Handlebars = require('handlebars'); | |
| const streamArray = require('stream-array'); | |
| const ghostContentAPI = require("@tryghost/content-api"); | |
| const api = new ghostContentAPI({ | |
| url: 'https://demo.ghost.io', | |
| key: '22444f78447824223cefc48062', | |
| version: "v4" |
| # in /etc/systemd/system | |
| [Unit] | |
| Description=Bluetooth Agent | |
| [Service] | |
| ExecStart=/usr/bin/bt-agent -c NoInputNoOutput | |
| Type=simple | |
| [Install] | |
| WantedBy=multi-user.target |