User:Smosher

From Rosetta Code
My Favorite Languages
Language Proficiency
C comfy
Perl comfy
Perl 6 neophyte
Io neophyte
Bash ---

Background

Since 1998 I've enjoyed working as a programmer and systems administrator. In both capacities there is a lot of work with C, Perl and shell scripting.

Besides those listed (the ones I use regularly) I know too many languages to mention, all to varying degrees. Don't we all?

Interests

Math

No matter how much math I learn, I feel like I don't know enough. The process of implementing and debugging math in code is the best way to learn it.

Artificial Intelligence

I spend a lot of time thinking about AI by way of biological systems simulation. The animal brain is fascinating.

Music

Both musical composition and sound synthesis hold my interest. Sometimes I even remember to listen to music.

As a back-burner project I'm working on a Linux-based sequencer. (Current features include low-latency mixer, MIDI control, LADSPA support, no GUI.) Presently unreleased.

I would like to create a replacement for LADSPA/DSSI. In the name of flexibility, the plugins simply do not provide enough information to the host and presuppose a scheme where connections are (necessarily) tediously micromanaged by the user.

Stance on Programming

Relation to Math

People like to say "programming is math." For the most part I disagree; the mathematician most often codifies definitions, the programmer most often codifies procedures.

There are exceptions on both ends but I find it helpful to keep the distinction in mind. Particularly: even declarative languages operate on machines by way of implementation while higher mathematics is often in a form that must be intelligently interpreted.

State

Outside of Nirvana, to truly eliminate state the user must be eliminated as well.

I think of state as the eventual contents of a crystallizing dish. A chemist wouldn't propose to perform complex chemistry in only one container, and neither should the programmer. That said, research in this area is laudable and fascinating.

Object Orientation

Mucking with meta-things feels inelegant. When designing something in OO-style I usually only have patience for prototype models, but classes for standard types seems more natural.

Concurrency

It's not as scary as its made out to be.

Code

padKontrol Native Mode

I have published demo code for operating a Korg padKontrol (hardware MIDI controller) in 'native' mode. It took me too long to track down and interpret (and reconcile) all of the necessary information. The bare-functionality C was published to help others who might want to support pK in native mode.

GitHub

For now, it's just my gists. I should add the Korg pK code to github at some point.