Skip to content

Instantly share code, notes, and snippets.

Avatar

Kieran Barker kieranbarker

View GitHub Profile
@kieranbarker
kieranbarker / xss.html
Created Mar 23, 2022
A simple demo of a cross-site scripting (XSS) attack.
View xss.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>XSS</title>
</head>
<body></body>
<script>
@kieranbarker
kieranbarker / index.html
Created Mar 20, 2022
A simple demo of the top-level await keyword in vanilla JS.
View index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Users</title>
</head>
<body>
<h1>Users</h1>
<p>Check the JavaScript console.</p>
@kieranbarker
kieranbarker / inspect.js
Last active Mar 14, 2022
A demo of the util.inspect() method in Node.js.
View inspect.js
const { inspect } = require('util');
const restaurants = [
{
name: 'Nando\'s',
menus: {
starters: [
{ name: 'Halloumi Sticks &amp; Dip', price: 425 },
{ name: 'Houmous with PERi-PERi Drizzle', price: 425 },
{ name: 'Sweet Potato Wedges with Garlic PERinaise', price: 425 }
View getTodaysDate.js
/**
* Get today's date.
* https://gist.github.com/kieranbarker/2c300d73059697a4417e12bd40cdef75
* @returns {Date} A Date object representing today's date at midnight in UTC.
*/
function getTodaysDate() {
const dateString = new Date().toISOString().slice(0, 10);
return new Date(dateString);
}
@kieranbarker
kieranbarker / append_file.js
Last active Nov 8, 2021
Asynchronously append data to a file in Node.js.
View append_file.js
import * as fs from 'fs';
import * as fsPromises from 'fs/promises';
const file = 'hello_world.txt';
const data = 'Hello, World!';
//
// Callback API
//
@kieranbarker
kieranbarker / package.json
Last active Nov 1, 2021
Asynchronously read and write files in Node.js.
View package.json
{
"name": "read_write",
"version": "1.0.0",
"description": "Asynchronously read and write files.",
"private": true,
"main": "read_write.js",
"type": "module",
"scripts": {
"start": "node read_write.js",
"test": "echo \"Error: no test specified\" && exit 1"
@kieranbarker
kieranbarker / file_exists.js
Last active Apr 14, 2022
Asynchronously check if a file exists in Node.js.
View file_exists.js
//
// Callback API
//
import { access, constants } from 'fs';
const file = 'package.json';
access(file, constants.F_OK, error => {
if (error) {
@kieranbarker
kieranbarker / states.json
Created Oct 4, 2021
All 50 US states as a JSON array.
View states.json
[
"alabama",
"alaska",
"arizona",
"arkansas",
"california",
"colorado",
"connecticut",
"delaware",
"florida",
@kieranbarker
kieranbarker / serve
Last active Sep 5, 2021
.zshrc alias for simple Python server
View serve
# Alias for simple Python server
serve() {
python3 -m http.server $1
}
@kieranbarker
kieranbarker / array_at.js
Created May 16, 2021
Return the item at the given index in the array, allowing for positive and negative integers. Negative integers count back from the last item in the array.
View array_at.js
/**
* Return the item at the given index in the array, allowing for positive and
* negative integers. Negative integers count back from the last item
* in the array.
*
* {@link https://gist.github.com/kieranbarker/1bb4ae463f3cd8138b4805983de49f4d}
*
* @param {Array} array The array
* @param {Number} index The index
* @returns {*} The item at the given index