Skip to content

Instantly share code, notes, and snippets.

View lguzzon's full-sized avatar
Quality Is Free - Getting There Isn't

Luca Guzzon lguzzon

Quality Is Free - Getting There Isn't
View GitHub Profile
@lguzzon
lguzzon / captureAjaxResponses.js
Last active December 20, 2015 16:39 — forked from markstreich/gist:3667944
PhantomJS script that is working for me ... the up-stream no
var page = require('webpage').create();
page.onInitialized = function () {
captureAjaxResponsesToConsole();
};
page.open('http://www.website.com/', function (status) {
if (status === 'success') {
phantom.exit();
} else {
import Map;
class OrderedMapIterator<K,V> {
var map : OrderedMap<K,V>;
var index : Int = 0;
public function new(omap:OrderedMap<K,V>)
map = omap;
public function hasNext() : Bool
/**
* This Google Sheets script keeps data in the specified column sorted any time
* the data changes.
*
* After much research, there wasn't an easy way to automatically keep a column
* sorted in Google Sheets, and creating a second sheet to act as a "view" to
* my primary one in order to achieve that was not an option. Instead, I
* created a script that watches for when a cell is edited and triggers
* an auto sort.
*
@lguzzon
lguzzon / Main.hx
Created June 6, 2017 07:41 — forked from jcward/Main.hx
Haxe String.split() is 100x slower in macro context than runtime?!
class Main
{
public static var text:String;
public static function main()
{
var text = "";
in_macro();
import httpclient, asyncdispatch, strutils, tables, unicode, json, math, times
const
ForecastUrlFormat = "http://api.openweathermap.org/data/2.5/forecast/daily?APPID=$1&lang=en&q=$2&cnt=$3"
ResultFormat = """$1:
$2
Temperature: $3 °C
Humidity: $4%
Clouds: $5%
@lguzzon
lguzzon / parsers.nim
Created September 1, 2017 12:01 — forked from kmizu/parsers.nim
parser combinator library in Nim
import strutils
import lists
import re
type
Parser[T] = proc(input: string): Maybe[(T, string)]
Maybe*[T] = object
value: T
hasValue: bool
import macros
macro doNothing(input: untyped): untyped =
echo treeRepr input
result = input
echo input.toStrLit
doNothing:
echo "hello world"
@lguzzon
lguzzon / how-to-install-latest-gcc-on-ubuntu-lts.txt
Created January 8, 2018 11:20 — forked from application2000/how-to-install-latest-gcc-on-ubuntu-lts.txt
How to install latest gcc on Ubuntu LTS (12.04, 14.04, 16.04)
These commands are based on a askubuntu answer http://askubuntu.com/a/581497
To install gcc-6 (gcc-6.1.1), I had to do more stuff as shown below.
USE THOSE COMMANDS AT YOUR OWN RISK. I SHALL NOT BE RESPONSIBLE FOR ANYTHING.
ABSOLUTELY NO WARRANTY.
If you are still reading let's carry on with the code.
sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
@lguzzon
lguzzon / script-template.sh
Created December 15, 2020 09:16 — forked from m-radzikowski/script-template.sh
Minimal safe Bash script template - see the article with full description: https://betterdev.blog/minimal-safe-bash-script-template/
#!/usr/bin/env bash
set -Eeuo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1
trap cleanup SIGINT SIGTERM ERR EXIT
usage() {
cat <<EOF
@lguzzon
lguzzon / kustomize-deploy.sh
Created December 23, 2021 18:28 — forked from colinjfw/kustomize-deploy.sh
Kubernetes deployment strategy using Kustomize and a few basic tools. Replaces helm charts with simple tooling solutions.
# Kustomize based apply workflow. Requires jq, yq, kubectl, kustomize, mustache.
#
# Expected variables
# - namespace Namespace for all resources.
# - release A unique name to give to this collection of manifests.
# - revision Release revision.
# - images Image replacements.
# - variables Variable replacements.
#
# Example inputs: