Skip to content

Instantly share code, notes, and snippets.

@eginez
eginez / GroovyTemplateTagLib.groovy
Created November 20, 2015 04:40
grails taglib to create groovy templates inside a gsp
package com.mtail.taglib
import groovy.text.markup.MarkupTemplateEngine
class GroovyTemplateTagLib {
//static encodeAsForTags = [tagName: [taglib:'html'], otherTagName: [taglib:'none']]
def markupEngine = new MarkupTemplateEngine()
def gtrender = { attrs, body ->
@eginez
eginez / Grammar.groovy
Created December 29, 2015 07:27
toy lexer+ parser
package org.eginez.gParser
import java.io.BufferedReader
import java.io.InputStreamReader
import groovy.transform.CompileStatic
import groovy.transform.ToString
import static TokenType.*
import groovy.util.logging.Slf4j
@eginez
eginez / GitHelp.md
Last active September 21, 2018 16:35
Some git commands do deal with dayli tasks and submodules

Git commands

Delete remotely

git push origin --delete <branch_name>

Prune local branches

git remote prune origin —dry-run git remote prune origin

Reset branch to commit

@eginez
eginez / main.go
Created June 10, 2017 17:25
Go server and client with channels
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"time"
)
@eginez
eginez / server.go
Last active June 10, 2017 21:36
Provides a simple web server (a la python SimpleHttpServer)
// Provides a simple web server (a la python SimpleHttpServer) that will serve from
// the current location or from an argument passed in as parameter
// it requires the port as parameter
package main
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
@eginez
eginez / namespaces.cljs
Created July 28, 2017 04:37
namespaces clojure
(in-ns 'namespace.core)
@eginez
eginez / gist:4eaec53510d7e9928956e37fec9f478d
Last active September 18, 2017 00:31
chrome headless input sample
const puppeteer = require('puppeteer')
var page
var browser
var username = proccess.env.USERNAME
var pass = proccess.env.PASS
puppeteer.launch()
.then(b => {
browser = b
return b.newPage()})
@eginez
eginez / main.go
Created November 25, 2017 02:12
hashcash proof of work
package main
import (
"bytes"
"crypto/sha256"
"encoding/hex"
"fmt"
"time"
"strconv"
)
@eginez
eginez / main.go
Created December 7, 2017 04:31
Simple null retrier and time-count based retrier
package main
import (
"fmt"
"time"
)
//RetryPolicy wraps a retry policy
type RetryPolicy interface {
Next(c chan interface{})
@eginez
eginez / main.go
Created December 30, 2017 20:33
playing with go crypto
package main
import (
"crypto/rand"
"crypto/rsa"
"crypto/sha1"
"crypto/x509"
"encoding/hex"
"encoding/pem"
"fmt"