Как стать автором
Обновить
@MZjrread⁠-⁠only

Пользователь

Отправить сообщение

Киберпанк, стимпанк и прочие: самые популярные жанры ретрофутуризма

Время на прочтение12 мин
Количество просмотров55K
иллюстрация автора Fpeniche

В первые десятилетия XXI века популярность ретрофутуризма высока. Слова «киберпанк», «стимпанк», «дизель- и атомпанк» часто звучат при описании новых тайтлов в компьютерных играх, кино и аниме. Знатоки щеголяют терминами «нанопанк» и «биопанк», погружаясь в споры о жанровой границе стим- и дизельпанка.

Везде от вики и до лурка висят краткие пояснения о сути жанров ретрофутуризма и разнице между ними. Увы, они часто довольно-таки однообразны, и лично мне всегда хотелось почитать чуть более глубокий разбор с элементами СПГС. Ну а раз хотелось – почему бы не рискнуть написать свой вариант? Чем и попробую заняться.
Читать дальше →

Vulkan. Руководство разработчика. Создание вершинного буфера

Время на прочтение8 мин
Количество просмотров3.9K


Я работаю переводчиком в ижевской IT-компании CG Tribe и занимаюсь переводом Vulkan Tutorial на русский язык. Оригинал тьюториала можно найти здесь.

В своей прошлой публикации я начала перевод раздела Vertex buffers, и сегодня хочу представить перевод главы, посвященной созданию буфера — «Vertex buffer creation».

Содержание
Читать дальше →

Расширение языка программирования (C++/Planning C). Волшебные сканеры и компилирующие макросы

Время на прочтение5 мин
Количество просмотров7.6K

Здравствуйте, уважаемые читатели.

Обычно, когда речь заходит о создании какого-либо расширения для существующего языка программирования, в воображении неминуемо начинают рождаться разнообразные сложные решения, включающие поиск описания формальной грамматики исходного языка, ее модификации, а затем и применения какого-либо инструмента, позволяющего по данной грамматике либо построить новый компилятор, либо модифицировать существующий компилятор. Причем такие инструменты существуют (bison/flex, yacc/lex, вероятно и многие другие) и успешно используются, несмотря на их явную сложность и громоздкость.

Здесь обсуждаются более простые решения, вполне пригодные для внесения в язык программирования относительно небольших модификаций.

Читать далее

JPEG, который можно посмотреть в блокноте

Время на прочтение3 мин
Количество просмотров39K

Если открыть произвольный JPEG-файл в блокноте, то можно увидеть лишь хаотичный набор символов. Отсюда вопрос: возможно ли закодировать изображение так, чтобы его было можно просмотреть не только обычным способом, но и в обычном блокноте, в виде ASCII-графики.

Читать далее

Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций

Время на прочтение12 мин
Количество просмотров23K

Продолжение публикации: "Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel".

В этот раз поговорим о совершённых доработках, всплывших подводных камнях, исправленных ошибках, участии сообщества, подсчитаем XIRR и попробуем сравнить доходность портфеля за 3 года с другими видами инвестиций.

Пост длинный, но много картинок

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Время на прочтение18 мин
Количество просмотров17K

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

Одноклассники – высоконагруженная социальная сеть, и оптимизировать под высокие нагрузки нам нужно не только сервисы, но и инфраструктуру, на которой они работают. Нередко «узким горлышком» становится сама операционная система и, в частности, механизмы распределения ресурсов ядра Linux. 

В облаке на одном физическом сервере могут одновременно работать десятки контейнеров, конкурирующих за ресурсы. Чтобы обеспечить надежную и эффективную работу, необходимо управлять распределением ресурсов между контейнерами.

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее

Ускоряем код на Питоне с помощью расширений на Cи

Время на прочтение7 мин
Количество просмотров14K

Питон — простой, но мощный язык, который заслуженно стал одним из самых популярных. Тем не менее, иногда ему не хватает скорости статически типизированных языков с предварительной компиляцией, таких как Cи и Джава.

Если у вас есть задача выполнить трудоемкие вычисления, если нужно оптимизировать «подтормаживающее» приложение на Питоне без переписывания его на другом языке или если вы просто обожаете оптимизацию и хотите, чтобы код работал как можно быстрее, — тогда с большой вероятностью вы полюбите расширения на Си.

Расширения на Си — отличное дополнение в арсенале разработчика, будь вы фанат производительности и эффективности или любитель смешивать различные технологии и экспериментировать с чем-то новым: вы не только получаете почти «бесплатный» скачок производительности, но и расширяете функциональные возможности Питона.

Читать далее

Взять и заняться цифровой обработкой сигналов — какие библиотеки стоит попробовать в деле

Время на прочтение3 мин
Количество просмотров6.5K

В прошлый раз мы рассказали о библиотеках для аудиосинтеза на C++. Сегодня поговорим об альтернативных инструментах, которые заточены под работу с объемным звуком и подходят для коррекции акустики помещения, — библиотеках CamillaDSP и DaisySP, а также фреймворке Spatial Audio.

Читать далее

Расширение синтаксиса Lua: лямбды

Время на прочтение3 мин
Количество просмотров3.9K

Туториал о том, как реализовать симпатичные лямбды (в том числе в котлин-стиле) в Lua 5

Читать

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность