I know how to make and sell software online, and I can share my tips
with you.
Email
|
Twitter
|
LinkedIn
|
Comics
|
All articles
See sound without drugs
Posted 15 years ago
To further my understanding of frequency analysis and the fast fourier transform, I have created an application that just turns on the microphone and continually plots the FFT magnitude of what it records. It allows control over the window size and sampling rate.
Download SoundLab
Because the FFT of a real valued function is even, we only display the first half.
It's fun to whistle and see the result. I think it would be cool to make a game out of this. For example, you could make pong and control the paddle with sound. I plan to call it Whistle Hero.
For some more fun, run soundlab at the same time as WaveStudio, an older application I made that lets you draw a waveform and hear it. That way you can see a waveform that you create in the time domain in the frequency domain, and hear it all at the same time. Its actually quite challenging to try to make a perfect soundwave, and eliminate all of the harmonics.
Regular Expression Matching can be Ugly and Slow
If you open the first few pages of O'Reilly's Beautiful Code, you will find a well written chapter by Brian Kernighan (Personal motto: "No, I didn't invent C. Who told you that?"). The non-C inventing professor describes how a limited form of regular expressions can be implemented elegantly in only a few lines of C code.
How I run my business selling software to Americans
Here's what you can do to get the most out of your business in Canada if all of your revenue comes in US dollars.
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.
An instant rhyming dictionary for any web site
Sometimes your API has to be simple enough for non-technical people to use it. Find out how to include a rhyming dictionary on your web page just by copying and pasting.
A Rhyming Engine
Here's a rhyming engine, written in 1000 lines of C++ code. It uses the freely available Moby dictionary, and full source code is provided.
Finding awesome developers in programming interviews
In a job interview, I once asked a very experienced embedded software developer to write a program that reverses a string and prints it on the screen. He struggled with this basic task. This man was awesome. Give him a bucket of spare parts, and he could build a robot and program it to navigate around the room. He had worked on satellites that are now in actual orbit. He could have coded circles around me. But the one thing that he had never, ever needed to do was: display something on the screen.
Email Etiquette
If you begin your emails with "Hi, <name>!" then they will seem less rude.
How wide should you make your web page?
Based on 22500 unique IP addresses over the past week.
Detecting C++ memory leaks
It's fairly simple to redefine malloc() and free() to your own functions, to track the file and line number of memory leaks.