Skip to content

Instantly share code, notes, and snippets.

View ZhangYiJiang's full-sized avatar
🎼
Practising his hemidemisemiquaver

Zhang Yi Jiang ZhangYiJiang

🎼
Practising his hemidemisemiquaver
View GitHub Profile
@ZhangYiJiang
ZhangYiJiang / cors.user.js
Created August 12, 2016 04:26
Reorder CORS tutorial ranking using drag and drop
// ==UserScript==
// @name CORS Tutorial Reordering
// @namespace yijiang
// @description Reorder CORS tutorial ranking using drag and drop
// @include https://myaces.nus.edu.sg/cors/RankTutorialServlet
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
// @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js
// @version 1
// @grant none
// ==/UserScript==
@ZhangYiJiang
ZhangYiJiang / majority.py
Created September 9, 2016 05:48
Finding Majority
from pprint import pprint
def find_majority(lst):
maj = majority(lst)
pprint(maj)
if len(maj) > 1:
return 'Not Found'
else:
return list(maj.keys())[0]
@ZhangYiJiang
ZhangYiJiang / ivle-scraper.user.js
Created September 27, 2016 15:38
Scrapes IVLE for module CourseIDs
// ==UserScript==
// @name Scrapes IVLE Course ID
// @namespace yijiang
// @version 1
// @match https://ivle.nus.edu.sg/v1/lms/list_course.aspx?src=bm&code=&title=&lecName=&acadyear=2016%2f2017&semester=Semester+1&ModTitleExact=N&LecNameExact=N
// @grant none
// ==/UserScript==
function switchPage(page){
$('#GV_Page2').val(page).change();
@ZhangYiJiang
ZhangYiJiang / Event.swift
Last active February 7, 2017 04:17
Typed events for Swift 3
//
// Event.swift
//
/**
Typed event implementation from <http://blog.scottlogic.com/2015/02/05/swift-events.html>
Updated and improved for Swift 3
## Usage
@ZhangYiJiang
ZhangYiJiang / AddUser.php
Created May 5, 2016 12:16
Add user command for Laravel
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\User;
class AddUser extends Command
{
/**
// ==UserScript==
// @name IVLE LMS Quiz taker
// @namespace yijiang
// @version 0.1
// @description Completes IVLE LMS modules by randomly clicking on buttons
// @author Zhang Yijiang
// @match https://ivle.nus.edu.sg/Databank/LMS/*
// ==/UserScript==
(function(window){
echo file_get_contents('this_is_the_flag.php');
@ZhangYiJiang
ZhangYiJiang / extract.js
Last active December 25, 2017 07:47
v2 -> v3 data migration test scripts
// NUSMods v2 timetable data extractor
var loaderTemplate = data => `
var s = document.createElement('script');
s.src = 'https://cdnjs.cloudflare.com/ajax/libs/localforage/1.5.5/localforage.min.js';
s.onload = function() {
const data = ${data};
let count = 0;
var c = `
localStorage.clear();
localStorage.setItem('reduxState', JSON.stringify(${localStorage.getItem('reduxState')}));
window.location.reload();`;
if (typeof copy === 'function') {
console.info('Go to https://deploy-preview-669--nusmods.netlify.com/ and paste the code that has been copied into the console');
copy(c);
} else {
console.info('Go to https://deploy-preview-669--nusmods.netlify.com/ and paste this into the console');
@ZhangYiJiang
ZhangYiJiang / innovations.json
Created August 21, 2018 06:22
Netexplo Innovations
[
{
"title": "Hyphen",
"description": "A call centre run by chatbots"
},
{
"title": "Aquapioneers Ecosystem",
"description": "Grow your zero-km food with aquaponics"
},
{