"I know how to program, but I don't know what to program"

There is a recurring theme I see with novice developers. They've put in their time to learn the basics of a programming language or two and they feel pretty comfortable doing programming exercises, but they don't know how to apply what they've learned. It usually comes in a phrase similar to "I know how to program, but I don't know what to program." The responses are typically "do programming challenges", "contribute to an open source project", or "make a game."

Binaural Beats with Java

Learn how to generate binaural beats using Java. A binaural beat is an auditory illusion perceived when two different pure-tone sine waves are heard dichotically, that is one through each ear. For example, if you wear a pair of headphones and one side is playing a 440Hz tone and the other side is playing a 450Hz tone you will actually hear a third tone that is the difference of the two frequencies. Your brain will interpret the difference between 440Hz and 450Hz and you will hear a third tone of 10Hz.

Using libpcap in C

libpcap allows us to capture or send packets from a live network device or a file. This tutorial and code examples will walk you through using libpcap to find network devices, get information about devices, process packets in real time or offline, send packets, and even listen to wireless traffic.

My First DEF CON

I went to DEF CON 23 this year. It was my first time to DEF CON and to Las Vegas. I paid on my own dime and it was not a company sponsored trip. I am sharing my personal experiences, opinions, and reflection on my first DEF CON. Others who will attend their first DEF CON might find some useful tips.

Writing a Mumble Bot in Ruby

Mumble is an open-source voice communication tool with low latency ideal for gaming. It is an alternative to the non-free TeamSpeak and Skype options. The Ruby gem mumble-ruby provides a library to connect and interact with Mumble as a client. These code snippets demonstrate how to connect and communicate in a chat room and private messages. At the very end, there is a fully functional command line chat client that is ready to use to chat on the DevDungeon.com Mumble server!

Working with Images in Go

The Image interface is at the core of image manipulation in Go. No matter what format you want to import or export from, it ultimately ends up as an Image. This is where the beauty of Go interfaces really shines. Go comes with support for gif, jpeg, and png formats in the standard packages. These examples demonstrate how to programatically generate, encode, decode, write to file, and base64 encode images. We will also cover a little bit about interfaces.

CoffeeScript Basics

CoffeeScript is an evolution of JavaScript. It actually compiles down to optimized JavaScript. It feels a lot like Python because of the significant whitespace, and lack of semi-colon line endings and curly braces. The syntax is a lot sparser than JavaScript which lends to its readability and simplicity. CoffeeScript can be run as an interpreter or a compiler. You can write plugins for the GitHub Atom Editor using CoffeeScript. The compiled JavaScript can be used for a web application or for command line applications run by Node.js.

Working with files in JavaScript (Node.js)

Node.js is the server side version of JavaScript. Since it is not limited by the web browser, we can access files on the file system. Here are several code snippets that demonstrate how to read, write, move, delete, change ownership, change permission, check if exists, and get statistics file size, timestamps, and ownership for files.