My MacBook Pro is my primary workstation. I either use an external, high resolution monitor or its built-in screen, depending on where I am. I often use also someone else's monitors, when I'm working remotely. This forces me to change my graphical Vim editor dimensions for every location where I happen to be. Though not complicated, it's annoying. That's why I wrote this script/Vim auto-command that does the job instead. Just define the desired editor columns and lines for a given resolution, and MacVim will open at that size every time that the same resolution is detected.
- User configurable: add as many output device resolutions and editor sizes as desired or needed
- MacVim and gVim compatible
- Works on OS X, Linux/Gnome, Linux/KDE, and Windows
- Unobtrusive; set it up once and forget about it
No more dragging the window corners to resize. No more
:set columns=128. Just open Vim and get to work!
Paste text from the current document onto a public pastebin or board. This implementation is written in vim to reduce external depencencies to Python or Perl. The only external dependency is cURL (e.g. /usr/bin/curl in UNIX-like systems) as an HTTP posting tool. This posting tool, and all its command line parameters are configurable by the user.
- Pastes to any pastebin with a public API
- The end-user's nick is configurable per use, or via .vimrc
- Sends syntax highlighting information if the target supports it
- Uses standard vim range commands for its use
- Copies the URL where the text was pasted to the system clipboard and the status line
- Opens a web browser at the page where the paste was posted (v1.2)
The browser feature is enabled by setting the g:PASTER_BROWSER_COMMAND variable to the command line instructions for opening the web browser in the local environment. Sample instructions appear in the paster-config.vim file.
LogCop -- BSD license
LogCop is a set of turn-key bash/firewall/awk scripts for enhancing an IDS. It monitors system logs and blocks IP addresses based on such criteria as illegal user names from repeated attacks, or invalid protocols knocking on given ports. In production under Linux, FreeBSD, OS X, Solaris in over 60 servers worldwide since February 2005.
LogCop has helped its users to reduce the number of SSH attacks in those servers where it runs by banning the attacker's IP address. The banning process leverages the built-in packet firewalls into the *NIX systems it supports (ipfw, iptables, and so on).
LogCop was updated to handle HTTP logs too, specifically the pesky CFNetwork bug DoS attack coming from out-of-date Macs.
jtouch.app, jtouch.jar -- GPLv2
jtouch is a Java-based GUI tool that offers equivalent functionality to the UNIX touch command. Users can select files or directories and touch them to update their modification time. The tool was created purely for convenience so that users can update file/directory times without having to open a console to execute the command. Since the application is written in Java, it's automatically available in any GUI environment (Linux, Windows) where Java is available.
OS X users: Just click on jtouch.app and go!
The source files are included in both the disk image and the .zip archive.
Private Messages White List for WeeChat 2.0.x
pmwhitelist.py -- GPLv2
This script implements the commands /whitelist or /wl for managing users into a white list. The WeeChat user will only receive private messages from white listed users. All others will receive an automatic response indicating that the message didn't reach the WeeChat user and instructions to make an in-channel request to be added to the white list.
/whitelist and /wl can be used in combination with these actions:
/whitelist add nick
/whitelist del nick
Load the script into WeeChat by executing:
/python load pmwhitelist.py
The script may also be auto-loaded by WeeChat. See the WeeChat manual for instructions about how to do this.
The fastest way to auto-load: copy the script to your $HOME/.weechat/python/autoload directory, or make a symbolic link to its location from there.
If you have any questions, please contact me on-line at: