email: sah@awesame.org
.plan
buzzword
compliance
- Agile, Lean Startup, SaaS, AARRR, all that hip startup stuff.
- C, Python, js, C#, C++, Ruby, Haskell, D, Java, Scala, Objective-C, Perl, PHP,
whatever.
- Linux,
Unix, Mac OS X, Windows.
- Cloud computing, P2P, web, audio.
gigs
|
Anything and everything: originally coding, then management and
product strategy and serving on the board. I've taken out the trash,
when necessary.
Currently my role is Chief Product Officer.
|
|
|
As Product Manager (4 months):
- Moving out of the engineering department for the first time in my career, I guided the releases of BitTorrent 6.0 and BitTorrent's forums.
- I also helped make the decision to acquire uTorrent.
As Director, Engineering (14 months):
- Coordinated the consumer engineering team (about eight engineers) to build BitTorrent's P2P-delivery-based movie store, as well as two major revisions of a self-publishing product.
- Expanded the consumer engineering team to meet increasing product and maintenance demands.
- Established a rapid bi-weekly release schedule, and instituted improved revision control and bug tracking processes.
As Senior Software Engineer (2 months):
- Co-authored a high-performance BitTorrent tracker in C++ using boost::asio.
- Helped design and write BitTorrent versions 4.20 through 5.0.9 (in Python, using coroutines for concurrency).
|
|
|
At Grouper, I designed and wrote major components of a P2P file
sharing application in C#. My most significant contribution was a
BitTorrent-like swarming download system to facilitate YouTube-style
web-based video sharing.
Grouper
was acquired by Sony Pictures in 2006, and is now known as Crackle.
|
|
|
Working closely with the HOTorNOT founders, I built and ran a small
quiz-building web app using Apache, PHP, and MySQL. I did all the
technical stuff: programming, page layout, system administration,
etc.
After that, I designed and wrote a multi-player online game server
in Python, using libevent for scalability.
|
|
|
After Audiogalaxy imploded, the founders started another company and
hired me to work on their new project. We
released FolderShare in May,
2002. I was responsible for a significant portion of all major
components of the system through the first several releases,
including:
- A secure, distributed server to broker file transfers and change
tracking between clients (in C, using the /dev/epoll interface for fast I/O).
- The FolderShare client, for which I
implemented rsync-protocol
peer-to-peer file transfers, as well as basic web
server functionality.
- The FolderShare website, written using Apache, PHP, and MySQL.
- Encypted client-server and peer-to-peer communications (using OpenSSL), and the associated PKI.
FolderShare was acquired by Microsoft in 2005.
|
|
|
Tom Kleinpeter and I rewrote the Audiogalaxy file sharing system's
distributed server in C, using
Linux's /dev/epoll. It ran
on a couple hundred server machines and ultimately coordinated over a
million simultaneous connections.
After that, I wrote a system to generate artist recommendations
("Other listeners liked..." lists) for the Audiogalaxy web site.
I also worked with Tom to write a metadata-based content filtering
system. It was probably the most accurate content filtering system
ever deployed in a peer-to-peer file sharing application, but it
still didn't work
so well.
Then I worked on the Unix and MacOS X versions of a new
Audiogalaxy client, in C and Objective-C. Shortly before we could
release them, though,
the RIAA sued Audiogalaxy.
They settled out of court, and most of Audiogalaxy was shut down.
Years later it resurfaced and was ultimately acquired by Dropbox!
|
|
|
- At Trilogy, I produced
weekly software builds, handled source code escrow, and administrated
a bunch of machines running Windows NT and various flavors of Unix.
- At InCircuit, I wrote
networked apps for hand-held barcode scanners like the ones you see at
the supermarket.
- My first hacking job was with a small company that wrote PC
software for use with
industrial process
control systems. I wrote an object oriented database, and a
scripting language for stored procedures. I also got my first
exposure to Lisp while playing with
a fancy expert
system. I was extremely lucky to start out with such a great
job!
|
|
up
|