Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
#!/usr/bin/env bash | |
set -x | |
# make sure we install macOS command line tools | |
if ! xcode-select -p &> /dev/null | |
then | |
xcode-select --install | |
fi |
default['sshd']['sshd_config']['AuthenticationMethods'] = 'publickey,keyboard-interactive:pam' | |
default['sshd']['sshd_config']['ChallengeResponseAuthentication'] = 'yes' | |
default['sshd']['sshd_config']['PasswordAuthentication'] = 'no' |
SELECT | |
*, | |
pg_size_pretty(table_bytes) AS table, | |
pg_size_pretty(index_bytes) AS index, | |
pg_size_pretty(total_bytes) AS total | |
FROM ( | |
SELECT | |
*, total_bytes - index_bytes - COALESCE(toast_bytes, 0) AS table_bytes | |
FROM ( | |
SELECT |
I recently switched over to neovim (see my screenshots at the bottom). Below is my updated config file.
It's currently synchronized with my .vimrc
config except for a block of neovim-specific terminal key mappings.
This is still a work in progress (everyone's own config is always a labor of love), but I'm already extremely pleased with how well this is working for me with neovim. While terminal mode isn't enough to make me stop using tmux, it is quite good and I like having it since it simplifies my documentation workflow for yanking terminal output to paste in a markdown buffer.
These days I primarily develop in Go. I'm super thrilled and grateful for fatih/vim-go,
#!/bin/sh | |
set -x | |
set -e | |
# | |
# Docker build calls this script to harden the image during build. | |
# | |
# NOTE: To build on CircleCI, you must take care to keep the `find` | |
# command out of the /proc filesystem to avoid errors like: | |
# | |
# find: /proc/tty/driver: Permission denied |
I have several pieces of feedback on the shortcuts. The most significant feedback is that, with keyboard shortcuts, staying within conventional "vocabulary" is vitally important. When you use a web browser, any web browser, you can rely on Ctrl-Tab
moving between tabs. Even more broadly, in almost any application regardless of purpose, you can rely on Cmd-N
to open a "new thing", be it a document, a window, a message, or anything.
Keyboard shortcuts are productive because of these conventions. Gitter appears to eschew almost all conventional shortcuts for analogous actions, and this is a large problem. There are three obvious examples of this:
Cmd-Ctrl-C
focuses chat input. If we look at other chat applications, we see that there are several very standard solutions to this user action. The most common is that the chat field simply always has focus. Gitter does special things with text selection though, so it's fair to say that this might not be an answer. This leadwebpack: http://webpack.github.io/ jspm: http://jspm.io/
Nice introduction presentation: http://peerigon.github.io/presentations/2014-07-09-MNUG-webpack/
The watch seems intelligent in that it might be tracing the dependency graph. In my test case it seems to, at least. AMD and CommonJS modules are supported out of the box. In my test I was unable to get es6-loader working (see commit in link below).
Unlike jspm, it's not a registry. Instead it resolves dependencies from node_modules (i.e. npm) by default (like browserify), although according to this tutorial it's trivial to configure which directories the module resolver should read from.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
This simple script will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.
The script is here:
#!/bin/bash
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"