pfSense: Open Source Firewall

pfSense Logo

From the pfSense website:

The pfSense project is a free network firewall distribution, based on the
FreeBSD operating system with a custom kernel and including third party free
software packages for additional functionality. Through this package system
pfSense software is able to provide most of the functionality of common
commercial firewalls, and many times more.

pfSense software includes a web interface for the configuration of all included
components. Knowledge of FreeBSD is absolutely not necessary. Unlike some
similar GNU/Linux-based firewall distributions, there is no need for any UNIX
knowledge, no need to use the command line for anything, and no need to ever
manually edit any rule sets. In fact, the majority of pfSense users have never
installed or used a stock FreeBSD system. Users familiar with commercial
firewalls catch on to the web interface quickly, though there can be a learning
curve for users not familiar with commercial-grade firewalls.

TogetherJS: Mozilla, open source JavaScript library that adds collaboration features and tools to your website

TogetherJS Logo

From the TogetherJS website:


  • Audio Chat – TogetherJS uses Web RTC technology to enhance communication
    for your users.
  • User Focus – Your users see each other’s mouse cursors and clicks.
  • User Presence – TogetherJS enables your users to see each other in real
  • Text Chat – Your users can chat with each other with familiar instant
  • Co-Browsing – Your users can follow each other to different pages on the
    same domain.
  • Real Time Content Sync – Your users can see content on a site or app
    dynamically change together.

Nightwatch.js: Automated browser testing using tests written in Node.js running against a Selenium server

Nightwatch.js logo

From the Nightwatch.js website:

Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites.

It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.


  • Simple but powerful syntax which enables you to write tests very quickly, using
    only Javascript and CSS selectors. No need to initialize other objects and
    classes, you only need to write the test specs.

  • Built-in command-line test runner which enables you to run the tests either
    altogether, by group or single.

  • Manages the Selenium server automatically; can be disabled if Selenium runs on
    another machine.

  • Continous Integration support: JUnit XML reporting is built-in so you can
    integrate your tests in your build process with systems suchs as Hudson or

  • Use CSS selectors or Xpath to locate and verify elements on the page or execute

  • Easy to extend if you need to implement your own commands specific to your

libgit2: portable Git library written in C with bindings for over 20 languages & platforms

libgit2 logo

libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to
write native speed custom Git applications in any language which supports C bindings.

  • 100% Cross-Platform: Linux, FreeBSD, OpenBSD, Mac OS X, iOS, Amiga, MinGW and fully native Windows.
  • Zero Dependencies: Builds out of the box with no dependencies. Works in embedded devices and iOS.
  • ANSI C89: Written with portability in mind. Builds in GCC, Clang and MSVC.
  • Permissive Licensing: GPLv2 with Linking Exception. Link with open and proprietary software, no strings attached.

The complete list of language bindings is here on the Github page.

FreeMarker: Java Templating Engine

Freemarker image

From the website:

FreeMarker is a “template engine”; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates.
It’s a Java package, a class library for Java programmers. It’s not an application for end-users in itself, but something that programmers can
embed into their products.

FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based applications following the MVC (Model
View Controller) pattern. The idea behind using the MVC pattern for dynamic Web pages is that you separate the designers (HTML authors) from the
programmers. Everybody works on what they are good at. Designers can change the appearance of a page without programmers having to change or
recompile code, because the application logic (Java programs) and page design (FreeMarker templates) are separated. Templates do not become
polluted with complex program fragments. This separation is useful even for projects where the programmer and the HTML page author is the same
person, since it helps to keep the application clear and easily maintainable.

Although FreeMarker has some programming capabilities, it is not a full-blown programming language like PHP. Instead, Java programs prepare the
data to be displayed (like issue SQL queries), and FreeMarker just generates textual pages that display the prepared data using templates.

We use Apache Velocity extensively at work in our web content, but it hasn’t seen much in the way of updates for quite some time.

Overtone: Open source live-coding environment & audio collaboration platform written in Clojure

Overtone website masthead

According to the website, Overtone is a “live-coding environment and audio collaboration platform that’s free for everyone to download, hack on and make crazy-cool sounds either individually or in groups.” It is “a musical programming library written in Clojure which uses the SuperCollider audio engine and synthesis server under the covers.”

For a taste of what kind of sounds can be made in Overtone, check out this band’s website. Overtone also supports integration with Quil and Shadertone to integrate synchronized visuals with Overtone audio.