I am a software developer, electronic musician, and creative coder. I love learning. I am lucky to work in an industry that offers unlimited opportunities for learning new skills, and applying them.
I am passionate about helping others more fully experience their lives. I am driven by finding new and creative ways to accomplish a goal. I love to engage with people who are curious and smart. I love open source. I love to share my knowledge and experience, and to provide training and help get the best out of people.
I work in software engineering. I founded Ideation Networks in 2007 as a software development consultancy. Prior to that I was co-founder and CTO of a digital music startup. That came out of my work in the music industry, which included working as a professional DJ, webmaster, then head of digital for an independent record label.
You can read more information about my professional experience on my work page.
I love learning new languages. I've even created a couple of my own. My "native" language is now ECMAScript/TypeScript. The first programming language I learned was BASIC. And then in chronological order (as far as I can remember) it was ARexx, C, Lisp, Java, Prolog, C++, ECMAScript, PHP, Pure Data, TypeScript, C#, Bash, Forth, Rust, and Python.
My multipurpose language of choice is currently TypeScript. I'd choose Python for ML/AI/Data stuff. And for fun, performance, or long-term reliability I would reach for Rust.
I practise the application of design patterns to software architecture, refactoring, test-driven development, and continuous integration. I'm particularly interested in combining object-oriented and functional techniques in pursuit of better abstractions and more declarative programming styles.
I created an open-source programming language for live-coding of 3D visuals, called Cyril. You can read more about how and why I created that on Medium. Here is a photo of Cyril in use by artist Dan Hett, captured at Resonate Festival 2016:
I'm an electronic musician, playing with computers, a hardware groovebox, and a couple of small synths. I'm also trying to learn classical guitar.
Here is one of my synth and sample-based productions:
You can hear more of my music productions on SoundCloud. I have released a few tracks via my Bandcamp page. You can peruse a large section of my music collection via my MusicInstinct Bandcamp collection. And, for my DJ mixes check MixCloud.