
I know how to make and sell software online, and I can share my tips
with you.
Email
|
Twitter
|
LinkedIn
|
Comics
|
All articles
Draw waveforms and hear them
Posted twelve years ago
A while back I thought it would be interesting to be able to draw arbitrary waveforms and then listen to how they sound. I had an audio engine just laying around, so I whipped up a quick application to do that.

download WaveStudio.exe
Results
In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like.
Future work
It would be a better to be able to draw in the time vs. frequency domain, using standard brush painting tools. Thay way you could come up with more interesting waveforms.
Is 2009 the year of Linux malware?

Is 2009 the year of the linux desktop malware? How long until we see headlines like, "Researchers find massive botnet based on linux 2.30"?
Game Theory, Salary Negotiation, and Programmers
When you get a new job, you can breathe a sigh of relief, but not for long. You have an offer letter in your hand, and it is easy to miss one of the most important opportunities of your life: the starting salary. Here's what to do to increase your chances.
Succinct Data Structures: Cramming 80,000 words into a Javascript file.

jQuery creator John Resig needs a little help storing lists of words in his side project. Let's go overkill and explore a little known branch of computer science called Succinct Data Structures.
cairo blur image surface

This really should have been included in cairo. Instead, everyone that wants to have shadows has to roll their own blur function. Here's my take on it. I'll even release this into the public domain.
Zwibbler: A simple drawing program using Javascript and Canvas

Now it's a commercial product, but
Zwibbler was once a fun side-project, and here's some details on its implementation.
Creating portable binaries on Linux
Distributing applications on Linux is hard. Sure, with modern package management,
installing software is easy. But if you are
distributing an application, you probably need one Windows version, plus umpteen different versions for Linux. In this article, we'll create a dummy application that targets the following operating systems, which are commonly used in business environments...