First creation date: 2025-04-20
Latest update date: 2025-04-24
Changelog
- 2025-04-24: Updated solution for state-threading
First creation date: 2025-04-20
Latest update date: 2025-04-24
Changelog
module ArelHelpers | |
extend self | |
def self.included(base) | |
base.extend self | |
end | |
def asterisk(arel_table_or_model) | |
arel_table, columns = case arel_table_or_model | |
when Arel::Table |
Requires installation of Node.js
Put these files into a directory, run npm install
to install dependencies
Use ssh -R 80:localhost:8080 localhost.run
to setup a temporary tunnel to your local machine, leave that shell open
Copy & paste the publicly accessible tunnel url that will be established, e.g. https://XXX.lhrtunnel.link
Open Google Search Console and create a new URL prefix property with that tunnel link
Use the meta tag verification method and paste it into the project's index.html
file's header
// ==UserScript== | |
// @name YouTube restore video time | |
// @namespace Violentmonkey Scripts | |
// @match https://*.youtube.com/* | |
// @grant none | |
// @version 1.0 | |
// @author mucaho | |
// @description - | |
// ==/UserScript== |
async function main() { | |
const rej = Promise.reject('err') | |
// the following line is needed, | |
// otherwise UnhandledPromiseRejectionWarning is thrown | |
// which can't be caught anywhere else (not even by async caller)! | |
// can be NOOP though, if error handling may be delayed to below catch block | |
rej.catch(e => console.log(e)) // logs 'err' | |
const del = new Promise((resolve) => { | |
setTimeout(() => resolve('del'), 100) |
FROM node:12-alpine | |
RUN apk add --no-cache tini | |
RUN apk add --no-cache curl | |
ADD https://raw.githubusercontent.com/eficode/wait-for/master/wait-for /bin/wait-for.sh | |
RUN chmod +rx /bin/wait-for.sh | |
USER node | |
RUN mkdir -p /home/node/app | |
WORKDIR /home/node/app |
active_guide | |
argument-name | |
block_cursor | |
brackethighlighter.curly | |
brackethighlighter.tag | |
class | |
class-inheritance | |
class-name | |
comment | |
comment.block |
// See [this tutorial](http://www.flipcode.com/archives/Raytracing_Topics_Techniques-Part_4_Spatial_Subdivisions.shtml) and linked materials | |
// | |
// return distance to nearest corner of rectangle, | |
// or return Infinity if no intersection with ray | |
// | |
// origin = {_x, _y} | |
// direction = {x, y} | |
function approximateDistanceFromRay(origin, direction) { | |
var epsilon = 0.00000001; //maximum error allowed |