The three Ds of software Project Management:
- Delegate
- Descope
- Deny
(this list may or may not be tongue-in-cheek)
The three Ds of software Project Management:
(this list may or may not be tongue-in-cheek)
Regex snippet to extract the cn value from a dn string for LDAP:
cn=smit1057,ou=ACTIVE,ou=PEOPLE,o=DATA
smit1057
/^cn=([^,]+)/$1/
def get_id_from_cname(cname:) match = /^cn=([^,]+)/.match(cname) return match[1] if match.is_a?(MatchData) && match.length > 0 return false end
Snippet to convert a list of attributes to a Ruby hash.
cn:ID sn:Surname fn:FirstName
"cn" => "ID", "sn" => "Surname", "fn" => "FirstName",
/(.+?)(?=\:):(.*$)/"$1" => "$2",/
As is often the case, the nix defaults for ls are spartan. I finally got around to wrestling my ls color settings into submission. On macos/zsh, gdircolors gave inconsistent results, so I set the LS_COLORS environment var directly.
install gls
brew install coreutils
.zshrc
if [[ "$(uname)" = "Darwin" ]]; then # macos uses a different 'ls' export CLICOLOR=1 source "$XDG_CONFIG_HOME/zsh/.dir_colors" alias l="gls -ahF --group-directories-first --color=always" else alias l="ls -ah --color --group-directories-first" fi
~/.config/zsh/.dir_colors
# Attribute codes: # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # Text color codes: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # Background color codes: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white export LS_COLORS='rs=0:di=00;34:ln=00;37:mh=00:pi=40;33:so=00;35:do=00;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=00;33:*.tar=01;31:*.tgz=01;31:'
The full goodies:
Just switched from rbenv to chruby using this guide, and my zsh startup time improved by about 10 seconds. I’d been meaning to debug why it was taking so long — bonus!
Here’s the offending lines that were removed from ~/.zlogin:
export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
Internet-connected devices are increasingly supplied without a USB tethering option. While I presume this cuts down on manufacturing complexity and improves form factor, the wifi setup user experience is often terrible.
I recently acquired a FitBit Aria scale which has the completely undocumented quirk of only being able to connect to 802.11b wifi. My router defaults to n. I had to dig through the router settings and enable dual-band. There is absolutely no way a muggle would ever figure this out.
To compound the issue, their activation API was suffering a bug that returned a cryptic JSON error when using a Mac or iOS Safari to register the scales. I have no Wintel, so I finally got it working using iOS Chrome.
Googling revealed loads of posts by angry consumers who had returned the product as defective. I wonder how much this poor design choice cost FitBit’s bottom line? Omitting a USB setup option might have seemed clever but it backfired badly – perhaps it would have been fine if their wifi onboarding experience wasn’t so flawed.
And after enabling dual-band support on my router my Kindle Paperwhite would no longer connect to the wifi network. I had to manually enable WPS discovery mode on the router to pair it again. Oy!
It seems that byobu triggers a known bug with tpm which then fails to load any plugins. Fortunately there is a simple fix, in byobu’s .tmux.conf change your plugin formatting like so:
set -g @tpm_plugins ' \ tmux-plugins/tpm \ nhdaly/tmux-better-mouse-mode \ tmux-plugins/tmux-resurrect \ '
If using the XDG directory convention, this line is also needed in .tmux.conf:
set-environment -g TMUX_PLUGIN_MANAGER_PATH "~/.config/byobu/plugins/"
So it looks like MacOS Sierra broke pbcopy/pbpaste for tmux. This manifests as clipboard errors when using netrw/vinegar in neovim under tmux. (Dunno why netrw is writing to the clipboard but anyways).
The solution is to use Homebrew to reinstall a patched version of reattach-to-user-namespace:
brew uninstall reattach-to-user-namespace brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste
Although this was annoying, it did lead to running brew cleanup which reclaimed 3.8GB of disk space. Jinkies!
When using the plugin plantuml-syntax, add the following one-liner in .vimrc to render a PNG in the current directory when ‹leader›b is pressed:
autocmd FileType plantuml nnoremap <buffer> <leader>b :!java -jar ~/bin/plantuml.jar -o %:p:h %<cr>
This assumes Linux and that plantuml.jar lives in ~/bin. If working from a Dropbox directory, the image can then easily be viewed in a web browser.
It seems that byobu‘s defaults don’t play nice with emacs, eating important key sequences such as <C-h> and breaking color schemes. Adding the following line to ~/.byobu/.tmux.conf fixed the issue:
set -g default-terminal "screen-256color"