← All posts tagged programming

github.com

Такое. Красивый и удобный лисповый интерфейс к библиотекам FFmpeg. В процессе, но кое-что работает уже. Пока не хватает swresample и swscale, но скоро будет. Также, потом отдельной asdf-системой будет postroc, т.к. она загплена.

Еще с документацией пока проблемы, как впрочем и у самого ffmpeg.

Тестируется все на винде, под FFmpeg 3.2.4, собранный мной лично:
static.lovesan.ru

Но, в принципе, ничто не мешает работать и с линуксом, надеюсь я там правильные имена файлов so-шек вписал, в src/lib.lisp

В README.md там пример, типа, берем, и конвертируем любое медиа, поддерживаемое FFmpeg, и у которого есть звуковой поток, в mp3-файл.

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

Их не волнует ни сдача продуктов, ни сложность дебага, ни даже красота и простота кода. Ни концепции, ни идеи, ни логика, ни продакшн, ни даже бабки. Нихуя.

Их волнует только то, как бы выдрочиться в кругу таких же задротов: Смотрите! Я знаю шаред_птр! А я! А я! Интрузив_птр! А я знаю как правильно писать деструкторы! А я вчера квиксорт написал и он не сегфолтится! А я буст воткнул в проект! А я! Мама, смотря, я на темплейтах написал числа фибоначчи!

Пиздец блядь, гвозди бы делать из этих людей.

Три воображаемых кита ООП это на самом деле не инкапсуляция, наследование и полиморфизм.

Это изолированность, компонентность и повторное использование кода.

Именно вот эти три вещи ООП по идее должно было дать. К сожалению, не дало. Просрали все полимеры. Ну и еще и обнаружили, по ходу дела, что программирование как вид деятельности не масштабируется, кроме совсем тривиальщины, да и ту лучше программными средствами решать, а не проедать бюджет на всяких макак. Впрочем, из последнего есть забавное следствие — если ты менеджер или владелец аутсорса, можно делать на этом бабло, нагревая заказчиков на кругленькие суммы на починке разной простенькой мелочи средствами индусов/восточноевропейцев. Нечестно, конечно, но чо — деньги не пахнут.

Ну то есть я был прав — все убираем и пишем через гото. Будет простой и поддерживаемый код — без этих ваших полиморфизмов, функций и других, зависимых от контекста, штук. Переменные, кстати, тоже лучше отменить, и присваивание. А то эдак, выходит, какие-то штуки даже в одном и том же контексте разную семантику имеют. Непорядок! Вот лежит у нас в EAX 0 — пусть он там и лежит.

Народ, кто желает выступить от команды лисперов на Global IT Meetup в Питере 28 ноября? Пока что точно вытупаем я и Миша Глухов. Довольно скоро требуется подтвердить программу, так что дайте знать как можно скорее.

В чятах ночь охуительных историй просто охуеть. Началось с обсуждения с кем конкурирует MS, и покатилось.

Подытоживая:
Родился на улице джобса в лицензионном магазине эппл номер 22, в постинге котигов на фейсбук так сказать незаменим

я с бодуна вот че подумал

Универсальный Критерий Уебищности Систем Общего Назначения.

Система Общего Назначения является Уебищной тогда и только тогда когда она не представляет из себя Метациклический Интерпретатор.

Другими словами: Система, не являющаяся системой, описывающей ее же саму(Метасистемой), и при этом являющаяся Системой Общего Назначения, уебищна.

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


Примеры, сначала метациклических интерпретаторов:
Машина Тьюринга
RAM-машина
Реляционная модель данных
Лисп

А вот скажем примеры систем, соответствующей критерию:

Большинство языков программирования, особенно со статической типизацией.

В частности, давайте посмотрим на C#. C# не является метасистемой, т.к. термины языка не являются его же объектами. Отчасти, это компенсируется платформой .Net, для которой термины C# объектами отчасти таки являются(System.Reflection, грядущий Roslyn и т.д.). Сама же платформа .Net критерию тоже соответствует, но, в теории из нее можно было бы сделать метациклический интерпретатор, лисп-машину, внеся лишь достаточно небольшие изменения.

Дискач

[0:41:08] Dmitry Ignatiev: но если руки дойдут сделать метациклический интерпретатор
[0:41:11] Dmitry Ignatiev: то вообще похуй
[0:41:20] Dmitry Ignatiev: один конфиг метамодели модели метамодели