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 / 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++
@alexwilson
alexwilson / keybase.md
Created October 18, 2016 10:19
Keybase Verification

Keybase proof

I hereby claim:

  • I am antoligy on github.
  • I am antoligy (https://keybase.io/antoligy) on keybase.
  • I have a public key whose fingerprint is B5E9 8AE7 DDB8 B82E B375 E2CF DE20 36C6 B4D2 F38E

To claim this, I am signing this object:

@alexwilson
alexwilson / ezpublish-sob.php
Created September 23, 2016 14:43
how to curl up into a fetal position and cry
<?php // Why does syntax highlighting need this?
use eZ\Publish\Core\MVC\Symfony\Security\User as EzUser;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
$securityContext = $container->get('security.context');
$router = $container->get('router');
$requestStack = $container->get('request_stack');