Skip to content

Instantly share code, notes, and snippets.

View JustinSDK's full-sized avatar
👨‍👩‍👧
Working from home

Justin Lin JustinSDK

👨‍👩‍👧
Working from home
View GitHub Profile
@JustinSDK
JustinSDK / gossip-0.1.js.md
Last active December 12, 2015 03:18
The Example of "JavaScript Essence: Writing a Utility Library"

The Example of JavaScript Essence: Writing a Utility Library

(function(global) {
    var XD = {
        trim: function(text) {
            return (text || '').replace( /^(\s|\u00A0)+|(\s|\u00A0)+$/g, '');
        },
        isArray: function(obj) {
            return Object.prototype.toString.call(obj) === '[object Array]';
@JustinSDK
JustinSDK / gossip-0.2.js.md
Last active March 2, 2019 14:50
The Example of "JavaScript Essence: Writing A DOM Library"
@JustinSDK
JustinSDK / gossip-0.3.js.md
Last active December 14, 2015 01:49
The Example of "JavaScript Essence: Writing an Event Library"
@JustinSDK
JustinSDK / gossip-0.4.js.md
Last active December 14, 2015 15:09
The Example of "JavaScript Essence: Writing a Style Library"
@JustinSDK
JustinSDK / gossip-0.5.js.md
Last active December 15, 2015 02:09
The Example of "JavaScript Essence: Writing an Ajax Library"
@JustinSDK
JustinSDK / Quine.java
Last active September 21, 2020 01:35
The Java example of "AlgorithmGossip: Quine"
import static java.lang.System.out;
public class Quine{
public static void main(String[] args){
String h="import static java.lang.System.out;\npublic class Quine{\n public static void main(String[] args){\n";
String d="String h=String d=String s=String c=";
String s="\"\\n;} ";
String c=" out.println(h+s.substring(5)+d.substring(0,9)+s.charAt(0)+(h.substring(0,35)+s.substring(1,3))+h.substring(36,55)+s.substring(1,3)+h.substring(56,97)+s.substring(1,3)+s.charAt(0)+s.charAt(3));out.println(s.substring(5)+d.substring(9,18)+s.charAt(0)+d+s.charAt(0)+s.charAt(3));out.println(s.substring(5)+d.substring(18,27)+s.charAt(0)+s.charAt(1)+s.charAt(0)+s.charAt(1)+s.charAt(1)+s.substring(2)+s.charAt(0)+s.charAt(3));out.println(s.substring(5)+d.substring(27)+s.charAt(0)+c+s.charAt(0)+s.charAt(3)); out.println(c+s.substring(7)+s.charAt(4)+s.charAt(4));";
out.println(h+s.substring(5)+d.substring(0,9)+s.charAt(0)+h.substring(0,35)+s.substring(1,3)+h.substring(36,55)+s.substring(1,3)+h.substring
@JustinSDK
JustinSDK / quine.rb
Last active September 21, 2020 01:41
The Ruby example of "AlgorithmGossip: Quine"
s="print('quine')";v="s=v=l=p=";l='";\'\\';p="print(v[0,2]+l[0]+s+l[0,2]+v[2,2]+l[0]+v+l[0]+l[1]+v[4,2]+l[2]+l[0,2]+l[3]+l[2]+l[3]+l[3]+l[2]+l[1]+v[6,2]+l[0]+p+l[0]+l[1]+p)";print(v[0,2]+l[0]+s+l[0,2]+v[2,2]+l[0]+v+l[0]+l[1]+v[4,2]+l[2]+l[0,2]+l[3]+l[2]+l[3]+l[3]+l[2]+l[1]+v[6,2]+l[0]+p+l[0]+l[1]+p)
@JustinSDK
JustinSDK / Quine.scala
Last active September 21, 2020 01:41
The Scala example of "AlgorithmGossip: Quine"
val s="print(\"quine\")";val v="val s=val v=val c=val p=";val c="\\\";";val p="print(v.slice(0,6)+c(1)+s.slice(0,6)+c.slice(0,2)+s.slice(7,12)+c.slice(0,2)+s.last+c.slice(1,3)+v.slice(6,12)+c(1)+v+c.slice(1,3)+v.slice(12, 18)+c(1)+c(0)+c(0)+c(0)+c.slice(1,3)+c.slice(1,3)+v.slice(18, 24)+c(1)+p+c.slice(1,3)+p)";print(v.slice(0,6)+c(1)+s.slice(0,6)+c.slice(0,2)+s.slice(7,12)+c.slice(0,2)+s.last+c.slice(1,3)+v.slice(6,12)+c(1)+v+c.slice(1,3)+v.slice(12, 18)+c(1)+c(0)+c(0)+c(0)+c.slice(1,3)+c.slice(1,3)+v.slice(18, 24)+c(1)+p+c.slice(1,3)+p)
@JustinSDK
JustinSDK / fibonacci_number.py
Created August 9, 2013 08:20
Fibonacci number in a line.
print((lambda n: (lambda f: [f(i, f) for i in range(0, n)]))(10)(lambda n, fib: n if(n == 0 or n == 1) else fib(n - 1, fib) + fib(n - 2, fib)))
@JustinSDK
JustinSDK / YCombinatorPython.md
Last active December 31, 2015 19:49
Y Combinator Python 版

The Y Combinator explained with JavaScript 用 JavaScript 程式碼來解釋何謂 Y Combinator,為了更瞭解 Y Combinator,我自己實作了一個,暫記過程如下 ...


def y(f):
    r = lambda n: f(r)(n)
    return f(r)
    
y(lambda fact: lambda n: 1 if n < 2 else n * fact(n - 1))(3) // 6