Skip to content

Instantly share code, notes, and snippets.

View alexwilson's full-sized avatar
🎧
i only speak techno.

Alex Wilson alexwilson

🎧
i only speak techno.
View GitHub Profile
@alexwilson
alexwilson / README.md
Last active September 24, 2020 07:24
Alex's Bakery - A Cooke Clicker autoclicker, using its official API

Alex's Bakery

What is this?**

In short, an auto-clicker for cookie-clicker.

How do I use this?**

This is bookmarklet friendly! You can drag & drop the following link into your bookmarks, or alternatively, directly into the game: Bookmarklet

Alternatively copy the below code, and save it as a bookmark.

<?php declare(strict_types=1);
namespace AppBundle\EventListener;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\{GetResponseEvent, FilterResponseEvent};
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpFoundation\HeaderBag;
class SpecialistPreflightLegacyHandler implements EventSubscriberInterface
@alexwilson
alexwilson / specialist-tech-test.md
Last active July 1, 2022 09:09
Specialist Tech Test

Gopher translator service

Gophers are friendly creatures but it’s not that easy to communicate with them. They have their own language and they don’t understand English.

Create a program that starts a http server. This server should be able to translate English words into words in the gophers' language. Don't worry, the gophers' language is pretty easy.

The language that the gophers speak is a modified version of English and has a few simple rules.

  1. If a word starts with a vowel letter, add prefix “g” to the word (ex. apple => gapple)
  2. If a word starts with the consonant letters “xr”, add the prefix “ge” to the begging of the word. Such words as “xray” actually sound in the beginning with vowel sound as you pronounce them so a true gopher would say “gexray”.
  3. If a word starts with a consonant sound, move it to the end of the word and then add “ogo” suffix to the word. Consonant sounds can be made up of multiple consonants, a.k.a. a consonant cluster (e.g. "chair" -> "airchogo”).
@alexwilson
alexwilson / ez-reset-admin-password.sql
Created August 21, 2018 14:31
eZ Platform - Reset Admin Password
SET @key = 'test123456789';
SET @username = 'admin';
SET @del = '\n';
SET @hash = MD5(CONCAT(@username,@del,@key));
UPDATE ezuser SET password_hash=@hash WHERE login=@username;
@alexwilson
alexwilson / reverse-symlink.sh
Created July 30, 2017 12:05
reverse-symlink.sh
@alexwilson
alexwilson / eZDeleteUsers.php
Created June 19, 2017 11:16
eZDeleteUsers.php
#!/usr/bin/env php
<?php
include_once('autoload.php');
ini_set("memory_limit", "-1");
ini_set("date.timezone", "Europe/London");
$cli =& eZCLI::instance();
$script =& eZScript::instance();
$script->startup();
@alexwilson
alexwilson / README.md
Last active January 7, 2017 16:30
QuerySelectorAll jQuery-Like Helper
import $$ from '$$'
$$('p').forEach(a => a.innerText = "yolo")
@alexwilson
alexwilson / m_gender_pronouns.cpp
Last active September 27, 2020 21:22
Gender Identity and Preferred Gender Pronoun module for InspIRCd
#include "inspircd.h"
/**
* m_gender_pronouns.cpp
* Introduces two new commands, SETGENDER and SETPRONOUN,
* allowing a user to specify their gender identity and
* preferred gender pronouns.
*
* Copyright (c) 2017 Alex Wilson <[email protected]>
*
const SITEMAP_CACHE_KEY = 'sitemap-cached-pages-v1'
self.addEventListener('install', event => {
event.waitUntil(cacheSitemap())
})
const cacheSitemap = _ => caches.open(SITEMAP_CACHE_KEY)
.then(cache =>
cacheSitemap()
.then(urls => urls.map(u => u.toString()))
// Reduce a list by cancelling pairs of values.
// e.g. cancelByPair('LLLRLRLRLR', 'L', 'R') === 'LL'
function cancelByPair(list, firstValue, secondValue) {
// First filter out all of these values, and count them as we go.
let count = 0;
const cancelledList = list.filter(c => {
switch (c) {
case firstValue:
count++