Опис послуги
ПерекладЯ розробляю прикладне та дослідницьке програмне забезпечення на мові Limbo — паралельній мові операційної системи Inferno, виконуваній віртуальною машиною Dis. За останні роки я зробив драйвери пристроїв, мережеві сервіси, файлові сервери, які відаються через протокол Styx, та невеликі розподілені утиліти, які залишаються читабельними саме тому, що паралелізм виражений каналами та моделлю CSP, а не блокуваннями та спільною пам'яттю. Зазвичай робота починається з короткої замітки по проекту: я розкладаю задачу на взаємодіючі процеси, вирішую, які повідомлення ходять по яких каналах, і намічаю, як робота розпаралелюється та збирається назад. Далі — акуратні модулі на мові Limbo з невеликими інтерфейсами та перевірка байткоду Dis як під хостовим Inferno, так і на цільовій платформі, де коду судилося жити. Мені звичні незручні місця: посилання зі зборкою сміття, які перетинають границі процесів, конструкції alt без голодування, коректні таймаути та скасування, а також особливості збірки інструментарію Dis на сучасних системах. Я також відновлюю старий код на мові Limbo, який перестав компілюватися, документую його та залишаю відтворювану збірку. Якщо у вас вбудована задача, розподілений прототип, ретро- або навчальний проект навколо Inferno либо просто потрібна людина, що вільно читає мову, — я допоможу. До результату входять прокоментовані вихідники, сигнатури модулів, рецепт збірки, тестовий стенд та пояснення, як пов'язані канали. Компроміси я пояснюю простими словами та тримаю дизайн достатньо компактним, щоб ваша команда супроводжувала його сама.