Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
(╯°□°)╯︵ ┻━┻

David Larlet davidbgk

💭
(╯°□°)╯︵ ┻━┻
View GitHub Profile
View httpserver.py
"""
Implements a simple HTTP/1.0 Server
"""
import socket
def handle_request(request):
"""Handles the HTTP request."""
@davidbgk
davidbgk / server.py
Created Apr 11, 2017
An attempt to create the simplest HTTP Hello world in Python3
View server.py
import http.server
import socketserver
from http import HTTPStatus
class Handler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(HTTPStatus.OK)
self.end_headers()
self.wfile.write(b'Hello world')
@davidbgk
davidbgk / utils.js
Last active Nov 11, 2020
Let's start to reference some JS utils
View utils.js
// More resources: https://1loc.dev/ + https://htmldom.dev/ + https://thisthat.dev/ + https://vanillajstoolkit.com/
const qsa = (selector) => Array.from(document.querySelectorAll(selector))
// Another way inspired by fluorjs https://fluorjs.github.io/
function $(selector, root = document) {
if (selector instanceof Node) {
return [selector]
}
return root.querySelectorAll(selector)
@davidbgk
davidbgk / utils.css
Created Oct 26, 2020
Let's start to reference some CSS utils
View utils.css
/* Applying it to the html element will provide smooth scrolling to anchors
https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior */
html {
scroll-behavior: smooth;
}
/* Remove animations for folks who set their OS to reduce motion.
1. Immediately jump any animation to the end point
2. Remove transitions & fixed background attachment
View minimal-analytics-snippet.js
(function (context, trackingId, options) {
const history = context.history;
const doc = document;
const nav = navigator || {};
const storage = localStorage;
const encode = encodeURIComponent;
const pushState = history.pushState;
const typeException = 'exception';
const generateId = () => Math.random().toString(36);
const getId = () => {
@davidbgk
davidbgk / saveTextarea.js
Created Oct 14, 2020 — forked from adactio/saveTextarea.js
Put the contents of a textarea into localStorage if the user leaves the page before submitting the form.
View saveTextarea.js
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
// http://creativecommons.org/publicdomain/zero/1.0/
(function (win, doc) {
// Cut the mustard.
if (!win.localStorage) return;
// You should probably use a more specific selector than this.
var textarea = doc.querySelector('textarea');
// The key for the key/value pair in localStorage is the current URL.
var key = win.location.href;
@davidbgk
davidbgk / utils.py
Last active Oct 1, 2020
Let's start to reference some Python utils
View utils.py
def neighborhood(iterable, first=None, last=None):
"""
Yield the (previous, current, next) items given an iterable.
You can specify a `first` and/or `last` item for bounds.
"""
iterator = iter(iterable)
previous = first
current = next(iterator) # Throws StopIteration if empty.
for next_ in iterator:
@davidbgk
davidbgk / mr-robot-religion.txt
Created Jul 23, 2016
Transcript of Mr Robot S02E03 about religion
View mr-robot-religion.txt
Is that what God does?
He helps?
Tell me,
why didn't God help
my innocent friend
who died for no reason
while the guilty roam free?
Okay, fine.
Forget the one-offs.
How about the countless wars
@davidbgk
davidbgk / markup.py
Created Jun 13, 2020 — forked from miraculixx/markup.py
an extensible multi-markup reader in less than 100 lines of python code
View markup.py
# (c) miraculixx, licensed as by the terms of WTFPL, http://www.wtfpl.net/txt/copying/
# License: DO WHATEVER YOU WANT TO with this code.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
from io import StringIO
from contextlib import contextmanager
View install.md

To install this:

$ pip install getgist pyyaml && getgist miraculixx markup.py && alias markup="python markup.py"

Then use it from your Python code

from markup import markup

data = markup(file_or_str)
You can’t perform that action at this time.