Skip to content

Instantly share code, notes, and snippets.

View mwcz's full-sized avatar
🏠
Working from home

Michael Clayton mwcz

🏠
Working from home
View GitHub Profile
@mwcz
mwcz / next-biggest.js
Created March 16, 2020 18:46
My solution to codewars "Next bigger number with the same digits" kata
// write array `a` onto array `b` starting at position `p`
function overlay(a, b, p) {
for (let [i, n] of a.entries()) {
b[p+i] = n;
}
return b;
}
// in an array, swap items at indexes i1 and i2
function swap(arr, i1, i2) {
@mwcz
mwcz / memlog.sh
Created November 8, 2016 03:08
A simple script to create graphs of memory usage of Linux processes.
#!/usr/bin/env bash
# usage: memlog.sh PID
# requires gnuplot and matplotlib (dnf install python2-matplotlib gnuplot)
PID=$1
LOG=./$PID.log
PNG=./$PID.log.png
echo recording memory usage for PID $PID
const { S3Client, ListObjectsV2Command } = require("@aws-sdk/client-s3");
const client = new S3Client({
region: 'us-east-1',
credentials: {
accessKeyId: process.env['EYEBROWSE_S3_ACCESS_KEY'],
secretAccessKey: process.env['EYEBROWSE_S3_SECRET_ACCESS_KEY'],
},
clientSideMonitoring: true
});
@mwcz
mwcz / pfe-unpkg.html
Created February 14, 2020 17:30
Example of pulling PatternFly Elements into a static HTML page using unpkg.com. Good for toying around with elements without having to set up NPM tooling, build process, etc.
<!-- Pull in pfelement.css -->
<link rel="stylesheet" href="https://unpkg.com/@patternfly/pfelement/dist/pfelement.min.css">
<!-- Add an import statement for each PatternFly Element you want .ES Modules++ -->
<script type="module">
import "https://unpkg.com/@patternfly/pfe-card/dist/pfe-card.min.js";
import "https://unpkg.com/@patternfly/pfe-cta/dist/pfe-cta.min.js";
</script>
<script type="module" src="https://unpkg.com/@patternfly/pfe-icon@latest/pfe-icon.js"></script>
@mwcz
mwcz / gist:7b96a741d2f1431c8199
Last active August 12, 2018 08:29
casperjs test case example
// googletesting.js
casper.test.begin('Google search retrieves 10 or more results', 5, function suite(test) {
casper.start("http://www.google.fr/", function() {
test.assertTitle("Google", "google homepage title is the one expected");
test.assertExists('form[action="/search"]', "main form is found");
this.fill('form[action="/search"]', {
q: "casperjs"
}, true);
});
<p>I am your snippet.</p>
@mwcz
mwcz / jsdoc_AMD_module.md
Last active February 26, 2017 05:36
Michael Mathews (JSDoc founder) explains how @name works and how to document my IIFE-nested multiple-AMD module definitions (wow, that sounds cooooool).

#########

Me:

#########

It's not that I want to avoid those particular tags; I just want to generate the most documentation with the fewest number of tags. Lots of tags start impacting code readability.

Here's a better illustration of my use case. A few constructors are defined inside of an IIFE in order to keep them out of the global namespace. They are then exported with an AMD module definition at the bottom:

(function () {
<script src="typed.js"></script>
@mwcz
mwcz / gif.sh
Created September 27, 2016 17:31
gif command for recording animated gifs in Linux
#!/bin/bash
# USAGE: gif SECONDS FILENAME
# example: gif 4 out.gif
# then drag a box :D
# Delay before starting
DELAY=0
# Duration and output file