I find the default cygwin color palette to be a bit ugly, so here’s one that
has softer colors. Add the following lines to your
.minttyrc and restart
cygwin in order to apply changes.
ForegroundColour = 131, 148, 150 BackgroundColour = 0, 0, 0 CursorColour = 220, 50, 47 Black = 7, 54, 66 BoldBlack = 0, 43, 54 Red = 220, 50, 47 BoldRed = 203, 75, 22 Green = 0, 200, 132 BoldGreen = 0, 200, 132 Yellow = 204, 204, 102 BoldYellow = 204, 204, 102 Blue = 102, 153, 204 BoldBlue = 102, 153, 204 Magenta = 211, 54, 130 BoldMagenta = 108, 113, 196 Cyan = 42, 161, 152 BoldCyan = 147, 161, 161 White = 238, 232, 213 BoldWhite = 253, 246, 227
Setting up Ruby on Rails with MongoDB on a Windows machine.
You need to have cygwin installed with
git packages (obviously you
may want to have more).
The following commands are executed in the cygwin prompt:
git clone git://github.com/rubygems/rubygems.git cd rubygems/ ruby setup.rb gem install rails
Go to the MongoDB website and download Windows binaries:
http://www.mongodb.org/downloads. Extract the content of the
Create a directory for the db files (the default MongoDB db files directory is
cd /cygdrive/c mkdir data mkdir data/db
Done! Both mongo and rails are in your cygwin’s path now, feel free to tweak it as you see fit.
I’ve been giving preference to a keyboard over mouse since I discovered vim for myself, as it’s a faster and more convenient way to go. I am a Chrome user and recently I found an amazing plugin: Vimium.
It does exactly what the name suggests, allowing you to use vim-like commands in your browser. You can freely move, switch between tabs, work with forms and click links using familiar vim key bindings.
A two minute long introductory video explains basic commands and you’re all set! I’ve been using Vimium for over a week now, an amusing experience which allows you to throw your mouse in a dark corner (well, not exactly: Vimium still has some issues with over-bloated ajax pages, not to mention Flash and other nasty stuff).
Check it out: http://vimium.github.com/.
Today I had to merge changes from one repository into another. Let’s assume you
want to merge
Operations are performed in repo alpha:
git remote add beta_repo firstname.lastname@example.org:beta.git git fetch beta_repo git merge beta_repo/master
In this case,
beta_repo is the name you pick for remote.
If you just need to cherry-pick a certain commit from
beta you can omit the
last step and replace it with the cherry-pick.
More on the topic of remotes: http://git-scm.com/book/ch2-5.html.
To encrypt and decrypt files in Linux there is a utility called
Privacy Guard). This is a short GPG tutorial.
Quick usage example
gpg -c foo.txt
It will prompt you for the passphrase and a confirmation. Now you will have the
foo.txt.gpg file. To decrypt a file:
gpg -d foo.txt.gpg
This will forward the output to the console. You can output it into a file:
gpg -d foo.txt.gpg > foo.txt
This is all secure, but not quite enough if you are paranoid. Keys are what
gpg great. Let’s generate a private key:
And create an ASCII version of a public key:
gpg --armor --export "John Doe" --output johndoe.txt
johndoe.txt can be freely distributed. Now you can encrypt files
for yourself only:
gpg -e -r "John Doe" foo.txt
Now if you decrypt a file it will require the passphrase you specified while generating a key. To encrypt a file for someone else you should have this person’s public key.
Let’s assume Stan Smith sent you a key,
stansmith.txt. You import it using:
gpg --import stansmith.txt
And encrypt the file:
gpg -e -r "Stan Smith" foo.txt