Skip to content

Instantly share code, notes, and snippets.

View assem-ch's full-sized avatar

Assem Ch assem-ch

View GitHub Profile
samuelcolvin /
Last active June 23, 2024 19:06
An incomplete list of people in the Python community to follow on Twitter and Mastodon.

Python People

(Updated 2022-11-16 with suggestions from comments below, Twitter and Mastodon)

An incomplete list of people in the Python community to follow on Twitter and Mastodon.

With the risk that Twitter dies, I'd be sad to lose links to interesting people in the community, hence this list.

I would love you to comment below with links to people I've missed.

stettix /
Last active July 10, 2024 23:00
Things I believe

Things I believe

This is a collection of the things I believe about software development. I have worked for years building backend and data processing systems, so read the below within that context.

Agree? Disagree? Feel free to let me know at @JanStette. See also my blog at


Keep it simple, stupid. You ain't gonna need it.

red0xff / solution.c
Last active November 1, 2018 14:38
Coding Challenge Solution
// Modular Exponentiation (
unsigned long long mod_exp(unsigned long long x, unsigned long long y, unsigned long long p)
unsigned long long res = 1;
x = x % p;
while (y > 0)
# ---- Base python ----
FROM python:3.6 AS base
# Create app directory
# ---- Dependencies ----
FROM base AS dependencies
COPY gunicorn_app/requirements.txt ./
# install app dependencies
RUN pip install -r requirements.txt
diemol /
Last active July 9, 2021 15:03
Geckodriver and Chromedriver installers for OSX/Mac
# download and install latest chromedriver for linux or mac.
# required for selenium to drive a Chrome browser.
version=$(wget -qO-
if [[ $(uname) == "Darwin" ]]; then
elif [[ $(uname) == "Linux" ]]; then
silentsudo / ElasticSearch.postman_collection
Created January 11, 2017 18:24
Elastic search postman collection
"id": "0c45385d-7359-15da-b7c3-1b605de97d51",
"name": "ElasticSearch",
"description": "Elastic Search indexing searching and more...",
"order": [
heitorlessa /
Created January 11, 2017 16:11
Quick and dirty S3 Presign URL using Python Boto3 and Click
import boto3
import click
@click.option("-e", "--expiration", default=3600, type=int, help="How long this presigned URL will live for")
def presign_s3(bucket, key, expiration):
""" Simple utility to generate presigned URL on S3 (Default 1 hour expiration)
suzuken / ua.js
Last active September 9, 2020 15:22
experimental UDF on Bigquery with
var root = this;
// embed: dataset, util, browser, mobilephone, crawler, appliance, misc, woothee
// GENERATED from dataset.yaml at Thu Aug 13 14:22:28 JST 2015 by tagomoris
// Snapshot from package.json
var package_info = {"name":"woothee","version":"1.2.0","description":"User-Agent string parser (js implementation)","main":"./release/woothee","devDependencies":{"mocha":">= 1.7.0","chai":">= 1.3.0","js-yaml":">= 1.0.3","should":"~1.2.2"},"scripts":{"test":"make test"},"repository":{"type":"git","url":""},"author":"tagomoris","license":"Apache v2"};
var dataset = {};
beeftornado / nginx-conf
Last active January 18, 2024 19:54
Nginx reverse proxy for Sentry ( I removed some personal information and replaced it with <UPPERCASE> so look closely. Some key information in the sentry settings - SENTRY_URL_PREFIX, FORCE_SCRIPT_NAME, and ALLOWED_HOSTS. The rest of that is pretty standard.
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name _;
rgrove / gist:b260e21a8db776bde91b
Created June 20, 2014 17:17
Open source guilt

So here's the thing: I've been releasing my code as open source for nearly 15 years. When I write something for me, I release it for other people. Inevitably, I eventually stop needing that thing, so I stop spending time on it.

When a PR comes in for a project I haven't actively worked on in a while, handling that PR requires me to reacquaint myself with the old code, remember how and why I made certain choices, consider whether accepting the PR would create any new maintenance burdens for me or would potentially introduce problems for users who've been using a stable and unchanged program for years now. If I decide it's worthwhile, then I have to test it. Maybe my old project has tests; maybe it doesn't. If it doesn't, that means I have to get it running and test manually.

More often than not, a PR will contain questionable code or inconsistent formatting or something else that requires some back and forth with the author. This takes time out of my day (often out of several days due to the async nature of