Меня зовут Анатолий Тросиненко, и я Scala-программист. Но это официально, а по факту я изучаю всё, до чего дотянусь — фаззинг, инструментация кода, разработка средств разработки, даже немного процессоростроения на Chisel HDL — иногда в неожиданных комбинациях.
Сферы моих интересов:
- системное программирование и фаззинг (Linux kernel и другой open source): примерный список найденных багов в ядре, а точнее — коммитов, в которых я упомянут, можно посмотреть здесь. Есть даже несколько исправлений лично от Линуса Торвальдса — вот, что значит «вовремя отправить баг-репорт»
- инструментация кода: динамическая, статическая – есть даже вшиваемая в RISC-V софт-процессор — все они имеют примерно похожий интерфейс (в идеале он должен стать полностью идентичным). В API сделан упор на максимальную похожесть реального инструментатора на псевдокод на C
- создание инструментов разработки
- модуль поддержки Modelica, вошедший в PMD 6.21.0
- надстройка над PMD для минимизации исходников при сохранении инварианта — сослана в отдельный репозиторий ментейнерами PMD
- допиливание OpenModelica и конкретно её IDE OMEdit — в итоге задачу по реализации code completion ~торжественно~ повесили на выданный мне аккаунт на трекере
- Chisel HDL (это DSL для разработки оборудования на Scala)
- преимущественно, эксперименты с RocketChip RISC-V soft-processor, в частности, поддержка описания простых инструкций процессора на C
- портирование чего попало куда попало и вообще
- портирование QEMU на JavaScript для реализации Proof-of-Concept трансляции машинного кода в JS, а впоследствии и в WebAssembly
- портирование MemTest86+ на RISC-V
Многое из этого описано в моих статьях на Хабре и выложено на Гитхабе.