Skip to content

Instantly share code, notes, and snippets.

View eboukamza's full-sized avatar

Elias Boukamza eboukamza

  • hirodev
  • anywhere with fiber
View GitHub Profile
@eboukamza
eboukamza / Dockerfile
Created May 20, 2020 11:16
Docker file for nodejs app
FROM node:12-slim
WORKDIR /usr/src/app
COPY package.json package*.json ./
RUN npm install only=production
copy . .
CMD ["npm", "start"]
@eboukamza
eboukamza / ir-calculator.js
Last active October 18, 2018 12:48
IR tax calculator made in vanilla JS (functional programming paradigm)
const rateOf = rate => amount => amount * rate
const forInterval = (min, max) => amount => Math.max(Math.min(max || amount, amount) - min, 0)
const taxBracket = (rate, interval) => amount => rate(interval(amount))
const taxCollect = (amount) => (sum, tax) => sum + tax(amount);
const netAmountOf = tax => amount => amount - tax(amount)
const taxApply = (amount, tax) => tax(amount)
const bracket0 = taxBracket(rateOf(0), forInterval(0, 9807))
const bracket14 = taxBracket(rateOf(0.14), forInterval(9807, 27086))
const bracket30 = taxBracket(rateOf(0.30), forInterval(27086, 72617))
@eboukamza
eboukamza / .gitconfig
Last active November 25, 2019 19:21
my gitconfig
[color]
ui = true
[core]
autocrlf = input
safecrlf = true
[alias]
co = checkout
ci = commit
st = status -s
hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
@eboukamza
eboukamza / money-flow.js
Last active April 24, 2018 12:48
money flow
const {compose, pipe, map, sum, curry} = require('ramda');
const rateOf = curry((rate, amount) => amount * rate)
const forInterval = (min, max) => amount => Math.max(Math.min(max || amount, amount) - min, 0)
const taxApply = amount => tax => tax(amount)
const tax = taxBrackets => amount => compose(sum, map)(taxApply(amount), taxBrackets)
const netAmountOf = curry((tax, amount) => amount - tax(amount))
const taxCollect = amount => (sum, tax) => sum + tax(amount) // deprecated
const taxBracket = (rate, min, max) => compose(rateOf(rate), forInterval(min, max)) // deprecated
@eboukamza
eboukamza / gps-convert.utils.js
Last active January 7, 2018 20:54
GPS coord convert utils
/** convert Degrees Minutes Seconds to Decimal Degrees*/
function convertDMStoDd (deg, min, sec, ref) {
let mm = min + sec/60
dd = mm/60;
let C = ref === 'S' || ref === 'W' ? -1 : 1;
return C * (deg + dd).toFixed(7);
}
/** convert latitude/longitude DMS coord to Decimal degrees*/
function convertLatLngDMStoDd(lat, lng) {