Skip to content

Instantly share code, notes, and snippets.

View femmerling's full-sized avatar
🛠️
Building things

Fauzan Erich Emmerling femmerling

🛠️
Building things
View GitHub Profile
@femmerling
femmerling / .vimrc
Last active January 17, 2024 19:21
vim dotfile
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 / authenticate.py
Last active June 13, 2022 17:18
I have to create user authentication using python-ldap. After googling around and trying out stuffs, this is the final code for you to use. Please remember to adjust the user_dn, and base_dn accordingly to the format used in your LDAP server.
# to be able to import ldap run pip install python-ldap
import ldap
if __name__ == "__main__":
ldap_server="x.x.x.x"
username = "someuser"
password= "somepassword"
# the following is the user_dn format provided by the ldap server
user_dn = "uid="+username+",ou=someou,dc=somedc,dc=local"
@femmerling
femmerling / mergesort.py
Last active November 2, 2021 15:45
Merge Sort written in python.
def merge_lists(left_sublist,right_sublist):
i,j = 0,0
result = []
#iterate through both left and right sublist
while i<len(left_sublist) and j<len(right_sublist):
#if left value is lower than right then append it to the result
if left_sublist[i] <= right_sublist[j]:
result.append(left_sublist[i])
i += 1
else:
@femmerling
femmerling / sanic_logging_workaround.py
Last active October 22, 2020 04:38
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..
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
# 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 / ftpserver.py
Created June 5, 2013 11:40
Simple python ftp server with authentication
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("user", "password", "/home/user", perm="elradfmw")
authorizer.add_anonymous("/home/nobody")
handler = FTPHandler
handler.authorizer = authorizer
@femmerling
femmerling / quicksort.py
Created December 23, 2012 15:53
The quick sort Algorithm written in python.
def quicksort(input_list):
higher = []
lower = []
if len(input_list) > 2:
pivot = (len(input_list) - 1)/2
mid = [input_list[pivot]]
i = 0
while i < len(input_list):
if i != pivot:
if input_list[i] <= input_list[pivot]:
@femmerling
femmerling / hashtable.py
Last active September 22, 2017 14:35
Hashtable algorithm written in python
#create the key-value object
class KeyValue:
def __init__(self,key,value):
self.key=key
self.value=value
class HashTable:
#initiate an empty list that will store all key value pair based on the KeyValue object
def __init__(self):
@femmerling
femmerling / initialize.html
Last active April 3, 2017 07:48
Prism Widget Initialization Script
<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 June 18, 2016 12:13
Example of MotherNature using default environment
from mothernature import Environment
env = Environment("someyml.yaml", environment='DEV')
test_env.get("DB_CONNECTION")