Skip to content

Instantly share code, notes, and snippets.

Mohammad Shahrizal Prabowo rizalp

  • Indonesia
View GitHub Profile
@rizalp
rizalp / remove
Last active Mar 18, 2019
Remove Unused Package Ubuntu
View remove
sudo apt purge pidgin transmission-common libreoffice* thunderbird parole snapd firefox fonts-noto-cjk gnome-software
@rizalp
rizalp / homebrew-sqlite3.md
Created Feb 11, 2019
Install sqlite3 Ruby gem with homebrew's version of sqlite
View homebrew-sqlite3.md
gem install sqlite3 -- --with-sqlite3-include=/usr/local/Cellar/sqlite/3.27.1/include --with-sqlite3-lib=/usr/local/Cellar/sqlite/3.27.1/lib
@rizalp
rizalp / disable_spectre.md
Created Feb 3, 2019
Disable Spectre/Meltdown Mitigation
View disable_spectre.md

In /etc/default/grub, modify:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nopti nospectre_v1 nospectre_v2 l1tf=off nospec_store_bypass_disable no_stf_barrier"

Then sudo update-grub

@rizalp
rizalp / mojave-rails-jemalloc-gmp.md
Last active Jan 15, 2019
macOs Mojave Rails Setup with jemalloc and gmp
View mojave-rails-jemalloc-gmp.md

Homebrew install

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Install Libraries

brew install rbenv ruby-build sqlite3 jemalloc gmp
View rbenv-rails-ubuntu1804.md

Install Development Dependencies

sudo apt-fast install git zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libffi-dev libsqlite3-dev libjemalloc-dev libgmp-dev nodejs

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
@rizalp
rizalp / ubuntu1804-ror.md
Last active Jan 14, 2019
Ruby On Rails using package manager instead of rbenv
View ubuntu1804-ror.md

Minimal Ruby On Kubuntu:

~/.gemrc

install: --user-install
update: --user-install

~/.bashrc

@rizalp
rizalp / init-zram-swapping
Last active Jan 18, 2019
/usr/bin/init-zram-swapping custom config
View init-zram-swapping
#!/bin/sh
# load dependency modules
# NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
NRDEVICES=1
if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
MODPROBE_ARGS="num_devices=${NRDEVICES}"
else
@rizalp
rizalp / DeepCopy.js
Last active Dec 28, 2015
How to do deep copy to Javascript object, and call the parent's own prototype method
View DeepCopy.js
/* Title: Deep Copy Object Properties
* Refference: https://github.com/shichuan/javascript-patterns/blob/master/code-reuse-patterns/inheritance-by-copying-properties.html
* Description: an object gets functionality from another object, simply by copying it
* Only the properties will be copied. The prototype will not
* it is generally not recomended to copy the prototype over
*/
/* deep copy */
function extendDeep(parent, child) {
var i, toStr = Object.prototype.toString,
View child.js
//this works encapsulating private properties
//now, how about prototypes?
var Child = (function (s, f){
var DOB = new Date();
var sex = s;
var fullName = f;
var mood;
return {
@rizalp
rizalp / LargestProductGrid.js
Created Sep 5, 2013
My solution to [Problem 11 project euler](http://projecteuler.net/problem=11). I took way too long to solve it using functional approach, also traversing diagonal grids and pick the tokens drove me nuts.
View LargestProductGrid.js
var _und = require("./underscore-min.js"); //load underscore.js library in the current directory
var group = 4;
//parse it, because I'm too lazy to create the array by hand
var strGrid = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 5
You can’t perform that action at this time.