Good Guys Don't (Always) Give Away the Code
Sometimes proponents of Free Software make it sound as if you must give away all of your code as Free or Open Source Software (FOSS) if you want to be an honest and moral software developer. This is not the case. Morally motivated developers don't always have to give away their software. In fact,...
SSL And Password Protection for Kibana
Kibana is a front-end to Logstash, a log collection server. By default, Kibana is configured without support for logins and without support for SSL. This is a fast-paced explanation of how I tried to get Kibana reasonably secure.
To begin, I have a Logstash server up and running on an Ubuntu 13.10...
Generating Stack Traces in Go
The ability to generate a stack trace can prove to be very useful, especially when writing log files. The Go language's runtime
package provides a helper for generating a stack trace. Here's how to use it.
Simply put, you can grab a stack trace from just about anywhere in a Go program. Import the...
A Simple UDP Server in Go
Creating Go network clients and servers is simple, supported as it is by the excellent built-in net
package. But when I wanted to create a UDP server instead of a TCP or UNIX socket server, the API through me for a loop. I assumed that the same net.Listen()
function I used for other server types would...
Importing Python Docs into Dash
Dash is a cool little multi-language API documentation manager for OS X. While it's free (as in beer) with some limits, it is one of the few programs I don't mind paying for.
Dash makes it easy to install the core library references for a variety of languages and tools. Mine, for example, has Go...
Goose for Database Migrations
I've been hunting for good database tools to perform that class of tasks that we all need, but that we end up re-implementing over and over again. One such task is database migrations. I've been experimenting with Goose to provide general-purpose database migration support.
What Is Goose?
Goose...
DevZone's 2014 Cloud Platform Report
I am very excited to see DZone's 2014 Cloud Platform ResearchReport come out today. The team at DZone has been working on this updated version of the report for several months, and they have given me the opportunity to read through a few drafts and offer comments along the way. They also included...
The 5 Layers of PaaS
Ask a cloud-savvy developer what PaaS is, and you will get an answer like this:
A PaaS is a cloud service that lets developers deploy applications into the cloud without having to manage the underlying infrastructure layer.
A year or two ago, PaaS systems were monolithic. A single vendor or solution...
How Algorithms Rule the World
In a brainstorming meeting not too long ago, I asked my colleagues what I thought would be an easy question: What successful applications use artificial intelligence and machine learning? While I personally didn't know of many, I figured that collectively we'd be able to rattle off a dozen or so answers...
Death by Meeting
It was the end of a day of back-to-back meetings. Andrew and I were unwinding by the pool table in the break room. "I feel spent," I said. "Really? I'm pumped," returned Andrew. We both smiled. It had been a good day. A very, very good day.
The reason I was exhausted wasn't because we had spent the...