Source: http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/
- Make sure your repositories are up-to-date:
apt-get update
- Install SSMTP and mail utilitites:
" Location for installing plugins | |
call plug#begin('~/.vim/plugged') | |
" Other plugins are specified with user/repo on Github or x.vim on vimscripts | |
" Git integration (status bar and commands like Gblame) | |
Plug 'tpope/vim-fugitive' | |
" Add info to sidebar about git | |
Plug 'airblade/vim-gitgutter' | |
" Add file-management commands like :Delete, :Move, and :Rename | |
Plug 'tpope/vim-eunuch' |
[Unit] | |
Description=Sidekiq workers | |
# start as many workers as you want here | |
[email protected] | |
[email protected] | |
# ... | |
[Service] | |
Type=oneshot | |
ExecStart=/bin/true |
class ActiveJobLog < ApplicationRecord | |
enum status: { | |
queued: 'queued', | |
working: 'working', | |
finished: 'finished', | |
failed: 'failed', | |
} | |
def active? |
#!/usr/bin/env ruby | |
# A sneaky wrapper around Rubocop that allows you to run it only against | |
# the recent changes, as opposed to the whole project. It lets you | |
# enforce the style guide for new/modified code only, as opposed to | |
# having to restyle everything or adding cops incrementally. It relies | |
# on git to figure out which files to check. | |
# | |
# Here are some options you can pass in addition to the ones in rubocop: | |
# |
#!/bin/bash | |
# Run this script just before you put the laptop in the bin for security scanning. | |
# You can add the seconds the laptop will be waiting before speaking. The default | |
# is waiting for 180 seconds (3 minutes). | |
# Switch to the login screen, effectively locking the screen. | |
function lockscreen() { | |
/System/Library/CoreServices/"Menu Extras"/User.menu/Contents/Resources/CGSession -suspend | |
} |
Source: http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/
apt-get update
# Phoenix Framework - A productive web framework that does not compromise speed and maintainability | |
[Unit] | |
Description=Phoenix Framework ISControl Application | |
After=network.target | |
[Service] | |
Type=simple | |
User=deployer | |
RemainAfterExit=yes |
Douglas Crockford, author of JavaScript: The Good parts, recently gave a talk called The Better Parts, where he demonstrates how he creates objects in JavaScript nowadays. He doesn't call his approach anything, but I will refer to it as Crockford Classless.
Crockford Classless is completely free of class, new, this, prototype and even Crockfords own invention Object.create.
I think it's really, really sleek, and this is what it looks like:
function dog(spec) {
# list connected devices and emulators | |
# this outputs a list of attached/running [device-id]s | |
adb devices | |
# ---------------------------------------------------- | |
# list all installed apps on device | |
# outputs all [package-id]s of installed apps | |
# from: http://stackoverflow.com/questions/4032960/how-do-i-get-an-apk-file-from-an-android-device#18003462 |