Steve Hanov's Home Page
Contact
You can email me at steve.hanov@gmail.com.
Including entries on:
Research
I am pursuing a Masters of Computer Science, part time, at the University of
Waterloo. My supervisor is Steve
MacDonald.
Here's some papers I wrote for classes:
- A Lightweight Window Wrapper
- This article was published in the August, 2000 issue of C/C++ User's Journal.
It describes how to write the simplest possible object-oriented wrapper for
Windows. The magazine paid me $200. In retrospect, I should have been more
verbose.
Other pages
Pages of others
- Matthias Wandel If you go to
this web site, you will quickly become "stuck" on it and lose all track of
time.
Current Interests
Here's a list of stuff that I'm working on:
- Wavelets - Right now I'm obsessed with wavelets and their
potential use in audio processing. See my web page on Wavelet
sound Explorer
- ASN.1 Parsing - A lot of communication protocols are specified in
ASN.1, a language to describe data structures. Most ASN compilers out there take
your ASN.1 description and spit out a huge C program to actually do the
parsing. I've discovered that it's much more efficient to reduce the ASN to
bytecode, and then interpret the bytecode to do the parsing. That's pretty
important in an embedded device.
- Browsing Code - After taking a
software architecture
course, I partially wrote a utility to gather complete browsing information
of C++ code using a combination of ctags and cscope output. If I got all of the
kinks out of it it would probably work.
- Dependency Generation - I'm writing a tool that takes advantage of
asynchronous file I/O to generate dependencies for large C projects at the
maximum speed of the hard disk, and reading every file only once.
- Algorithmic Music Composition - Someday I hope to write a program
that will compose good music automatically. But I won't tell anyone. I'll just
say I wrote the tunes.
Music
I used to dream of being a composer of film scores. I enjoy the music
of John Williams, and Danny Elfman, and Cliff Eidelman's work on Star Trek VI.
Unfortunately I don't have the patience to learn to play an instrument,
I got up to Grade 4 piano before I stopped. Here's some music that I
composed using Cakewalk music software.
Comics
I drew a comic strip for Imprint, the University of Waterloo student
newspaper. After I got a job at Research in Motion, I continued it there for a
while. All strips are archived here
Budgie-ZILLA!
I made a web page once called
Budgie-Zilla.
I can't access it any more to change it, but here's a link to it. There are
pictures of gigantic birds destroying landmarks. Apparently it's a part of
budgie pop-culture now. The site is mentioned in
a book about trademark law, and it has inspired a youtube video.
Work
- Corel Corporation, Winter and Fall 1999
On the Text Engines team, I fixed bugs in the text formatter, and added several
new features. You can drag text on a path away from the path because of me.
- Quack.com, Summer 2000, Winter 2001
Quack.com
(waybackmachine link) was making a phone portal, so you could call up a computer and it would
tell you what movies were playing. I made the framework for a voice recognition
server.
- Soma Networks, Fall 2001
Soma was making a box that would sit on your desk and give you your phone and
internet connection wirelessly. I added the ability to play DTMF tones over the
G729 voice codec.
- Microsoft, Summer 2002
As part of the Windows Networking team, I made a Layered Service Provider that
overrides the winsock functions to make an IPv6 connection look like IPv4.
- Research in Motion, Sept. 2003 to 2008
In my first full time position, I created large chunks of the EDGE protocol
stack.