Civilian service:
2000-11 ? 2001-07:
Elsbeth Seidel Haus Berlin, Community service
C, C++:
proficient
- At Interautomation I have been using C++ to create services for embedded systems
- At manroland I used C
to port an Interbus device driver to a real-time embedded Linux
- Experience using C and C++14 on a GNU compiler toolchain
- Build management with GNU make
- Unit
testing with doctest. JSON parsers with Jansson and JSMN
- XML parsers with libxml2
- Parser generation
with Flex and Bison
- Database management with SQLite
- HTTP clients with libcurl. MQTT clients with
Eclipse Paho
- Websockets with libwebsockets
- Serialization with protocol buffers
Java:
proficient
- At Interautomation I have been using Java to extend services translating data between serialization formats
- At Humboldt-Universität I used Java and ANTLR-generated parsers for the first drafts of a distributed
programming language
- At Bundesinstitut für Risikobewertung I used Java to create custom KNIME nodes
- Build management with Maven
- Unit testing with JUnit. Parser generation with ANTLR
Common Lisp:
proficient
- I use Common Lisp for some of my spare-time projects
- I like the middle ground between functional
programming and a fast runtime that especially SBCL offers
- Experience using SBCL, ABCL, and CLisp
- Build management with ASDF
- Unit testing with FiveAM
Erlang:
proficient
- At Humboldt Universität zu Berlin I used Erlang for later drafts of a distributed programming language and
its type system
- Build management with rebar3
- Unit testing with EUnit
- Property-based testing with PropEr and Erlang
QuickCheck. Web servers with Cowboy
- Parser generation with leex and yecc
- JSON parsers with jsone
- Database management with Mnesia
Racket:
proficient
- I have been using Racket at Interautomation to automate hardware configuration and to visualize passenger
scenarios
- At Humboldt Universität zu Berlin I used it to draw performance plots of distributed workflow
runs
- I use Typed Racket for some of my-spare time projects.
Build management with raco
- Unit testing with rackunit
- Parser generation with brag
Python:
intermediate
- At Interautomation I have been using Python to develop a test-framework for services running in embedded
systems
- Unit testing with unittest. Constraints on function parameters and return values with PyContracts
SQL:
intermediate
- At Interautomation I have been using SQL to persist the state of services
- At Bundesinstitut für Risikobewertung
I used SQL as the storage facility of a desktop application
- Experience using SQLite and HSQLDB