Skip to content

Instantly share code, notes, and snippets.

@miguelgrinberg
miguelgrinberg / aioeventlet.py
Last active Jul 10, 2020
Eventlet running on top of asyncio proof-of-concept
View aioeventlet.py
import asyncio
import atexit
import functools
import os
import random
import eventlet
from eventlet.greenpool import GreenPool
from eventlet.hubs import hub, use_hub, get_hub
@miguelgrinberg
miguelgrinberg / .tmux.conf
Last active Aug 27, 2020
My .tmux.conf file for working with tmux
View .tmux.conf
# Set the prefix to ^A.
unbind C-b
set -g prefix ^A
bind a send-prefix
# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
@miguelgrinberg
miguelgrinberg / .vimrc
Last active Oct 26, 2020
My .vimrc configuration for working in Python with vim
View .vimrc
" plugins
let need_to_install_plugins = 0
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
let need_to_install_plugins = 1
endif
call plug#begin()
Plug 'tpope/vim-sensible'
@miguelgrinberg
miguelgrinberg / config.py
Created Oct 28, 2019
Example code from my "MicroPython Heats My Home" presentation.
View config.py
DHT22_PIN = 4 # D2 pin / GPIO4
LED_PIN = 2 # D4 pin / GPIO2
WIFI_ESSID = 'your-wifi-network-name'
WIFI_PASSWORD = 'your-wifi-password'
INTERVAL = 5 * 60
View sqlalchemy-challenge.py
#!/usr/bin/env python
# Before you run this script make sure Flask-SQLAlchemy is installed in
# your virtual environment
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' # in-memory
View .vimrc
" plugins
set nocompatible
filetype off
let need_to_install_plugins=0
if empty(system("grep lazy_load ~/.vim/bundle/vundle/autoload/vundle.vim"))
echo "Installing Vundle..."
echo ""
silent !mkdir -p ~/.vim/bundle
silent !rm -rf ~/.vim/bundle/vundle
silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle
View basic_comments.py
#!/bin/env python
# -------------------------------------------------------------------------------
# This is a basic implementation of comments with a flat structure,
# as described in my article:
# https://blog.miguelgrinberg.com/post/implementing-user-comments-with-sqlalchemy
# -------------------------------------------------------------------------------
from datetime import datetime
from flask import Flask
View softcover-dockerfile
FROM phusion/baseimage:latest
# https://github.com/phusion/baseimage-docker
MAINTAINER Nick Merwin <nick@softcover.io>
ENV HOME /root
RUN /etc/my_init.d/00_regen_ssh_host_keys.sh
CMD ["/sbin/my_init"]
# ==============================================================================
# install deps
@miguelgrinberg
miguelgrinberg / app.py
Created Jul 13, 2017
datetimepicker-example
View app.py
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
from flask_wtf import Form
from wtforms.fields import DateField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
Bootstrap(app)
View keybase.md

Keybase proof

I hereby claim:

  • I am miguelgrinberg on github.
  • I am miguelgrinberg (https://keybase.io/miguelgrinberg) on keybase.
  • I have a public key whose fingerprint is 2488 9E35 E9BC 5DDD D3D6 C648 EE0C 3C4C F171 F9A3

To claim this, I am signing this object:

You can’t perform that action at this time.