https://www.nngroup.com/articles/ten-usability-heuristics/
http://www.usabilitybok.org/principles-for-usable-design
https://medium.com/@nirbenita/the-10-design-heuristics-for-developers-1e70a9dc58a7
https://blog.prototypr.io/10-usability-heuristics-with-examples-4a81ada920c
https://speakerdeck.com/pybay/2016-alex-martelli-the-tower-of-abstraction
http://www.usabilitybok.org/principles-for-usable-design
https://www.slideshare.net/choult/your-api-is-a-ui
http://queue.acm.org/detail.cfm?id=1071731
https://www.reddit.com/r/Python/comments/48q804/whats_the_worst_package_youve_ever_worked_with/
http://www.aleax.it/europ11_adap.pdf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import bisect | |
def bisect_index(arr, start, end, x): | |
i = bisect.bisect_left(arr, x, lo=start, hi=end) | |
if i != end and arr[i] == x: | |
return i | |
return -1 | |
def exponential_search(arr, start, x): | |
if x == arr[start]: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env python | |
import os | |
import tempfile | |
import time | |
import timeit | |
import pybloomfilter | |
tempfiles = [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
import sys | |
keyboard = "0123456789abcdefghijklmnopqrstuvwxyz!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ " | |
if __name__ == "__main__": | |
expected = " ".join(sys.argv[1:]).lower() | |
already_produced_set = set() | |
produced = "" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Based on this: https://stackoverflow.com/a/62956469/145349 | |
import logging | |
import time | |
from contextlib import contextmanager | |
@contextmanager | |
def log_time(logger, log_message="Took %.4f secs", log_level=logging.INFO): | |
start = time.perf_counter() | |
yield | |
elapsed = time.perf_counter() - start |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT | |
sum(idx_blks_read) as idx_read, | |
sum(idx_blks_hit) as idx_hit, | |
(sum(idx_blks_hit) - sum(idx_blks_read)) / sum(idx_blks_hit) as ratio | |
FROM | |
pg_statio_user_indexes; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Recommended Celery Django settings for reliability: | |
# (use `app.config_from_object('django.conf:settings', namespace='CELERY')` | |
# in proj/celery.py module) | |
from decouple import config # use python-decouple: https://github.com/HBNetwork/python-decouple | |
# Prefer RabbitMQ over Redis for Broker, | |
# mainly because RabbitMQ doesn't need visibility timeout. See: | |
# https://blog.daftcode.pl/working-with-asynchronous-celery-tasks-lessons-learned-32bb7495586b | |
# https://engineering.instawork.com/celery-eta-tasks-demystified-424b836e4e94 |
- e.g. Don't Use My Grid System (or any others) https://www.youtube.com/watch?v=mDRfFEcj3-Q
- e.g. Taking Django Distributed https://youtu.be/gCNj8mMoq38
- e.g. Instagram Filters in 15 Lines of Python https://www.youtube.com/watch?v=otLGDpBglEA
- e.g. Multitenant applications: how and why https://www.youtube.com/watch?v=yyJonajA_jI
- e.g. What is wrong with API wrappers and how can we do better https://youtu.be/McMb8ZFfMXk
- e.g. Dubious Database Design https://www.youtube.com/watch?v=l712XON7R2s
- e.g. JS UX: Writing code for humans https://youtu.be/loj3CLHovt0
OlderNewer