Skip to main content

Mark Watkins

Mark Watkins's Public Library

Feb 09, 16

"Blistering fast performance for your Dot Net apps
In less than a second InMemory.Net can query hundreds of millions of data rows on a server or tens of millions from a simple desktop.

Designed to run with Dot Net 4.0 or above, InMemory.Net allows Dot Net applications to run queries at lightning speed."

Feb 05, 16

A command-line installer for Windows

Feb 03, 16

"
# This code was auto generated by with these options:
# http://andrewray.me/bash-prompt-builder/index.html#git=1&color-git=3&git-prefix=1&color-git-prefix=3&git-ahead=1&color-git-ahead=6b&git-modified=1&color-git-modified=3&git-conflicted=1&color-git-conflicted=1&git-revno=1&color-git-revno=3&git-bisect=1&color-git-bisect=5&option-submodule=1&color-option-submodule=5&git-ontag=1&color-git-ontag=3&hg=1&color-hg=5&hg-prefix=1&color-hg-prefix=5&hg-modified=1&color-hg-modified=5&hg-conflicted=1&color-hg-conflicted=1&hg-revno=1&color-hg-revno=5&hg-bisect=1&color-hg-bisect=3&hg-patches=1&color-hg-patches=3&svn=1&color-svn=6&color-svn-modified=6&color-svn-revno=6&option-modified=%E2%96%B3&option-conflict=%E2%98%A2&color-option-conflict=3&max-conflicted-files=2&option-nobranch=no%20branch!&color-option-nobranch=1&bisecting-text=bisecting&submodule-text=%5Bsubmodule%5D%20

MAX_CONFLICTED_FILES=2
DELTA_CHAR="△"
CONFLICT_CHAR="☢"
BISECTING_TEXT="bisecting"
NOBRANCH_TEXT="no branch!"
REBASE_TEXT="✂ ʀebase"
SUBMODULE_TEXT="[submodule] "

# Colors for prompt
COLOR_RED=$(tput sgr0 && tput setaf 1)
COLOR_GREEN=$(tput sgr0 && tput setaf 2)
COLOR_YELLOW=$(tput sgr0 && tput setaf 3)
COLOR_BLUE=$(tput sgr0 && tput setaf 4)
COLOR_MAGENTA=$(tput sgr0 && tput setaf 5)
COLOR_CYAN=$(tput sgr0 && tput setaf 6)
COLOR_GRAY=$(tput sgr0 && tput setaf 7)
COLOR_WHITE=$(tput sgr0 && tput setaf 7 && tput bold)
COLOR_LIGHTRED=$(tput sgr0 && tput setaf 1 && tput bold)
COLOR_LIGHTGREEN=$(tput sgr0 && tput setaf 2 && tput bold)
COLOR_LIGHTYELLOW=$(tput sgr0 && tput setaf 3 && tput bold)
COLOR_LIGHTBLUE=$(tput sgr0 && tput setaf 4 && tput bold)
COLOR_LIGHTMAGENTA=$(tput sgr0 && tput setaf 5 && tput bold)
COLOR_LIGHTCYAN=$(tput sgr0 && tput setaf 6 && tput bold)

COLOR_RESET=$(tput sgr0)

if [ -z "`echo $(hg prompt \"abort\" 2>&1) | grep abort`" ]; then
    echo "hg-prompt not installed. Suggest http://sjl.bitbucket.org/hg-prompt/installation/"
fi

_hg_dir=""
function _hg_check {
    [ -d ".hg" ] && _hg_dir=`pwd`
    base_dir="."
    while [ -d "$base_dir/../.hg" ]; do base_dir="$base_dir/.."; done
    if [ -d "$base_dir/.hg" ]; then
        _hg_dir=`cd "$base_dir"; pwd`
        return 0
    else
        return 1
    fi
}

