Skip to content

Instantly share code, notes, and snippets.

View davidnuon's full-sized avatar
🥙

David Nuon davidnuon

🥙
View GitHub Profile
@echo off
echo.
echo An Ode to cmd.exe
echo =================
echo.
echo You've been with me
echo since the past century
echo From 3.1 to XP, and beyond.
echo.
echo Oh, how I hate you so.
@davidnuon
davidnuon / gist:2869932
Created June 4, 2012 18:08
python script to generate a class for a wordpress post, just change the fields to make it into anything you want.
fields = """wp_posts
id
post_author
post_date
post_date_gmt
post_content
post_title
post_category
post_excerpt
post_status
@davidnuon
davidnuon / css_gen.py
Created June 10, 2012 18:52
Python script that goes through an html file and prints a css file with selectors seen.
#!/usr/bin/env python
"""
css_gen.py < stdin
Reads through the input (should be an html file), looking for classes and ids, and
and then grouping them by similar name. It then prints out the text for a CSS file.
The CSS file has all selectors, for each selector it has no properties.
@davidnuon
davidnuon / gist:3036809
Created July 3, 2012 01:11
One-liner in python to list all prime numbers from 2 to n
primelist = lambda n : [x for x in xrange(2, n) if not 0 in map(lambda z : x % z, xrange(2,x))]
print ", ".join(map(str, primelist(100)))
@davidnuon
davidnuon / triplevector.py
Created October 2, 2012 06:20
Class for a 3D vector in Python
class TripleVector:
x = 0
y = 0
z = 0
def __init__(self, x, y, z):
self.x = float(x)
self.y = float(y)
self.z = float(z)
@davidnuon
davidnuon / gist:3919739
Created October 19, 2012 18:13
Checking if two cube nets are of the same
# Sample nets for cubes
net_T = [(0,0), (0,2), (0,1), (1,1), (2,1),(3,1)]
net_t = [(1,0), (1,2), (1,1), (0,1), (2,1),(3,1)]
# Another net
good = [(0,3), (0,5), (0,4), (1,4), (2,4),(3,4)]
deviant = [(0,3), (0,4), (0,5), (1,4), (2,4),(1,3)]
# Grid to layout the net
space = map(lambda x : [0,0,0,0,0,0], xrange(0, 5))
@davidnuon
davidnuon / invmod_trainer.py
Created December 12, 2012 07:12
Inverse Modulo Trainer, because arithmetic is hard.
import random as r
smallprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1

This is an example of how to scaffold API endpoints to list / get / create / update / delete Posts in a Keystone website.

It's a modification of the default project created with the yo keystone generator (see https://github.com/JedWatson/generator-keystone)

Gists don't let you specify full paths, so in the project structure the files would be:

routes-index.js        -->    /routes/index.js         // modified to add the api endpoints
routes-api-posts.js    -->    /routes/api/posts.js     // new file containing the Post API route controllers
// svg.textflow.js 0.8 - Copyright (c) 2013 Wout Fierens - Licensed under the MIT license
SVG.Textflow = function() {
this.constructor.call(this, SVG.create('text'))
/* define default style */
this.styles = {
'font-size': 16
, 'font-family': 'Helvetica, Arial, sans-serif'
, 'text-anchor': 'start'
@davidnuon
davidnuon / HaskellCalculus.hs
Created November 8, 2015 03:15
Some Haskell Functions on Polynomials
module Main where
type Zahlen = Float
data Term degree coefficient = Term Zahlen Zahlen deriving (Show, Eq)
type Polynomial = [Term Zahlen Zahlen]
zeroPolynomial = Term 0 0
pDerive (Term 0 n) = zeroPolynomial
pDerive (Term d n) = Term (d - 1) (n * d)