Delivering solid user friendly software solutions since the dawn of time.

Phonetic alphabet 

Categories: Security
  • A : Alpha
  • B : Bravo
  • C : Charlie
  • D : Delta
  • E : Echo
  • F : Foxtrot
  • G : Golf
  • H : Hotel
  • I : India
  • J : Juliett
  • K : Kilo
  • L : Lima
  • M : Mike
  • N : November
  • O : Oscar
  • P : Papa
  • Q : Quebec
  • R : Romeo
  • S : Sierra
  • T : Tango
  • U : Uniform
  • V : Victor
  • W : Whiskey
  • X : X-ray
  • Y : Yankee
  • Z : Zulu
  • - : Dash
  • _ : Underscore


Categories: Linux

vi editor commands

  • [ins] edit text
  • [esc] return back from editing
  • :w save
  • :wq save and exit
  • ? search
  • :q! exit without saving
  • a number preceding any vi command tells vi to repeat that command that many times.

cursor movement

  • h move left (backspace)
  • j move down
  • k move up
  • l move right (spacebar)
  • [ret] move to the beginning of the next line
  • $ last column on the current line
  • 0 move cursor to the first column on the current line
  • ^ move cursor to first nonblank column on the current line
  • w move to the beginning of the next word or punctuation mark
  • W move past the next space
  • b move to the beginning of the previous word or punctuation mark
  • B move to the beginning of the previous word, ignores punctuation
  • e end of next word or punctuation mark
  • E end of next word, ignoring punctuation
  • H move cursor to the top of the screen 
  • M move cursor to the middle of the screen
  • L move cursor to the bottom of the screen

screen movement

  • G move to the last line in the file
  • xG move to line x
  • z+ move current line to top of screen
  • z move current line to the middle of screen
  • z- move current line to the bottom of screen
  • ^F move forward one screen
  • ^B move backward one line
  • ^D move forward one half screen
  • ^U move backward one half screen
  • ^R redraw screen 
  • ^L redraw screen


  • r replace character under cursor with next character typed
  • R keep replacing character until [esc] is hit
  • i insert before cursor
  • a append after cursor
  • A append at end of line
  • O open line above cursor and enter append mode


  • x delete character under cursor
  • dd delete line under cursor
  • dw delete word under cursor
  • db delete word before cursor

copying code

  • yy (yank)'copies' line which may then be put by the p(put) command. Precede with a count for multiple lines.

put (brings back previous deletion or yank of lines, words, or characters)

  • P bring back before cursor
  • p bring back after cursor

find commands

  • ? finds a word going backwards
  • / finds a word going forwards
  • f finds a character on the line under the cursor going forward
  • F finds a character on the line under the cursor going backwards
  • t find a character on the current line going forward and stop one character before it
  • T find a character on the current line going backward and stop one character before it
  • ; repeat last f, F, t, T

miscellaneous commands

  • . repeat last command
  • u undoes last command issued
  • U undoes all commands on one line
  • xp deletes first character and inserts after second (swap)
  • J join current line with the next line
  • ^G display current line number
  • % if at one parenthesis, will jump to its mate
  • mx mark current line with character x
  • 'x find line marked with character x

line editor mode

  • any commands form the line editor ex can be issued upon entering line mode.
  • to enter: type ':'
  • to exit: press[return] or [esc]


  • :# move to line #
  • :$ move to last line of file


  • :!'cmd' executes 'cmd' as a shell command.

Remove or hide old linux kernel versions from boot menu 

Categories: Linux

Open terminal, check your current kernel

uname -r

List all the kernels

dpkg --list | grep linux-image

Remove the ones you don't need (do not delete the current kernel)

sudo apt-get purge linux-image-x.x-x-686-pae

Done, but sometimes you need to update grub with: sudo update-grub2

Disabling Missing XML Comment Warnings 

Categories: Visual Studio

Possible solutions to disable missing comment warnings in Visual Studio:

  • Suppress the warning by changing the project settings => Build tab => Errors and warnings => Suppress warnings by entering 1591
  • Uncheck the "XML documentation file" checkbox in project settings => Build tab => Output
  • Suppress the warning via compiler options, in beginning of file: #pragma warning disable 1591 and at end of file: #pragma warning restore 1591
  • Use GhostDoc
  • Add an empty comment :) ///<Summary></Summary>

