Defensive BASH Programming

“Here I provide methods to defend your programs from braking, and keep the code tidy and clean…”

Please, take a look at:


A Tour of Machine Learning Algorithms

“After we understand the type of machine learning problem we are working with, we can think about the type of data to collect and the types of machine learning algorithms we can try. In this post we take a tour of the most popular machine learning algorithms. It is useful to tour the main algorithms to get a general idea of what methods are available.

There are so many algorithms available. The difficulty is that there are classes of method and there are extensions to methods and it quickly becomes very difficult to determine what constitutes a canonical algorithm. In this post I want to give you two ways to think about and categorize the algorithms you may come across in the field.

The first is a grouping of algorithms by the learning style. The second is a grouping of algorithms by similarity in form or function (like grouping similar animals together). Both approaches are useful…”

A Comparison of Go Web Frameworks

“A few months ago we introduced Go to our system at Square and it’s quickly become one of our sharpest tools. We recently evaluated Go web frameworks looking for one that fits us best.

TL;DR: We recommend just using the net/http package in the standard library to start. And if you want help with request routing we recommend looking at Gorilla and Gocraft/web. Both Revel and Martini have too much dependency injection and other magic to make us feel comfortable. Gorilla is the most minimal.

All of the frameworks we looked at are built on top of the net/http package…”

NGINX as a WebSockets Proxy

“The WebSocket protocol provides a way of creating web applications that support realtime bi-directional communications between clients and servers. Part of HTML5, WebSockets makes it much easier to develop these types of applications then the methods previously available. Most modern browsers support WebSockets including Firefox, Internet Explorer, Chrome, Safari and Opera and more and more server application frameworks are now supporting WebSockets as well.

For enterprise production use, where multiple WebSocket servers are needed for performance and high availability, a load balancing layer that understands the WebSocket protocol is required, and NGINX has supported WebSockets since NGINX 1.3 and can act as a reverse proxy and do load balancing of WebSocket applications…”