Техно-демократия в небольшом отделе

Недавно нам понадобилось оформить должностные инструкции для разработчиков. Раньше таких документов не было, поэтому готового процесса их обсуждения тоже не существовало. Можно было собрать совещание, разослать файл с правками или просто подготовить окончательный вариант от лица руководства.

Вместо этого мы завели репозиторий в GitLab.

Если документ описывает работу программистов, почему бы не редактировать его так же, как мы редактируем код?

Read More

Sokoban на чистом CSS

Я захотел сделать Sokoban без JavaScript. Совсем. Только HTML и CSS.

На экране должна быть карта, человечек, ящики, цели и четыре кнопки: вверх, вниз, влево, вправо. Нажимаешь кнопку - человечек делает ход. Если перед ним ящик и за ящиком свободная клетка, ящик тоже сдвигается. Если ход невозможен, ничего не происходит. Когда все ящики стоят на целях, появляется поздравление и ссылка на следующий уровень.

Звучит как обычная маленькая браузерная игра, пока не вспоминаешь главное: CSS не умеет выполнять код.

Read More

gw-batsic: интерпретатор GW-BASIC на голом batch — восемь лет в свободное время

Полноценный интерпретатор GW-BASIC, написанный целиком на .bat-файлах Windows. Без C, без Python, без единого скомпилированного бинарника — только SET, CALL, GOTO и FOR /F.

Read More

x11.js: X11-сервер в браузере, на котором работают настоящие Linux-приложения

Вкладка браузера, которая притворяется X11-сервером: настоящий рабочий стол Linux, игры из GNOME и даже Firefox рисуются на <canvas> — а сами приложения живут в Docker и не подозревают, что говорят с браузером.

Живой демки в этот раз нет: в отличие от прошлых проектов, одной вкладкой не обойтись — приложениям нужен настоящий Linux в Docker. Поэтому — видео.

Read More

winweb: Win32 в браузере, где C-приложения компилируются по-настоящему

Рабочий стол в духе Win9x, на котором живут настоящие Win32-приложения на C — и компилируются прямо во вкладке браузера, без сервера и без Emscripten.

  • Демо — рабочий стол с Сапёром, Блокнотом, командной строкой и компилятором; всё на настоящем Win32 C, скомпилированном в WebAssembly
  • Репозиторий

Read More

lcc-wasm: компилятор C, который компилирует сам себя в WebAssembly

Как я научил маленький компилятор C выдавать WebAssembly — а потом скомпилировал им самого себя, чтобы C компилировался прямо в браузере.

  • Демо — компилятор C в веб-странице: пишете код, жмёте кнопку, он тут же компилируется и запускается
  • Репозиторий

Read More