Install slmenu then put this function in your startup:
ssm() {
ssh $(awk '/Host / && !/*/ { print $2 }' ~/.ssh/config | slmenu)
}
emacs tip of the week #1: elscreen
- Are you an emacs user?
- Are you a GNU screen user?
If the answer to both of these questions is yes then install elscreen for buffer navigation in emacs.
Emacs vc-mode doesn’t support git push
So here’s a quick function to drop in your ~/.emacs (taken from here):
(defun git-push-remote-origin () "run `git push'" (interactive) (when buffer-file-name (shell-command "git push") (message "DONE! git push at %s" default-directory) ))
VirusAction script for clamsmtp
I’ve recently configured my MTA to drop emails with embedded MS Office Macros (a very popular way of distributing malware).
You can get the odd valid macro-enabled Office doc, so I’ve written a script to alert me when emails are dropped, it’s available on GitHub
Configure in /etc/clamsmtpd.conf as below:
VirusAction: /usr/local/bin/clamsmtp-action.py -t postmaster@yourdomain.com
(other switches available, read the source or run with -h)
Now this is what I call a good cookies prompt
zeal – offline documentation browser
Remove line numbers from code in emacs
Useful if you’re copy & pasting.
query-replace-regexp ^[[:digit:]]+\.? ?
Or even better, define this function in your .emacs
(defun remove-line-numbers ()
"remove line numbers"
(interactive "*")
(beginning-of-buffer)
(replace-regexp "^[[:digit:]]+\.? ?" ""))
Installing Apache 2.4 on Centos 6 with HTTP2 support
Download, compile & install openssl 1.02 somewhere (eg /usr/local/openssl102)
IMPORTANT: config with -fPIC flag
./config --prefix=/usr/local/openssl102 -fPIC no-gost no-shared no-zlib && make && make install
Download compile & install nghttp2 (straightforward, I went for default path – to ensure it’s picked up by apache module create /etc/ld.so.conf.d/local.conf
with contents /usr/local/lib
& run ldconfig unless this is already in your linker dirs).
Download and untar apache 2.4.17
Download and untar latest apr & apr-util,
unpack them into ./srclib/apr and ./srclib/apr-util inside apache distributrion (be sure the dir names
do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)
Config & compile apache
# set prefix if you want, default will install to /usr/local/apache2
# add --with-lua if you have it installed for fun!
./configure --enable-http2 --enable-ssl --with-ssl=/usr/local/openssl102 --with-included-apr
make
make install
Configure apache to use http2.
To test your http2 server you might want a recent build of curl, download the latest and configure like so:
./configure --with-ssl=/usr/local/openss102 --prefix=/usr/local/curl --with-nghttp2=/usr/local
sqlpython 1.7.3
Customizable alternative to Oracle’s SQL*PLUS command-line interface
Source: sqlpython 1.7.3 : Python Package Index
Prerequisites to install:
- Ensure you have oracle client libraries & ORACLE_HOME set (run the environment script)
- Create
/etc/ld.so.conf.d/oracle.conf
with contents of your lib directory (eg: /u01/app/oracle/product/11.2.0/xe/lib) and run ldconfig - pip install cx-Oracle
Running ansible from a windows host
This is partly based on instructions from https://servercheck.in/blog/running-ansible-within-windows but uses a virtual environment and no checking out from Github / manually installing packages.
- Install Cygwin. Include following packages:
- python
- openssl / openssl-devel
- python-crypto
- python-openssl
- openssh
- Install & configure pip, virtualenv & virtualenvwrapper as per http://atbrox.com/2009/09/21/how-to-get-pipvirtualenvfabric-working-on-cygwin/
- Create a virtual environment for ansible with
mkvirtualenv --system-site-packages ansi
- Install ansible inside your virtual environment with
pip install ansible pyyaml jinja2
That’s it (remember to set ssh_args = -o ControlMaster=no
in ansible.cfg as cygwin doesn’t support it).