GitHub Cheat Sheet

GitHub Cheat Sheet

Here’s the list of items from the table of contents:

  • GitHub
    • Ignore Whitespace
    • Commit History by Author
    • Cloning a Repository
    • Comparing Branches
    • Compare Branches across Forked Repositories
    • Gists
    • Keyboard Shortcuts
    • Line Highlighting in Repositories
    • Closing Issues via Commit Messages
    • Cross-Link Issues
    • Syntax Highlighting in Markdown Files
    • Emojis
    • Images/GIFs
      • Embedding Images in GitHub Wiki
    • Quick Quoting
    • Quick Licensing
    • Task Lists
    • Relative Links
    • Metadata and Plugin Support for GitHub Pages
    • Diffs
      • Rendered prose Diffs
      • Diffable Maps
      • Expanding Context in Diffs
    • Hub
    • Decreasing Contributor Friction
    • Contributing Guidelines
    • Git
    • Previous Branch
    • Checking out Pull Requests
    • Empty Commits :trollface:
    • Styled Git Status
    • Styled Git Log
    • Git Query
    • Merged Branches
    • Web Server for Browsing Local Repositories
    • Git Configurations
      • Aliases
      • Auto-Correct
      • Color

Spray: Build REST/HTTP-based integration layers on top of Scala & Akka

Spray Logo

From the Spray Website:

Spray is a suite of lightweight Scala libraries providing client- and
server-side REST/HTTP support on top Akka.

Fully asynchronous, non-blocking
All APIs are fully asynchronous, blocking code is avoided wherever at all

Actor- and Future-based
spray fully embraces the programming model of the platform it is built upon.
Akka Actors and Futures are key constructs of its APIs.

Especially sprays low-level components are carefully crafted for excellent
performance in high-load environments.

All dependencies are very carefully managed, sprays codebase itself is kept
as lean as possible.

Being structured into a set of integrated but loosely coupled components your
application only needs to depend onto the parts that are actually used.

All spray components are structured in a way that allows for easy and
convenient testing.

Presentation Slides: Micro services – Java, the Unix Way

Here are some interesting slides from a talk on Micro services:

From the summary:

“Write programs that do one thing and do it well. Write programs to work
together” was accepted 40 years ago yet we have spent the last decade building
monolithic applications, communicating via bloated middleware and with our
fingers crossed that Moore’s Law keeps helping us out. There is a better way.

Micro services. In this talk we will discover a consistent and reinforcing set
of tools and practices rooted in the the Unix Philosophy of small and simple.
Tiny applications, communicating via the web’s uniform interface with single
responsibilities and installed as well behaved operating system services. So,
are you sick of wading through tens of thousands of lines of code to make a
simple one line change? Of all that XML? Come along and check out what the
cools kids are up to (and the cooler grey beards).

This is a talk about building micro-services using simple java tools contains some Architecture>

Jetty: Open Source Servlet Container & HTTP Server

Jetty logo

I’ve recently become interested in Microservices and Jetty is a good choice of servlet container for running and serving microservices.

From the Jetty homepage:

Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and
many other integrations. These components are open source and available for commercial use and distribution.


  • Full-featured and standards-based
  • Open source and commercially usable
  • Flexible and extensible
  • Small footprint
  • Embeddable
  • Asynchronous
  • Enterprise scalable
  • Dual licensed under Apache and Eclipse

Sonatype Nexus: Repository management tool that proxies remote repos and allows sharing of artifacts between teams

Sonatype logo

The Sonatype Nexus webpage says:

Sonatype Nexus sets the standard for repository management providing
development teams with the ability to proxy remote repositories and share
software artifacts. Download Nexus and gain control over open source
consumption and internal collaboration.

At work, we’re using Ant to manage our builds. We store artifacts from other teams in a common module. It would be nice to manage those external dependencies in a tool like Nexus.