Skip to content

Instantly share code, notes, and snippets.

Avatar

DJ Adams qmacro

View GitHub Profile
@qmacro
qmacro / solution.jq
Created December 2, 2022 14:26
AOC2022 Day 1
View solution.jq
#!/usr/bin/env jq
# Run with:
# -R (read raw strings, not JSON texts)
# -s (slurp all inputs into an array)
# i.e. jq -f solution.jq -R -s input.dat
# When initially read in, the input will look like this:
# "1000\n2000\n3000\n\n4000\n\n5000\n6000\n\n7000\n8000\n9000\n\n10000\n"
@qmacro
qmacro / cols.awk
Last active September 29, 2022 00:52
View cols.awk
# Output fields in a nicely arranged columnar format.
# Takes two optional variables:
# COLS: comma-separated list of column nrs (fields) to output (default: all)
# GAP: gap required between each column (default: 1)
# Take care of the GAP default
BEGIN {
if (GAP == "") GAP=1
}
@qmacro
qmacro / episodes-A.js
Last active April 13, 2020 11:36
Code at Home Ep.8
View episodes-A.js
const episodes = [
{
number: 1,
title: 'Setting up for our first challenge'
},
{
number: 2,
title: 'Fizz-Buzz and Fibonacci'
},
{
View taskscript.js
// -----------------------------------------------------
// Globals, contants
// -----------------------------------------------------
TASKLIST = "DJ's list";
LABEL_PENDING = "newtask";
LABEL_DONE = "newtaskdone";
// -----------------------------------------------------
// getTasklistId_(tasklistName)
// Returns the id of the tasklist specified
@qmacro
qmacro / fixposts.js
Last active December 24, 2018 08:41
View fixposts.js
/**
* From previous conversions from WordPress to Ghost, I have a lot of posts
* with links to other posts, where the link is actually incorrect. The
* incorrect links are missing the day (dd) part of the URL.
*
* This script is a quick and dirty way of fixing them, in-place:
* 1) read all the posts, and work out a slug-to-anchor mapping
* 2) go through all the posts, using regexes to find incorrect links
* and replace them with the correct ones, referencing the mapping
* from the first step.
@qmacro
qmacro / neo-app.json
Created September 17, 2016 11:04
sitMAN Workshop
View neo-app.json
{
"routes": [
{
"path": "/d/pos",
"target": {
"type": "destination",
"name": "public-odata-services"
},
"description": "Public OData Services"
},
View fixURLs.js
#!/usr/bin/env node
var stdin = process.stdin,
stdout = process.stdout,
aConfigLines = [],
https = require('https'),
sDocuRoot = "https://help.hana.ondemand.com/webide/",
sDocuPage = "233396e994584fe9b4c7ab6cb2798640.html";
// Read in current .eslintrc.ext config from STDIN
View UI5RelativeDates.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="UTF-8">
<title>Relative Dates</title>
<script id="sap-ui-bootstrap"
type="text/javascript"
@qmacro
qmacro / recordequality.js
Created February 3, 2015 14:14
Test equality of record structures as maps, in JavaScript, using reduce. Assuming maps have same structure.
View recordequality.js
var map1 = {name: "DJ", colour: "green"};
var map2 = {name: "DJ", colour: "green"};
Object.keys(map1).reduce(function(bool, prop) {
return bool && map1[prop] === map2[prop];
}, true); // => true
map2.name = "Joseph";
Object.keys(map1).reduce(function(bool, prop) {