Skip to content

Instantly share code, notes, and snippets.

Tamlyn Rhodes tamlyn

Block or report user

Report or block tamlyn

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View percy-dom-transformation.js
function removeOrigin(dom) {
let origin = window.location.origin;
let $internalElements = dom.querySelectorAll(`[href^="${origin}"],[src^="${origin}"]`);
for (let $el of $internalElements) {
const attr = $el.hasAttribute('href') ? 'href' : 'src';
const value = $el.getAttribute(attr);
$el.setAttribute(attr, value.replace(origin, ''));
return dom
tamlyn / cartpole.ipynb
Last active Apr 27, 2020
OpenAI Gym CartPole-v1 with Pytorch 1.0
View cartpole.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
tamlyn / Barknet.ipynb
Created Nov 23, 2018
Error when training
View Barknet.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View example.es5.js
'use strict';
var fact = function () {
var _ref = _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var response, data;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = {
case 0: = 2;
View example.es2015.js
'use strict';
let fact = (() => {
var _ref = _asyncToGenerator(function* () {
const response = yield fetch('');
const data = yield response.json();
return data.fact;
return function fact() {
View example.es2017.js
async function fact() {
const response = await fetch('')
const data = await response.json()
return data.fact
tamlyn / scrape.js
Last active Mar 23, 2018
Scrape statements from First Direct internet banking
View scrape.js
//////// CONFIG /////////
// your first direct user name
const username = ''
// your password (the one it asks for characters from)
const password = ''
// your memorable word
const memorable = ''
// set to false if you want to see the browser window as it runs
const headless = true
tamlyn / cypress.test.js
Created Mar 8, 2018
Example Cypress test suite
View cypress.test.js
// a very short Cypress test suite
describe('Admin user', () => {
it('Create posts journey', () => {
const postTitle = 'Hello testing'
cy.get('table tr:last label').should('contain', postTitle)
tamlyn / testcafe.test.js
Created Mar 8, 2018
Example TestCafe test suite
View testcafe.test.js
// a very short TestCafe test suite
fixture('Admin user')
test('Create posts journey', t => {
const postTitle = 'Hello testing'
return t
.typeText(ReactSelector('PostCreator FormControl'), postTitle)
.click(ReactSelector('PostCreator Button'))
tamlyn /
Last active Mar 5, 2018
Redacting fields in GraphQL with Apollo Server

Demo showing that by specifying a resolver for a scalar property, you can override the value.

This is useful for authorization as it means you can centrally check permissions per field. Your general resolvers can return whole objects without caring about which fields the current user may or may not be allowed to see.

You can’t perform that action at this time.