Skip to content

Instantly share code, notes, and snippets.

View Bamieh's full-sized avatar

Ahmad Bamieh Bamieh

View GitHub Profile
import qualified Data.ByteString.Lazy as L
import Data.Word (Word8)
data Stats = Stats
{ total :: Int
, count :: Int
}
initStats :: Stats
initStats = Stats 0 0
@Bamieh
Bamieh / Instructions.md
Created September 28, 2017 17:34 — forked from pgilad/Instructions.md
Git commit-msg hook to validate for jira issue or the word merge

Instructions

  • copy the file commit-msg to .git/hooks/commit-msg
  • make sure your delete the sample file .git/hooks/commit-msg.sample
  • Make commit msg executable. chmod +x .git/hooks/commit-msg
  • Edit commit-msg to better fit your development branch, commit regex and error message
  • Profit $$

Shell example

@Bamieh
Bamieh / requestPostList.js
Created August 18, 2017 13:36 — forked from pahund/requestPostList.js
Code Example for Testing a Redux Saga with Mocha
import { push } from 'react-router-redux';
import { takeLatest, call, put } from 'redux-saga/effects';
import config from '../../../config/client';
import { REQUEST_POST_LIST } from '../actions';
import updatePostList from '../actions/updatePostList';
import fetchPostList from './utils/fetchPostList';
import trackPageViewWithGoogleAnalytics from '../actions/trackPageViewWithGoogleAnalytics';
import trackPageViewWithIvw from '../actions/trackPageViewWithIvw';
export function *requestPostList({ threadId, page }) {
@Bamieh
Bamieh / client.js
Created November 11, 2016 09:13 — forked from davidgilbertson/client.js
Node http vs net modules
// This makes two connections, one to a tcp server, one to an http server (both in server.js)
// It fires off a bunch of connections and times the response
// Both send strings.
const net = require(`net`);
const http = require(`http`);
function parseIncomingMessage(res) {
return new Promise((resolve) => {
@Bamieh
Bamieh / destructuring.js
Created October 13, 2016 09:36 — forked from mikaelbr/destructuring.js
Several demos and usages for ES6 destructuring. Runnable demos and slides about the same topic: http://git.mikaelb.net/presentations/bartjs/destructuring
// === Arrays
var [a, b] = [1, 2];
console.log(a, b);
//=> 1 2
// Use from functions, only select from pattern
var foo = () => [1, 2, 3];
@Bamieh
Bamieh / what-forces-layout.md
Created July 21, 2016 10:27 — forked from paulirish/what-forces-layout.md
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Element

Box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
  • elem.clientLeft, elem.clientTop, elem.clientWidth, elem.clientHeight
  • elem.getClientRects(), elem.getBoundingClientRect()
@Bamieh
Bamieh / app.html
Last active April 17, 2016 06:58 — forked from ebidel/app.html
Fast Polymer app loading (Promises version) - optimized for first render, progressively enhanced lazy loading
<!DOCTYPE html>
<html class="no-scroll">
<head>
<style>
.no-scroll,
body.loading-app {
overflow: hidden;
}
body.loading-app #splash-screen {
opacity: 1;
/*!
* jQuery Tiny Pub/Sub - v0.X - 11/18/2010
* http://benalman.com/
*
* Original Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*
* Made awesome by Rick Waldron
*