See how a minor change to your commit message style can make a difference.
Tip
Have a look at git-conventional-commits , a CLI util to ensure these conventions, determine version and generate changelogs
# Runs a scheduled job in a background thread using APScheduler and streams | |
# it's output to a web client using websockets. Communication between the Flask | |
# thread and APScheduler thread is being done through (blinker) signals. | |
# | |
# Install dependencies (preferably in your virtualenv) | |
# pip install flask apscheduler sqlalchemy blinker flask-socketio simple-websocket | |
# and then run with: | |
# python this_script.py | |
from time import sleep |
version: "3.5" | |
# Variables to fill in: | |
# Line 23: <LETSENCRYPT_MAIL_ADDRESS> - your mail address for contact with Let's Encrypt | |
# Line 36: <TRAEFIK_DASHBOARD_ADMIN_PASSWORD> - MD5 hash of your password (use http://www.htaccesstools.com/htpasswd-generator/) | |
# Line 54: <POSTGRES_PASSWORD> - the password for the postgres db. Use the same during mastodon:setup! | |
# Lines 31, 86, 111: <DOMAIN> - e.g. social.yourdomain.com (Must have an A record pointing to your box' IP) (AAAA for IPv6 ;) | |
services: | |
traefik: |
See how a minor change to your commit message style can make a difference.
Tip
Have a look at git-conventional-commits , a CLI util to ensure these conventions, determine version and generate changelogs
Ctrl-A [
This will activate copy mode in GNU/screen. Now, you can scroll up/down and look at your data. Use the following keys:
Ctrl-u
and Ctrl-d
scroll the display up/down by the specified amount of lines while preserving the cursor position.
(Default: half screen-full).Ctrl-b
and Ctrl-f
scroll the display up/down a full screen.# Create a promise: | |
myCoolPromise = new Promise (resolve, reject) -> | |
# do a thing | |
success = true | |
if success | |
resolve 'stuff worked' | |
else | |
reject Error 'it broke' |
Media_Next::Send {End} | |
Media_Prev::Send {Home} | |
Media_Stop::Send {PgUp} | |
Media_Play_Pause::Send {PgDn} | |
^Media_Next::Send ^{End} | |
^Media_Prev::Send ^{Home} | |
^Media_Stop::Send ^{PgUp} | |
^Media_Play_Pause::Send ^{PgDn} |
Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.
This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016
ExtB -> GPIO | |
P0 = 17 | |
P1 = 18 | |
P2 = 27 | |
P3 = 22 | |
P4 = 23 | |
P5 = 24 | |
P6 = 25 | |
P7 = 4 |
#!/bin/bash | |
echo -e "Powerline glyphs:\n\ | |
Code points Glyphe Description Old code point | |
U+E0A0 \xee\x82\xa0 Version control branch (U+2B60 \xe2\xad\xa0 )\n\ | |
U+E0A1 \xee\x82\xa1 LN (line) symbol (U+2B61 \xe2\xad\xa1 )\n\ | |
U+E0A2 \xee\x82\xa2 Closed padlock (U+2B64 \xe2\xad\xa4 )\n\ | |
U+E0B0 \xee\x82\xb0 Rightwards black arrowhead (U+2B80 \xe2\xae\x80 )\n\ | |
U+E0B1 \xee\x82\xb1 Rightwards arrowhead (U+2B81 \xe2\xae\x81 )\n\ | |
U+E0B2 \xee\x82\xb2 Leftwards black arrowhead (U+2B82 \xe2\xae\x82 )\n\ |
# Description: | |
# Load script recursively | |
# Dependences: | |
# "glob": "~3.1.20" | |
Path = require "path" | |
Glob = require "glob" | |
module.exports = (robot) -> | |
robot.logger.info "read sub dir" | |
dirs = Glob.sync(__dirname+"/**/*/") |