GoAccess: Pretty Web log parser that runs in the terminal

GoAccess dashboard screenshot

From the GoAccess website:

GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems. It provides fast and valuable
HTTP statistics for system administrators that require a visual server report on the fly.


  • General Statistics, bandwidth, etc.
  • Time taken to serve the request (useful to track pages that are slowing down your site)
  • Top Visitors
  • Requested files
  • Requested static files, images, swf, js, etc.
  • 404 or Not Found
  • Hosts, Reverse DNS, IP Location
  • Operating Systems
  • Browsers and Spiders
  • Referring Sites
  • Referrers URLs
  • Keyphrases
  • Geo Location – Continents/Countries New
  • HTTP Status Codes
  • Ability to output JSON and CSV New
  • Different Color Schemes
  • Support for IPv6
  • Unlimited log file size
  • Output statistics to HTML. See report. N

Supported Formats

  • Any custom log format string
  • Common Log Format (CLF) Apache
  • Combined Format (XLF/ELF) Apache|Nginx
  • W3C format (IIS)
  • Amazon CloudFront (Download Distribution).
  • Apache virtual hosts

Output Formats

  • Terminal (default)
  • HTML
  • JSON
  • CSV

MakeMKV Beta: Rip DVDs to MKV format

MakeMKV Screenshot

From the MakeMKV website:

MakeMKV is a format converter, otherwise called “transcoder”. It converts the video clips from proprietary (and usually encrypted) disc into a set of
MKV files, preserving most information but not changing it in any way. The MKV format can store multiple video/audio tracks with all meta-information
and preserve chapters. There are many players that can play MKV files nearly on all platforms, and there are tools to convert MKV files to many
formats, including DVD and Blu-ray discs.

Additionally MakeMKV can instantly stream decrypted video without intermediate conversion to wide range of players, so you may watch Blu-ray and DVD
discs with your favorite player on your favorite OS or on your favorite device.

  • Reads DVD and Blu-ray discs
  • Reads Blu-ray discs protected with latest versions of AACS and BD+
  • Preserves all video and audio tracks, including HD audio
  • Preserves chapters information
  • Preserves all meta-information (track language, audio type)
  • Fast conversion – converts as fast as your drive can read data.
  • No additional software is required for conversion or decryption.
  • Available for Windows, Mac OS X and Linux
  • Functionality to open DVD discs is free and will always stay free.
  • All features (including Blu-ray decryption and processing) are free during BETA.

Finding apps and software tools: alternativeto.net

As my friends and coworkers know, I love software tools. I have a long list of apps that I use for any number of tasks at work, at home and on the go.

One of the sites that I use to help me find suitable software for any given task is http://alternativeto.net/

From the website:

AlternativeTo is a new approach to finding good software. Tell us what application you want to replace and we give you great alternatives, based on
user recommendations.

Are you an accidental diminisher?

From the article on the Ivey Business Journal website :

A manager who regularly steps in to solve a problem for an employee may think that he or she is helping. In fact, this well-intentioned manager is
actually limiting – and hurting – the employee. The effective manager enables employees to utilize the full depth and range of their intellect and
capabilities. In this article, readers will learn how managers can do that.


Bookmooch has been one of my favorite sites for awhile.

Bookmooch image

Here’s a bit of info from the about page:

BookMooch is a community for exchanging used books.

BookMooch lets you give away books you no longer need in exchange for books you really want.

Give & receive: Every time you give someone a book, you earn a point and can get any book you want from anyone else at BookMooch. Once you’ve
read a book, you can keep it forever or put it back into BookMooch for someone else, as you wish.

No cost: there is no cost to join or use this web site: your only cost is mailing your books to others.

Points for entering books: you receive a tenth-of-a-point for every book you type into our system, and one point each time you give a book
away. In order to keep receiving books, you need to give away at least one book for every two you receive.

Help charities: you can also give your points to charities we work with, such as children’s hospitals (so a sick kid can get a free book
delivered to their bed), Library fund, African literacy, or to us to thank us for running this web site .

The Go Programming Language

The Go Programming Language

Go Language mascot.  The Go Gopher

From the Go website:

The Go programming language is an open source project to make
programmers more productive.

Go is expressive, concise, clean, and efficient. Its concurrency
mechanisms make it easy to write programs that get the most out of
multicore and networked machines, while its novel type system enables
flexible and modular program construction. Go compiles quickly to
machine code yet has the convenience of garbage collection and the
power of run-time reflection. It’s a fast, statically typed, compiled
language that feels like a dynamically typed, interpreted language.

The Rust programming language by Mozilla

The Rust programming language by Mozilla.

From the Rust home page:

Rust is a curly-brace, block-structured expression language. It visually resembles the C language family, but differs significantly in syntactic and
semantic details. Its design is oriented toward concerns of “programming in the large”, that is, of creating and maintaining boundaries – both
abstract and operational – that preserve large-system integrity, availability and concurrency.

It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles. Rust also supports generic programming
and metaprogramming, in both static and dynamic styles.

And a snippet from the Rust home page:

fn main() {
    let nums = [1, 2];
    let noms = ["Tim", "Eston", "Aaron", "Ben"];

    let mut odds = nums.iter().map(|&x| x * 2 - 1);

    for num in odds {
        do spawn {
            println!("{:s} says hello from a lightweight thread!", noms[num]);