start new:
tmux
start new with session name:
tmux new -s myname
# Assumption : bash-completion package is installed and enabled | |
# Try it : just "source ledger" | |
# Here are three possible ways to install this file | |
# 1. As ~/.bash_completion file | |
# 2. As ~/.bash_completion.d/ledger file, with additional file | |
# ~/.bash_completion which contents ". ~/.bash_completion.d/ledger" | |
# 3. As /etc/bash_completion.d/ledger | |
_ledger() | |
{ |
{% macro render_field(field) -%} | |
{% set with_label = kwargs.pop('with_label', False) %} | |
{% set placeholder = '' %} | |
{% if not with_label %} | |
{% set placeholder = field.label.text %} | |
{% endif %} | |
<div class="form-group {% if field.errors %}error{% endif %}"> | |
{% if with_label %} | |
<label for="{{ field.id }}" class="control-label"> | |
{{ field.label.text }}{% if field.flags.required %} *{% endif %}: |
// points = number of points (minimum 3) | |
// outer = radius to outer points | |
// inner = radius to inner points | |
module Star(points, outer, inner) { | |
// polar to cartesian: radius/angle to x/y | |
function x(r, a) = r * cos(a); | |
function y(r, a) = r * sin(a); | |
// angular width of each pie slice of the star |
(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.
#!/bin/sh | |
# | |
# Import all SSH keys from LP | |
# | |
PREFIX=~ | |
SSH_ASKPASS=$PREFIX/bin/lp-askpass.sh | |
export SSH_ASKPASS | |
# This is needed to force ssh-add to honor our SSH_ASKPASS. | |
DISPLAY=foo | |
export DISPLAY |
#!/bin/bash | |
# if spotify is started | |
if [ "$(pidof spotify)" ]; then | |
# status can be: Playing, Paused or Stopped | |
status=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus'|egrep -A 1 "string"|cut -b 26-|cut -d '"' -f 1|egrep -v ^$` | |
artist=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 2 "artist"|egrep -v "artist"|egrep -v "array"|cut -b 27-|cut -d '"' -f 1|egrep -v ^$` | |
album=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 1 "album"|egrep -v "album"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$` | |
title=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 o |
git filter-branch -f --msg-filter ' | |
read commit | |
declare -A commits_replaces; | |
commits_replaces["<commit hash>"]="new message" | |
if [[ ${commits_replaces[$GIT_COMMIT]} ]]; then | |
echo ${commits_replaces[$GIT_COMMIT]}; | |
else | |
echo $commit | |
fi' -- --all |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent