Skip to content

Instantly share code, notes, and snippets.

Avatar
🛠️
Building things

Fauzan Erich Emmerling femmerling

🛠️
Building things
View GitHub Profile
@femmerling
femmerling / sanic_logging_workaround.py
Last active Oct 22, 2020
This is my workaround for Sanic customized logging information on Gunicorn. I use Gunicorn with Sanic Gunicorn Worker. For this to work you need to add the --capture-output flag in the Gunicorn startup script and setting Sanic's default logging off..
View sanic_logging_workaround.py
import time
from sanic import Sanic
# `configure_logging=False` will stop Sanic's default logging. You'll use print() for printing to stdout
app = Sanic(name="MyApp", configure_logging=False)
@app.middleware('request')
async def embed_start_time(request):
request.ctx.start_time = time.time() # Use requst context `request.ctx` to embed extra information
View indonesia_infection_simulation.py
# run this with python 3
# no external dependencies needed
import random
# initial number of case
initial_case = 2
# number of carrier
carrier = 2
# number of infected
@femmerling
femmerling / .vimrc
Last active Aug 31, 2022
vim dotfile
View .vimrc
set encoding=utf-8
set nocompatible " required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
@femmerling
femmerling / initialize.html
Last active Apr 3, 2017
Prism Widget Initialization Script
View initialize.html
<div id="prism-widget"></div>
<script src="https://prismapp-files.s3.amazonaws.com/widget/prism.js"></script>
<script type="text/javascript">
(function(e, b, c) {
e.Shamu = {
merchant_id: '',
initialize: function(a) {
a.merchant_id ? this.merchant_id = a.merchant_id : console.log("Shamu: Please initialize Shamu with a merchat_id");
},
display: function() {
@femmerling
femmerling / mothernature_default.py
Created Jun 18, 2016
Example of MotherNature using default environment
View mothernature_default.py
from mothernature import Environment
env = Environment("someyml.yaml", environment='DEV')
test_env.get("DB_CONNECTION")
@femmerling
femmerling / mothernature_env.py
Created Jun 18, 2016
MotherNature Example without default variable
View mothernature_env.py
from mothernature import Environment
env = Environment("config.yml")
# This will provide the config based on the environment you set when starting the application
# and then you can do
test_env.get("DB_CONNECTION")
@femmerling
femmerling / config.yml
Created Jun 18, 2016
Example Yaml file for MotherNature use
View config.yml
COMMON:
DEBUG: false
TESTING: false
IS_PRODUCTION: False
TEST:
TESTING: true
DEVELOPMENT:
DEBUG: true
TESTING: false
STAGING:
@femmerling
femmerling / build.gradle
Created Jan 29, 2015
Test module build.gradle
View build.gradle
// fill this with the name of your app in gradle settings
evaluationDependsOn(':app')
ext.androidProject = 'app'
apply plugin: 'cobertura'
apply plugin: 'com.kageiit.robojava'
cobertura {
coverageFormats = ['html', 'xml']
coverageIgnoreTrivial = true
coverageIgnores = ['org.slf4j.Logger.*']
View build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.emfeld.mvptest"
minSdkVersion 15
targetSdkVersion 21
@femmerling
femmerling / build.gradle
Created Jan 29, 2015
project root build.gradle
View build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
// this is the robojava plugin
classpath 'com.kageiit:robojava-plugin:1.+'
// this is for cobertura so you have test coverage check
classpath("net.saliman:gradle-cobertura-plugin:2.2.5") {