Skip to content

Instantly share code, notes, and snippets.

@romainl
romainl / gist:9970697
Last active September 27, 2025 02:49
How to use Tim Pope's Pathogen

How to use Tim Pope’s Pathogen

I’ll assume you are on Linux or Mac OSX. For Windows, replace ~/.vim/ with $HOME\vimfiles\ and forward slashes with backward slashes.

The idea

Vim plugins can be single scripts or collections of specialized scripts that you are supposed to put in “standard” locations under your ~/.vim/ directory. Syntax scripts go into ~/.vim/syntax/, plugin scripts go into ~/.vim/plugin, documentation goes into ~/.vim/doc/ and so on. That design can lead to a messy config where it quickly becomes hard to manage your plugins.

This is not the place to explain the technicalities behind Pathogen but the basic concept is quite straightforward: each plugin lives in its own directory under ~/.vim/bundle/, where each directory simulates the standard structure of your ~/.vim/ directory.

@DanHerbert
DanHerbert / fix-homebrew-npm.md
Last active January 14, 2026 12:03
Instructions on how to fix npm if you've installed Node through Homebrew on Mac OS X or Linuxbrew

OBSOLETE

This entire guide is based on an old version of Homebrew/Node and no longer applies. It was only ever intended to fix a specific error message which has since been fixed. I've kept it here for historical purposes, but it should no longer be used. Homebrew maintainers have fixed things and the options mentioned don't exist and won't work.

I still believe it is better to manually install npm separately since having a generic package manager maintain another package manager is a bad idea, but the instructions below don't explain how to do that.

Fixing npm On Mac OS X for Homebrew Users

Installing node through Homebrew can cause problems with npm for globally installed packages. To fix it quickly, use the solution below. An explanation is also included at the end of this document.

@branneman
branneman / better-nodejs-require-paths.md
Last active January 10, 2026 23:54
Better local require() paths for Node.js

Better local require() paths for Node.js

Problem

When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:

const Article = require('../../../../app/models/article');

Those suck for maintenance and they're ugly.

Possible solutions

@Metaxal
Metaxal / logging.rkt
Last active September 10, 2023 09:52
Simple usage of Racket's logging facility
#lang racket/base
; One way to define a logger
(define lg (make-logger 'my-logger))
; Define a receiver for this logger, along with a log level
(define rc (make-log-receiver lg 'error)) ; also try with 'debug
; Another way to define a logger, with additional forms
(define-logger lg2)
(define rc2 (make-log-receiver lg2-logger 'debug))
" Ag replace
function! ProjectAgReplace(search)
silent execute "args `ag -l " . a:search . "`"
let repcmd = "%s/" . a:search . "/"
let replace = input(repcmd)
execute "argdo" repcmd . replace
endfunction
@ssimeonov
ssimeonov / gist:4752473
Created February 11, 2013 03:57
I've found that test-driven development is the fastest way for me to learn a new language. There is no better way to bootstrap the learning process than by figuring out how to cobble together a minimal expectation-based testing framework in the new language. The following is the result of my first hour with Lua.
-- #t behaves strangely with hashtables & nil values
function table_length(t)
local count = 0
for _ in pairs(t) do count = count + 1 end
return count
end
function Test(test, expectation)
return {
test = test,
@dergachev
dergachev / GIF-Screencast-OSX.md
Last active January 15, 2026 07:26
OS X Screencast to animated GIF

OS X Screencast to animated GIF

This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.

Screencapture GIF

Instructions

To capture the video (filesize: 19MB), using the free "QuickTime Player" application:

anonymous
anonymous / imagemagick_brew.sh
Created December 19, 2012 11:49
How to downgrade imagemagick with brew if you have issues with rmagick gem
brew uninstall imagemagick
cd /usr/local/Cellar
git checkout 834ce4a /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
@trcarden
trcarden / gist:3295935
Created August 8, 2012 15:28
Rails 3.2.7 SSL Localhost (no red warnings, no apache config)
# SSL self signed localhost for rails start to finish, no red warnings.
# 1) Create your private key (any password will do, we remove it below)
$ openssl genrsa -des3 -out server.orig.key 2048
# 2) Remove the password
$ openssl rsa -in server.orig.key -out server.key
@jsl
jsl / gist:3221297
Created July 31, 2012 22:36
Removing and re-installing all bottles after mountain lion upgrade
for bottle in `brew list` ; do brew remove $bottle && brew install $bottle ; done