_svn_dir=""
function _svn_check {
    parent=""
    grandparent="."

    while [ -d "$grandparent/.svn" ]; do
        parent=$grandparent
        grandparent="$parent/.."
    done

    if [ ! -z "$parent" ]; then
        _svn_dir=`cd "$parent"; pwd`
        return 0
    else
        return 1
    fi
}

_git_dir=""
_git_svn_dir=""
function _git_check {
    _git_dir=`git rev-parse --show-toplevel 2> /dev/null`
    if [[ "$_git_dir" == "" ]]; then
        return 1
    else
        _gsvn_check=`cd "$_git_dir"; ls .git/svn/.metadata 2> /dev/null`

        if [[ ! -z "$_gsvn_check" ]]; then
            _git_svn_dir=$_git_dir
        fi
        return 0
    fi
}

function is_submodule() {
    local parent_git=`cd "$_git_dir/.." && git rev-parse --show-toplevel 2> /dev/null`
    if [[ -n $parent_git ]]; then
        local submodules=`cd "$parent_git" && git submodule --quiet foreach 'echo $path'`
        for line in $submodules; do
            cd "$parent_git/$line"
            if [[ `pwd` = $_git_dir ]]; then return 0; fi
        done
    fi
    return 1
}

dvcs_function="
    # Figure out what repo we are in
    _git_check \
        || _hg_check \
        || _svn_check

    # Build the prompt!
    prompt=\"\"

    # If we are in git ...
    if [ -n \"\$_git_dir\" ]; then
        # find current branch
        gitBranch=\$(git symbolic-ref HEAD 2> /dev/null)
        gitStatus=\`git status\`

        # Figure out if we are rebasing
        if [[ -d \"\$_git_dir/.git/rebase-apply\" || -d \"\$_git_dir/.git/rebase-merge\" ]]; then
            is_rebase=1
        fi

        # Figure out current branch, or if we are bisecting, or lost in space
        bisecting=\"\"
        if [ -z \"\$gitBranch\" ]; then
        if [ -n \"\$is_rebase\" ]; then
            rebase_prompt=\" \\[\$COLOR_LIGHT_CYAN\\]\"
            rebase_prompt=\$rebase_prompt\"\\[`tput sc`\\]  \\[`tput rc`\\]\\[\$REBASE_TEXT\\] \"
            rebase_prompt=\$rebase_prompt\"\\[\$COLOR_YELLOW\\]\"
        else
            bisect=\$(git rev-list --bisect 2> /dev/null | cut -c1-7)
            if [ -z \"\$bisect\" ]; then
            gitBranch=\"\\[\$COLOR_RED\\]\$NOBRANCH_TEXT\\[\$COLOR_YELLOW\\]\"
        else
            bisecting=\"\\[\$COLOR_MAGENTA\\]\$BISECTING_TEXT:\"\$bisect\"\\[\$COLOR_YELLOW\\]\"
            gitBranch=\"\"
        fi
        fi
        fi
        gitBranch=\${gitBranch#refs/heads/}
        #: git-svn
        if [ -z \"\$bisect\" ]; then
            if [ -n \"\$_git_svn_dir\" ]; then
                gitBranch=\"\\[\$COLOR_DARK_BLUE\\]git-svn\\[\$COLOR_YELLOW\\] \$gitBranch\"
            fi
        fi

            
        if [ -z \"\$is_rebase\" ]; then
            # changed *tracked* files in local directory?
            gitChange=\$(echo \$gitStatus | ack 'modified:|deleted:|new file:')
            if [ -n \"\$gitChange\" ]; then
                gitChange=\"\\[\$COLOR_YELLOW\\] \\[`tput sc`\\]  \\[`tput rc`\\]\\[\$DELTA_CHAR\\] \"
            fi
        fi

            # output the branch and changed character if present
            prompt=\$prompt\"\\[\$COLOR_YELLOW\\] (\"

            if is_submodule; then
                prompt=\$prompt\"\\[\$COLOR_MAGENTA\\]\$SUBMODULE_TEXT\\[\$COLOR_YELLOW\\]\"
            fi

            prefix=\"\\[\$COLOR_YELLOW\\]git:\\[\$COLOR_YELLOW\\]\"
            prompt=\$prompt\$prefix\$gitBranch\$bisecting
            revNo=\$(git rev-parse HEAD 2> /dev/null | cut -c1-7) || return

            # If bisecting don't output revno
            if [ -z \"\$bisecting\" ] && [ -z \"\$noBranch\" ];then
                prompt=\$prompt\":\$revNo\"
            fi
            tag=\`git describe --tags --exact 2> /dev/null\`
            if [ -n \"\$tag\" ]; then
                prompt=\"\$prompt\\[\$COLOR_YELLOW\\] \\\"\$tag\\\"\\[\$COLOR_YELLOW\\]\"
            fi
            prompt=\$prompt\"\$gitChange\\[\$COLOR_YELLOW\\])\\[\$COLOR_RESET\\]\"

            # How many local commits do you have ahead of origin?
            num=\$(echo \$gitStatus | grep \"Your branch is ahead of\" | awk '{split(\$0,a,\" \"); print a[13];}') || return
            if [ -n \"\$num\" ]; then
                prompt=\$prompt\"\\[\$COLOR_CYAN\\] +\$num\"
            fi

            # any conflicts? (sed madness is to remove line breaks)
            files=\$(git ls-files -u | cut -f 2 | sort -u | sed '$(($MAX_CONFLICTED_FILES+1)),1000d' | sed -e :a -e '\$!N;s/\\\n/, /;ta' -e 'P;D')
        fi

    # If we are in mercurial ...
    if [ -n \"\$_hg_dir\" ]; then
        hgBranch=\`cat \"\$_hg_dir/.hg/branch\"\`

        hgPrompt=\"s\"
        hgPrompt=\"\$hgPrompt{status|modified}\"

        hgPrompt=\"\$hgPrompt n\"
        hgPrompt=\"\$hgPrompt{node}\"

        hgPrompt=\"\$hgPrompt p\"
        hgPrompt=\"\$hgPrompt{patches|hide_unapplied|join(,)}\"

        promptOptions=(\`hg prompt \"\$hgPrompt\" | tr -s ':' ' '\`)

        hgm=\${promptOptions[0]:1}
        if [ -n \"\$hgm\" ]; then
            hgChange=\"\\[\$COLOR_PURPLE\\] \\[`tput sc`\\]  \\[`tput rc`\\]\\[\$DELTA_CHAR\\]\"
        fi

        # output branch and changed character if present
        prompt=\$prompt\"\\[\$COLOR_MAGENTA\\] (\"
        
        prefix=\"\\[\$COLOR_MAGENTA\\]hg:\\[\$COLOR_MAGENTA\\]\"
        prompt=\$prompt\"\${prefix}\${hgBranch}\"

        bisecting=\$(hg bisect 2> /dev/null | head -n 1)
        bisecting=\${bisecting:20:7}

        if [ -z \"\$bisecting\" ]; then
            prompt=\$prompt
            prompt=\$prompt\":\${promptOptions[1]:1:7}\"
        else
            prompt=\"\$prompt\\[\$COLOR_YELLOW\\]:\$BISECTING_TEXT:\"\$bisecting\"\\[\$COLOR_MAGENTA\\]\"
        fi
        prompt=\$prompt\"\$hgChange\"
        patches=\${promptOptions[2]:1}
        if [ -n \"\$patches\" ];then
            prompt=\$prompt\"\\[\$COLOR_YELLOW\\] [\$patches]\\[\$COLOR_MAGENTA\\]\"
        fi
        prompt=\$prompt\")\"

    # Conflicts?
        files=\$(hg resolve -l | grep \"U \" | sed '$(($MAX_CONFLICTED_FILES+1)),1000d' | awk '{split(\$0,a,\" \"); print a[2];}') || return
    fi

    # If we are in subversion ...
    if [ -n \"\$_svn_dir\" ]; then

        # changed files in local directory? NOTE: This command is the slowest of the bunch
        svnChange=\$(svn status | ack \"^M|^!\" | wc -l)
        if [[ \"\$svnChange\" != \"       0\" ]]; then
            svnChange=\"\\[\$COLOR_CYAN\\] \\[`tput sc`\\]  \\[`tput rc`\\]\\[\$DELTA_CHAR\\] \"
        else
            svnChange=\"\"
        fi

        # revision number (instead of branch name, silly svn)
        revNo=\`svnversion --no-newline\`
        prompt=\$prompt\"\\[\$COLOR_CYAN\\] (svn\"
        prompt=\$prompt\"\$svnChange)\\[\$COLOR_RESET\\]\"
    fi

    # Show conflicted files if any
    if [ -n \"\$files\" ]; then
        prompt=\$prompt\" \\[\$COLOR_RED\\](\\[\$COLOR_YELLOW\\]\"
        prompt=\$prompt\"\\[`tput sc`\\]  \\[`tput rc`\\]\\[\$COLOR_YELLOW\\]\\[\$CONFLICT_CHAR\\] \"
        prompt=\$prompt\"\\[\$COLOR_RED\\] \${files})\"
    fi

    echo -e \$prompt"
# End code auto generated by http://andrewray.me/bash-prompt-builder/index.html

PS1="\$(${dvcs_function})\[$COLOR_RESET\] \$ "
            "

Jan 14, 16

"TaxCloud makes it easy for online businesses to comply with sales tax laws
 Free and easy to use
   Calculates sales tax for every address in the United States
  Keeps track of which types of products are exempt from sales tax in which states
  Integrated with over 80 e-commerce platforms — or use our APIs to connect to any system
  Trusted by over 10,000 online retailers of all sizes"

Jan 02, 16

"Subtitle Edit is a free (open source) editor for video subtitles - a subtitle editor :)

With SE you can easily adjust a subtitle if it is out of sync with the video in several different ways.
You can also use SE for making new subtitles from scratch (do use the time-line/waveform/spectrogram) or translating subtitles."

Jan 02, 16

" I wanted it to be mostly the only tool I would need when extracting data from MKV files."

Jan 02, 16

"A GUI for mkvextract utility (part of MKVToolnix) which incorporates most (if not all) functionality of mkvextract and mkvinfo utilities.
Written in C# .NET 2.0, in order to attain high compatibility with Windows OS (WinXP and newer Windows), as well as Linux through Mono (v1.6.4 and newer), and perhaps OSX (not tested)."

Jan 02, 16

"MKVToolNix is a set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.

Since May 1st 2003, the Matroska libraries themselves and my Matroska tools are officially available. I urge you to download the software, use it and report any errors you encounter to me. I'm always grateful for good bug reports because I make mistakes and you guys normally find them. Your feedback is important to me :)"

Dec 24, 15

"Let’s Encrypt is a new Certificate Authority:
It’s free, automated, and open.
In Public Beta"

Dec 10, 15

Integrated Data Scripting for the Cloud - Get started with MBrace today.

Nov 19, 15

"This utility was written to submit disk and memory usage metrics to Amazon CloudWatch. When executing, it will submit the following metrics:"

Nov 13, 15

Walk-Thrus are a series of interactive tip-balloons overlaid on the screen. These balloons help users act, react and progress through their business process. Users receiving help remain on site eliminating the need to go back and forth between video tutorials and FAQ’s. WalkMe guides users in real time on your site.

Nov 10, 15

The best way to track the quality of your code
Bliss consolidates metrics from source control, static analysis, and issue tracking to help engineering managers make informed decisions.

1 - 20 of 3167 Next › Last »
20 items/page

Diigo is about better ways to research, share and collaborate on information. Learn more »

Join Diigo