Skip to content

Instantly share code, notes, and snippets.

View mmontone's full-sized avatar

Mariano Montone mmontone

View GitHub Profile
@mmontone
mmontone / machine.js
Created September 27, 2019 21:07
Generated by XState Viz: https://xstate.js.org/viz
const UINavigator = Machine({
id: 'UI',
initial: 'running',
states: {
running: {
initial: 'home',
states: {
home: {
entry: ['home'],
@mmontone
mmontone / machine.js
Last active September 27, 2019 18:51
Generated by XState Viz: https://xstate.js.org/viz
const UINavigator = Machine({
id: 'UI',
initial: 'running',
states: {
running: {
initial: 'home',
states: {
home: {
entry: ['home'],
@mmontone
mmontone / mongo-rest.py
Created March 5, 2019 01:58
Simple MongoDB rest API with Python
from flask import Flask
from flask import jsonify
from flask import request
from flask_pymongo import PyMongo
from flask.json import JSONEncoder
from bson.objectid import ObjectId
from flask_cors import CORS
class CustomJSONEncoder(JSONEncoder):
@mmontone
mmontone / tile-code-generation.lisp
Created March 4, 2019 16:09
Tile like code generation with fmt
;; http://250bpm.com/blog:149
(ql:quickload :fmt)
(ql:quickload :access)
(defparameter *data*
'(("Afghanistan" . "Kabul")
("Brazil" . "Brasilia")
("Canada" . "Ottawa")))
(defpackage :plump-xpath
(:use :cl))
(in-package :plump-xpath)
(defstruct plump-attribute
name val)
(defun plump-node-attributes (node)
(loop for name being the hash-keys of (plump-dom:attributes node)
@mmontone
mmontone / clgshell.py
Created February 11, 2019 22:15
Python clg (command line generator) shelll extensions
# clgshell
#
# clgshell is an extension to python-clg (command line generator) for writing shell commands
#
# Usage:
#
# 1. create a commands.py file
# 2. import clgshell from there
# 3. use @cmd decorator for defining shell commands
# 4. reference those commands from YAML python-clg spec:
@mmontone
mmontone / html2who.lisp
Created February 3, 2019 21:27
Convert HTML to CL-WHO templates
(defpackage html2who
(:use :cl))
(in-package :html2who)
(defun empty-string-p (string)
(let ((empty-chars (list #\space #\newline #\return #\tab)))
(every (lambda (char)
(member char empty-chars))
string)))
@mmontone
mmontone / Morphic-Layouts-Table.st
Created July 10, 2018 15:53
Simple Table layout for Cuis Smalltalk
!classDefinition: #TableCellMorph category: #'Morphic-Layouts-Table'!
BorderedRectMorph subclass: #TableCellMorph
instanceVariableNames: 'hAlignment vAlignment hResizing vResizing padding'
classVariableNames: ''
poolDictionaries: ''
category: 'Morphic-Layouts-Table'!
!TableCellMorph commentStamp: '<historical>' prior: 0!
A table cell.
It's instances are added as submorphs to a TableLayoutMorph.!
@mmontone
mmontone / who-templates.lisp
Last active July 26, 2017 21:20
CL-WHO templating system
(defpackage :who-templates
(:nicknames :whot)
(:use :cl)
(:export
:deftemplate
:block
:include
:parent
:render-template
:render-template-to-string
@mmontone
mmontone / 2FA-test.lisp
Last active July 13, 2017 16:43
2FA test - Two Factor Authentication test via FreeOTP and Common Lisp
(ql:quickload :cl-base32)
(ql:quickload :hunchentoot)
(ql:quickload :cl-one-time-passwords)
(ql:quickload :cl-qrencode)
(ql:quickload :cl-pass)
(ql:quickload :babel)
(ql:quickload :flexi-streams)
(ql:quickload :cl-who)
(ql:quickload :ironclad)