etsy/Hound: Fast code search tool written in Go

Stock photo of a bassett hound

https://github.com/etsy/Hound


From the Hound github page:

Hound is an extremely fast source code search engine. The core is based on this article (and code) from Russ Cox: Regular Expression Matching with a Trigram Index. Hound itself is a static React frontend that talks to a Go backend. The backend keeps an up-to-date index for each repository and answers searches through a minimal API.

icdiff (improved colored diff): Side-by-side highlighted command line diffs

icdiff screenshot

http://www.jefftk.com/icdiff

On Github: https://github.com/jeffkaufman/icdiff


From the icdiff web page:

Your terminal can display color, but most diff tools don’t make good use of it. By highlighting changes, icdiff can show you the differences between similar files without getting in the way. This is especially helpful for identifying and understanding small changes within existing lines.

Instead of trying to be a diff replacement for all circumstances, the goal of icdiff is to be a tool you can reach for to get a better picture of what changed when it’s not immediately obvious from diff.

Installation

curl -s https://raw.githubusercontent.com/jeffkaufman/icdiff/release-1.6.0/icdiff \
  | sudo tee /usr/local/bin/icdiff > /dev/null \
  && sudo chmod ugo+rx /usr/local/bin/icdiff

# The install-with-curl command should also work on other unixes.

# Or (mac only, depends on homebrew):
brew update && brew install icdiff

git-extras: Wonderful collection of Git utilities such as repository summary, REPL, author commit percentages, etc

https://github.com/tj/git-extras


List of Commands

From the Github page:

gitignore.io: Create a .gitignore file based on OS, IDE, and Programming Language

gitignore.io masthead

http://www.gitignore.io/


I typed in Windows, Netbeans, & Java and this is what came back:

# Created by http://www.gitignore.io

### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk


### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml


### Java ###
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

Link: A Hacker’s Guide to Git

http://wildlyinaccurate.com/a-hackers-guide-to-git

From the post:

Complex systems like Git become much easier to understand once you figure out how they really work. The goal of this post is to shed some light on how Git works under the hood. We’re going to take a look at some of Git’s core concepts including its basic object storage, how commits work, how branches and tags work, and we’ll look at the different kinds of merging in Git including the much-feared rebase. Hopefully at the end of it all, you’ll have a solid understanding of these concepts and will be able to use some of Git’s more advanced features with confidence.

It’s worth noting at this point that this guide is not intended to be a beginner’s introduction to Git. This guide was written for people who already use Git, but would like to better understand it by taking a peek under the hood, and learn a few neat tricks along the way.