Freedom, Software Engineering, Functional Programming and more!
Currently I am a research engineer at ARM based in Cambridge (Silicon Fen, UK).
I'm mainly devoted to the functional language OCaml but quite recently my focus has been shifted towards dependent types, and majority of my spare time is spent on hacking on Coq and Agda.
I believe that the future of software engineering will be carried in the sound and type safe manner using strongly typed functional languages.
I also lean towards a DSL approach for programming, where programmers will be solving problems using dedicated languages designed for some specific engineering domains. While this is nothing new, current technologies allow us to quickly build such DSLs.
I strongly believe in Free Software and Open Source, as no barrier for knowledge and information, self organising systems and collaboration is the key to how the universe works.
Interests and activities
- Functional programming
Mostly about functional strictly typed multi-paradigm language - OCaml.
- Theory and implementation of computer languages
Compilation, program transformation, type systems, runtime aspects of compilation, garbage collection
- Virtual machines and low level languages
Stack based machines, low level register machines, intermediate languages, but also specifically powerful meta programming language - Forth.
- GNU Emacs
`Is the place where I eat sit, and sleep'. I love Emacs.
Simple monadic programming syntax extension based on new preprocessor -ppx flag;
Indexed lists for OCaml, a mini library including syntax extension of indexed lists using GADTs;
Functional reactive programming in a browser using js_of_ocaml compiler and React library;
Set of libelf bindings to make reading elf files possible from OCaml;
Next generation table-top engine written in OCaml. Work deeply in progress but worth mentioning;
Dedicated language and virtual machine for writing extremely size optimised applications;
Procedural texture generation tool and simple GUI library for combining nodes.
Less serious (old) projects
Out of Memory
4096 byte DOS intro. Winning entry for Symphony 2002 demoscene meeting.
256 byte DOS intro. Winning entry for Abstract 2004 demoscene meeting.
- Demo tool for building worlds in 4KB
Some other stuff I've done
I'm interested in compilers.
My research for past few years has been mostly devoted for providing efficient and safe compilation techniques.
I experimented a lot with instruction selection, type safe DSLs for describing compiler targets, intermediate languages and meta programming.
These days I've no real time allocated for this - but yet still enjoy these topics.
and I listen a lot to some of the clasical pieces, especially Fryderic Chopin.
I am fond of electronic music. Ranging from good GOA down - to Jungle thru R&B and jazz. Etnic elements are also clearly desired.
Maybe some favourites:
- Amithaba Buddha
- Liquid Flow
and many more..
- Indie RPG and tabletop games
Well, I don't do that often as my collective, but I love to play over the Skype (that's it!) using awesome table top engine - VASSAL.
Amazing culture and amazing country. That's why some of my free time I spent on learning some Chinese.
QuestionHow to hell pronounce my name correctly?
Answer In fact I'm a nice guy and I'll not be angry if you don't get it right.
However if you started to deal with me (which is unfortunate for you), here is a fonetic English version: Voytsieck.
Which is still a bit incorrect as I don't know how to explain pronounciation of silent `h'
You could say also Voyteck, if you choose to be formal (first version) or just get it right: second.
Or just call me Dan which is my second name.
None of the above is related to my work at ARM, these are my private hobby projects that I've done in my spare time out of the working hours.
Also, all the opinions presented on this website are my private ones, and are not related by any means with ARM.