You are currently browsing the category archive for the ‘Uncategorized’ category.

I’ve been using MassTransit over NServiceBus lately … for reasons I won’t delve into now.

Sometimes there is an error when processing a message and it gets thrown in the [name of queue]_error queue. If you have some logging or monitoring setup, you will get messages about the error and want to re-process those messages.

MassTransit comes with another utility called BusDriver that is a command line tool that can move messages from one queue to another.

To just move one message

> BusDriver.exe move –from “msmq://localhost/queue_name_error” –to “msmq://localhost/queue_input”

You can also provide another argument, “-count” that takes the number of messages to move.

> BusDriver.exe move –from “msmq://localhost/queue_name_error” –to “msmq://localhost/queue_input” –count “20”

The above command will move 20 messages from my queue named “queue_name_error” to “queue_input”

Pretty nifty.

There are some other commands in the program that I have not used yet, but feel free to take a gander from the source code @ https://github.com/MassTransit/MassTransit/blob/master/src/Tools/BusDriver/CommandParser.cs

Advertisements

Just dropping some stuff on my blog to keep as reminders

  • ctags
  • matchit
  • NERD commenter
  • NERD tree
  • snipmate
  • sparkup
  • surround
  • taglist
  • ragtag
  • a.vim

Resources for plugins and learning Vim:

call pathogen#runtime_append_all_bundles()

syntax on
filetype plugin indent on
set tabstop=2
set smarttab
set shiftwidth=2
set autoindent
set expandtab

let mapleader= ","

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = ‘-a –binary ‘
  if &diffopt =~ ‘icase’ | let opt = opt . ‘-i ‘ | endif
  if &diffopt =~ ‘iwhite’ | let opt = opt . ‘-b ‘ | endif
  let arg1 = v:fname_in
  if arg1 =~ ‘ ‘ | let arg1 = ‘"’ . arg1 . ‘"’ | endif
  let arg2 = v:fname_new
  if arg2 =~ ‘ ‘ | let arg2 = ‘"’ . arg2 . ‘"’ | endif
  let arg3 = v:fname_out
  if arg3 =~ ‘ ‘ | let arg3 = ‘"’ . arg3 . ‘"’ | endif
  let eq = ”
  if $VIMRUNTIME =~ ‘ ‘
    if &sh =~ ‘\<cmd’
      let cmd = ‘""’ . $VIMRUNTIME . ‘\diff"’
      let eq = ‘"’
    else
      let cmd = substitute($VIMRUNTIME, ‘ ‘, ‘" ‘, ”) . ‘\diff"’
    endif
  else
    let cmd = $VIMRUNTIME . ‘\diff’
  endif
  silent execute ‘!’ . cmd . ‘ ‘ . opt . arg1 . ‘ ‘ . arg2 . ‘ > ‘ . arg3 . eq
endfunction

colorscheme xoria256
set ic
set wildmenu
nmap <silent> <leader>, :NERDTreeToggle<CR>

set number
set nowrap
syntax on
filetype on

cd C:\dev\dovetail.search\branches\2.0\

set tag=c:\temp\ctags\seeker

nmap <silent> <leader>tt :TlistToggle<CR>
nmap <silent> <leader>n :silent :nohlsearch<CR>

Creating Windows Installers is no fun.  Seriously, no fun.  The feedback cycle is way too long.  In order to shorten the cycle, here are a few command-line options to use to speed it up.

This will install the package with no UI at all (headless):

msiexec /i MyInstaller.msi /qn
 
It will save you time you don’t have to keep clicking “Next” … “Next”, “Finish”.  This will vary depending on how complicated your Install UI Sequence is.
 
This will uninstall the package without prompting you to confirm the action:
 
msiexec /x MyInstaller.msi /qn

Here are options I use frequently:
  • /i
    • install the package
  • /qn
    • shows no user interface
  • /x
    • uninstall the package
  • /l*v [path to log file]
    • verbose logging
If you are trying to debug the installation, use the log option with a tail:
 
/msiexec /i MyInstaller.msi /qn /l*v installer.log

Overview

This will be the first part in a series of tips on some ReSharper goodness.  For the people that don’t know what ReSharper is, it’s a productivity tool for Visual Studio.  It installs as plug-in and enhances the user experience tremendously.  I will never go without ReSharper again.

Here is list of some of the features:

  • on the fly code analysis
  • code assistance (C# 3.0 ready!)
    • quick fixes
    • suggestions
    • auto complete
  • error highlighting
  • advanced code refactoring
  • navigation
  • unit testing
  • code templates

If you are a keyboard junkie, it’s got hotkeys for everything and you won’t ever have to use that crutch mouse hardly ever again.  I suggest you download the 30 day trial and see your productivity increase yourself!

Tip #1: Current Line Highlighting

Example:

image

That is clear call out to what line you are currently working on.  I love it.  You want it.  So how?

Step 1: Turn on highlighting

  • Go to the ReSharper Options (ALT+R, O)
  • Select Editor
  • Check “Highlight current line”
  • Click OK

image

You can also modify the color of the current line option.  It’s pale yellow by default, which isn’t enough for me apparently.

Step 2: Change highlight color

  • Go to Tools –> Options (ALT+T, O)
  • Expand Environment
  • Select Fonts and Colors
  • In Display Items, go to ReSharper Current Line
  • Change Item background color to your choice

image

*note all steps and pictures are with Visual Studio 2008