Skip to content

Instantly share code, notes, and snippets.

View alfonsodev's full-sized avatar
🏠
Working from home

Alfonso alfonsodev

🏠
Working from home
View GitHub Profile
function hex_sha1(s) {
return binb2hex(core_sha1(str2binb(s), s.length * chrsz));
}
function b64_sha1(s) {
return binb2b64(core_sha1(str2binb(s), s.length * chrsz));
}
function str_sha1(s) {
return binb2str(core_sha1(str2binb(s), s.length * chrsz));
@alfonsodev
alfonsodev / gist:10597209
Created April 13, 2014 18:56
gandi.net ssl https
Gandi.net ssl certificate working with haproxy
In one file concatenate the certifcate with the private key (domain.pem in the example)
In other file just the intermediate ceritificate (gandi.ca.pem in the example) then in your haproxy.cfg
bind *:443 ssl crt /home/.ssh/domain.pem ca-file /home/.ssh/gandi.ca.pem
frontend https-in
bind *:443 ssl crt /home/.ssh/domain.pem ca-file /home/.ssh/gandi.ca.pem
timeout client 1h
{
"_id": "_design/example",
"views": {
"foo": {
"map": "function(doc){ emit(doc._id, doc._rev)}"
}
},
"updates": {
"lib": {
"libjsonpatch": "var jsonpatch;(function(e){function i(e,i){var s=false,o=0,u=i.length,a;while(o<u){a=i[o];var f=a.path.split(\"/\");var l=e;var c=1;var h=f.length;while(true){if(r(l)){var p=parseInt(f[c],10);c++;if(c>=h){s=n[a.op].call(a,l,p,e);break}l=l[p]}else{var d=f[c];if(d.indexOf(\"~\")!=-1)d=d.replace(/~1/g,\"/\").replace(/~0/g,\"~\");c++;if(c>=h){s=t[a.op].call(a,l,d,e);break}l=l[d]}}o++}return s}var t={add:function(e,t){e[t]=this.value;return true},remove:function(e,t){delete e[t];return true},replace:function(e,t){e[t]=this.value;return true},move:function(e,t,n){var r={op:\"_get\",path:this.from};i(n,[r]);i(n,[{op:\"remove\",path:this.from}]);i(n,[{op:\"add\",path:this.path,value:r.value}]);return true},copy:function(e,t,n){var r={op:\"_get\",path:this.from};i(n,[r]);i(n,[{op:\"add\",path:this.path,value:r.value}]);re
package main
/*
* Script that scrapes google front page
* Usage: ./google [<query>]
* e.g. ./google hacker news
*/
import (
"fmt"
@alfonsodev
alfonsodev / designer.html
Created November 26, 2014 13:38
designer
<link rel="import" href="../topeka-elements/theme.html">
<link rel="import" href="../topeka-elements/topeka-resources.html">
<link rel="import" href="../topeka-elements/topeka-app.html">
<link rel="import" href="../ace-element/ace-element.html">
<link rel="import" href="../cool-clock/cool-clock.html">
<link rel="import" href="../chart-js/chart-js.html">
<polymer-element name="my-element">
<template>
@alfonsodev
alfonsodev / tmux
Created November 28, 2014 10:29
tmux configuration
$ vim ~/.tmux.conf
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mode-mouse on
set -g default-terminal "screen-256color"
:x!
@alfonsodev
alfonsodev / find_process_by_port
Created November 29, 2014 11:28
find process by port number that is listening
lsof -i :9988
@alfonsodev
alfonsodev / designer.html
Last active August 29, 2015 14:11
designer
<link rel="import" href="../topeka-elements/theme.html">
<link rel="import" href="../topeka-elements/topeka-resources.html">
<link rel="import" href="../topeka-elements/topeka-app.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;
@alfonsodev
alfonsodev / go-reflection.go
Created March 11, 2015 21:22
go reflection example
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string
Age int