Андрей Кравчук @prefrontalCortex
Software Engineer
Информация
- В рейтинге
- Не участвует
- Откуда
- Подгорица, Подгорица, Черногория
- Работает в
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Software Developer, Fullstack Developer
Senior
От 5 000 €
Lisp
Clojure
Unix
Linux
Docker
Да, как выяснилось, в финальную версию затесались варианты перевода особенно заковыристого предложения из черновика.
Флаг в руки, барабан на шею. Я-то пришёл к тому, что стал профессионалом, а они хотят прийти к зарплате побольше, и никакой другой мотивации нет, вот в чём проблема. Такая мотивация — скорейший путь к выгоранию.
Этот ваш волчистый типаж классики фантастики ещё шестьдесят лет назад описали:
Я сначала по наивности даже пытался менторить в этой назаровской тусовке, но быстро взвыл, когда понял, что единственный вопрос, которым потенциальные менти искренне интересовались, это "а что бы такое мне почитать, и желательно поменьше, чтобы платили 300кк/нсек?". Ну то есть типа я двадцать лет в этой индустрии потому, что меня ведёт искренний интерес, и на данный момент своего пути, так уж сложилось в качестве побочного эффекта, являюсь высокооплачиваемым специалистом, а тут появляется такой тип и интересуется, как мне эти двадцать лет за полгода пройти и где тут у вас касса.
Оговорюсь, что я ни в коем случае не отстаиваю компании, у которых у самих рыльце в пушку, но что мешает искать свою компанию мечты, чтобы тратить по трети своей жизни на дело, которое реально нравится, и ещё и в виде приятного бонуса деньги за это получать.
Люблю Подгорицу, лойс за фоточки ❤️
Спасибо за фидбек!
Обязательно на следующей неделе первым делом возьмусь за макось)
Рад, что получилось!
FPS под вируталкой, я боюсь, зависит от софтверных настроек видеодрайвера самой виртуалки и не лечится изменением доступной RAM или процессорного ресурса. У меня быстрее всего работало с драйвером VMSVGA в Virtualbox.
Судя по ошибкам, у вас была какая-то сетевая проблема с доступом к сайту Quicklisp http://beta.quicklisp.org . Стоило бы выбрать рестарт Retry (ну или, точнее, "Register local projects and try again", ключевые слова try again), чтобы просто повторить попытку загрузки.
Скорее всего, у вас какая-то другая ошибка, там что-то хтоническое всплывает из недр самого SBCL, а у вас совершенно определённо крэш в вызове сишной функции al_load_config_file, хотя чему там крэшиться, мне совершенно неясно ?
Остаётся только порекомендовать запустить из-под Virtualbox с какой-нибудь Ubuntu, у меня в виртуалке с VMSVGA драйвером всё вполне себе бодро бегало (собственно, скриншоты в статье как раз из-под этой виртуалки). Ну или подождать пару недель, пока у меня дойдут руки до облачной виртуалки с MacOS, чтобы зафиксить все проблемы совместимости)
Пожалуйста ?
По биндингу — вы правы,
let
"перекрывает" внешние биндинги локальными, однако, парадоксальным образом, для компонента по имениacceleration
не создаётся ни одного биндинга по имениacceleration
? Если не трудно и есть время, скиньте куда-нибудь ругань SBCL с непереименованным биндингом, попробуем разобраться, что там не так.Да,
init
в коде похож на небольшую свалку ? Обычно способ, которым решают эту проблему — это что-то в духе префабов, т.е. параметры компонентов, сериализованные в файл/файлы. На самом деле тут можно заабьюзить возможность Лиспа мешать код с данными и загружать списки-спецификации объектов из файлов с помощью стандартной функции load, а затем скармливать их вecs:make-object
; примерно так я поступил в одном из проектов на базе cl-fast-ecs. В первой части руководства я ради простоты захардкодил инициализацию всех объектов.Да, есть целый ряд решений. Более того, в мой шаблон
cookiecutter-lisp-game
входит машинерия по сборке проекта (точка входа в неё — скрипт package.sh), на данный момент поддерживаются Windows и Linux (над MacOS буду работать в ближайшие пару недель). Более того, эта машинерия автоматически запускается при пуше в репозиторий тэга и радует вас готовыми бинарниками в секции Releases ^_^Скорее всего, вы не пользовались IDE. В том же самом Emacs ошибка приводит к появлению интерфейса интерактивной обработки ошибки, который выглядит примерно так. Опять-таки, одна из уникальных фичей CL — невероятно мощная система обработки ошибок, про неё целая книга недавно вышла. Можно программно выбирать обработку конкретных ошибок в зависимости от текущих условий, можно пытаться повторять выполнить тот же код, повторно вызывать сбойнувшие функции с другими аргументами, игнорировать ошибки и т.д. Я просто выбрал самое примитивное — показать окошко с бэктрейсом и аварийно завершиться, но можно легко закодировать более продвинутые варианты, например, отправить отчёт об ошибке, перезапустить текущий уровень, буквально всё, что душа пожелает)
Пожалуйста!
Судя по всему, вы всё сделали правильно, но совместимость с MacOS я пока не проверял из-за отсутсвия соответствующего железа. Однако она у меня находится в ближайших планах ?
Выглядит ошибка странно, ничего криминального в вызове
al_load_config_file
с несуществующим конфигом нет. А попробуйте в каталоге проекта создать пустой текстовый файлconfig.cfg
, возможно, поможет.Да, у меня давно чешутся руки изучить Abuse поподробнее.
По поводу геймджемов, на itch.io дважды в год проводится Lisp Game Jam, в котором можно участвовать на любом диалекте, хоть на Common Lisp, хоть на Clojure, хоть на Fennel с Löve2D. По совпадению, осенний Lisp Game Jam 2023 начался буквально сегодня утром, к нему ещё можно присоединиться ?
Спасибо! Над продолжением уже начал работу ?
Не самый популярный язык в мире, но принимается. Он у меня у самого давно болтается на первых местах списка языков, которые хорошо бы изучить.
Более подробный рассказ есть в выступлении Рона на Google Tech Talk.
Мне больше кажется, что это скорее типичный пример проблем менеджмента, которые выливаются в инциденты на продакшене.
Ну да, на марсоходе не было, был в космическом корабле. Сбой случился, но был диагностирован и исправлен родными механизмами самого лиспа. Могут другие языки такими механизмами похвастаться?
Ровно наоборот, но вот по телепатии у меня в универе была тройка.
Спасибо за критику! Обязательно над этими моментами поработаю.
Вспоминаю, как меня в старших классах ругали за обилие длинных сложноподчинённых предложений в сочинениях, вот и аукнулось ?
Как я понял, Рон тут перечисляет популярные языки, для которых на рынке труда было большое количество инженеров.
Код, возможно, не приводится из соображений секретности, NASA всё-таки ?
Вы всегда склонны к абсолютизации? ?