Skip to content

Instantly share code, notes, and snippets.

@ahamid
ahamid / machine.js
Created January 20, 2022 21:20
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@ahamid
ahamid / postcss-function-sass-color-mod
Created September 18, 2019 17:26
implement sass color functions on top of postcss-color-function/postcss-functions
// reproduce sass darken/lighten/fade function syntax on top of
// postcss-color-function (https://github.com/postcss/postcss-color-function) via
// postcss-functions https://github.com/andyjansson/postcss-functions
// https://github.com/jonathantneal/precss/issues/38
// postcss-sass-colors.js
const colorFn = require('css-color-function')
function applyFn(value, fn, frac) {
return colorFn.convert('color(' + value + ' ' + fn + '(' + frac + '))')
@ahamid
ahamid / Dockerfile
Created July 17, 2019 21:56
Docker tutorial part3
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
@ahamid
ahamid / gist:4064dc457a80ced1ab29
Created October 24, 2014 03:18
Express recursive route matching can overflow stack
var express = require("express");
var app = express();
var TOO_MANY = 8000;
function handler(req, res) {
res.send("handler");
}
// test higher routes, eventually you will get
@ahamid
ahamid / gist:3777562
Created September 24, 2012 18:44
google closure compiler, type in IIFE
/**
* @typedef {Object}
*/
var vendor = Vendor = {};
///**
// * @constructor
// */
//Vendor.VendorType = function() {};
@ahamid
ahamid / gist:3764001
Created September 21, 2012 21:25
closure compiler / rhino - find source of RValue
/**
* Copyright 2012 Incandescent Software LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@ahamid
ahamid / gist:3626285
Created September 4, 2012 20:49
Comfortable Mexican Sofa render CMS content as partial
# config/initializers/comfortable_mexican_sofa.rb
require 'cms_renderer'
# lib/cms_renderer.rb
require 'action_view/renderer/renderer'
require 'action_view/renderer/template_renderer'
class CMSRenderer < ActionView::TemplateRenderer
@ahamid
ahamid / spec_helper.rb
Created July 29, 2012 05:10
benchmark + profile RSpec test
require 'ruby-prof'
require 'benchmark'
module BenchmarkHelpers
PROFILE_OUTPUT_DIR = "profiling"
def self.safe_filename(name)
name.gsub(" ", "_")
end
def self.example_output_target_file!(example)
@ahamid
ahamid / replace.go
Created July 4, 2012 05:45
whole file regexp replacement in go
package main
import (
"regexp"
"os"
"io/ioutil"
)
func main() {
regexp, _ := regexp.Compile(os.Args[1])
@ahamid
ahamid / restorecon.rb
Created June 27, 2012 22:30
chef restorecon helper
libraries/restorecon.rb
def restorecon_cmd(path)
%Q(restorecon "#{path}")
end
# restores selinux label for path
def restorecon(path)
execute restorecon_cmd(path) do
action :nothing