Practical Mercurial - Notes 

Categories: Tortoise

Practical Mercurial by Rob Conery

Mastering mercurial

  • Only merge when you are ready.
  • Git's hostile and unfriendly! GUI Wanker vs l33t snob!
  • Team Foundation Server enforces workflow and needs licenses
  • Subversion needs centralized administrator.


  • Github made git popular
  • Git more powerful but more complex to use
  • You need to tell git to remember an added file
  • More opiniated
  • Allows to alter history more
  • Pluralsight - Git Fundamentals by James Kovacs
  • Git in your browser: http://try.github.com
  • Pro Git Book by Scott Chacon: http://www.git-scm.com/book


  • Http-friendly
  • Visual tools
  • CodePlex
  • Google Code
  • Bitbucket.org
  • Hg is build on top python
  • TortoiseHg
  • VisualHg or Mercurial SCC

Create repository
Settings: merge tool, username (name <email>)
.hgignore (https://gist.github.com/314082)

Connect to remote repo
Sync - Configure - Add (alias)

Webserver select ssl required.

Commit - Open a new named branch
Commit all changes in branch
Select branch you want to merge into (eg. default)
Make sure the current working directory is set to branch you want to merge into
Merge with


syntax: glob

  • Settings - Changelog - Author Coloring
  • Settings - Sync - After pull do update

hgrc are the local repository settings that override your global settings
username = Ken <mail@ken.be>

authorcolor = True
postpull = update

The working directory

  • Use Update to switch between revisions

Fixing mistakes

  • You added a password or connectionstring to the repository
  • Undo last commit
  • There are extensions that allow you to change the history
  • Use revert when not commited

Sharing with google code
Add remote as alias
Allows to add comments inline on the web
Side by side clone (vs github fork)
Naming: author-feature
Push changes to clone
Maintainer needs to pull clone and merge into main repository
All alias for repositories you want to pull from (make sure no update is done in those cases)

Merge conflicts

  • When you edit the conflict in winmerge the tortoisehg will think the merge is done.
  • If not you should click undo after returning from winmerge.
  • Then commit
  • All much faster then reintegrating a branch with subversion.

Working on a team

  • Setup smtp
  • Email patch (or export patch)
  • The patch is not mercurial dependend (hg import)
  • Hg Server (start webserver on port 8000)

Setup on your own iis

  • Download mercurial source + binaries
  • Download python (correct release for mercurial)
  • Install tortoisehg on server (optional)
  • Create directory for mercurial
  • Extract library.zip from source into this folder
  • Copy templates directory into this folder
  • copy hgweb.cgi & hgwebdir.cgi from binaries into this folder
  • Add correct read and execute for these files
  • Create sub directory repositories
  • Add write permissions to repositories directory for the user
  • Add hgweb.config: [paths] projects = \bla\bla\mercurial\repositories\**
  • IIS - Add website
  • Add handler mapping
  • CGI-exe *.exe
  • ISAPI-dll *.dll
  • *.cgi (normally *.py) to python.exe -u %s %s
  • Restrictions - Access - Execute
  • Edit Feature Permissions - Check Execute
  • Default document - hgwebdir.cgi
  • Basic Authentication Enable (disable anonymous)


hg status
hg commit -m "Added another comment"
hg branch
hg branch "Issue13"
hg status
hg commit -m "Fixed 13"
hg update default
hg merge Issue13
hg commit -m "Merged 13"
hgtk log
hg revert --all
hg rollback

Use hg & hgtk as an external tool in visual studio this works easier then visualhg

Check-in notifications

  • Mostly done on the central repository
  • Edit hgrc file
  • Set smtp settings


changegroup.notify = python:hgext.notify.hook

baseurl = http://repo.foo.bar

sources = push
test = False
template = Subject: [webroot|basename]: {desc|strip|firstline}\ndetails: {baseurl}...

config = /notify.config
rob@lala.com = *

* = rob@lala.com


  • will graft the branch onto another, so it is no longer existing.

Add extensions to hgrc

hg help rebase
hg update home_page (goto branch you want to attach)
hg branch (will show the branch you are in)
hg rebase -d default


Page 10 of 42 << < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 20 40 > >>