Как стать автором
Обновить
0
0

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

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

Кто на самом деле зарабатывает на открытом коде

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.1K

Когда-то мой одногруппник написал статью о том, почему на открытом коде заработать невозможно. Он привёл аргументы, которые лежали на поверхности. Но это были не самые основные причины. До сути он не смог докопаться, потому что не знал об аддонах для Blender’a. Поскольку Blender распространяется по свободной лицензии GPL, все плагины для него тоже автоматически приобретают эту лицензию. Иначе говоря, они открытые, но… ПЛАТНЫЕ

Читать далее
Всего голосов 19: ↑9 и ↓10+1
Комментарии5

Как потратить шесть лет и быть невидимкой в Play Market

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров24K

Всем привет!

Этот пост в большей степени — рассказ о пути одной идеи к реализации.
И немного — о трудностях, с которыми я сталкиваюсь прямо сейчас, когда вроде бы всё готово — но никто о твоей игре не знает.

Если вкратце: шесть лет трачу вечера на то, чтобы написать собственную игру.
Игра доступна на своём сайте, но в Play Market её не видно.

Читать далее
Всего голосов 14: ↑10 и ↓4+8
Комментарии18

Управление проектами и задачами в Obsidian

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров16K

Используя Obsidian более двух лет, я привык организовывать в нём все свои заметки по проектам. Хотя Obsidian предлагает широкий набор сторонних плагинов для расширения своего функционала, мне так и не удалось найти идеальный инструмент для управления проектами и задачами. Это подтолкнуло меня к созданию нескольких автоматизаций, о которых пойдет речь дальше.

Читать далее
Всего голосов 17: ↑17 и ↓0+19
Комментарии14

Экономика будущего: почему рыночная экономика больше не вывозит

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

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

***

Люди приучены считать рынки естественными, а плановую экономику — нет. А почему, собственно? Представление о «естественности» рынков восходит к старой, чуть ли не со времён Джона Локка идее о самозарождении рынков — неплохой для XVII века, совершенно неактуальной в XXI. Рынки не самозарождаются и не существуют «в дикой природе»: они требуют как минимум чеканки монеты. Рынки могут пережить ослабление цивилизации, но не её отсутствие. Они — такое же порождение организованных общественных отношений, как и плановая экономика. А значит, и рыночная и плановая экономика вполне сопоставимы как способы сознательной экономической организации общества. И вот здесь становится интересно, потому что обществу по самой своей природе присуща централизация

Читать далее
Всего голосов 86: ↑46 и ↓40+17
Комментарии1037

Mount — ещё один способ уменьшения размера Docker-образа

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров15K

Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby...

Обновили Ruby-пакеты и под них код, написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.

Cделали следующее, чтобы сократить размер
Всего голосов 33: ↑30 и ↓3+33
Комментарии16

GUI — это хорошо, но большие дяди хотят IaC

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров17K

Вечерело, накрапывал морозный дождь… шел 7-й год разработки Roxy-WI. Понимание необходимости автоматизации пришло давно, поэтому был разработан API. Он был, скажем так, кривой и местами нелогичный, но работал. После создания RMON и написания к нему "нормального" API было решено создать API и для Roxy-WI с поддержкой CRUD и Swagger.

Читать далее
Всего голосов 13: ↑9 и ↓4+10
Комментарии2

Что творится на Российском рынке художественной литературы

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров16K

Привет Хабравчане!

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

Вначале будет моя субъективная часть, чуть-чуть истории, мое видение рынка и его проблем. Затем результаты опросов и выводы из них. И в конце пара пожеланий-предложений к участникам книжного рынка.

Читать далее
Всего голосов 16: ↑11 и ↓5+14
Комментарии51

Альтернативный список заблокированных в РФ ресурсов Re:filter

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

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

Получилось реализовать в достаточно компактные списки доменов и адресов, которые не перегрузят среднестатистическое устройство, но при этом список будут разделять заблокированные ресурсы и не позволят, например, пускать через VPN трафик на незаблокированные ресурсы, а значит не нарушат работу сервисов, онлайн игр и т.д. непредсказуемым образом

Читать далее
Всего голосов 122: ↑122 и ↓0+140
Комментарии58

Шеф, всё пропало

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров19K

Ошибки программистов C++ — это отдельный вид искусства, вроде бы простой язык, но стоит отвлечься на чашечку кофе, как компилятор начинает вываливать простыню ворнингов пополам с ошибками, и иногда это больше похоже на древнеегипетские письмена, чем на нормальный выхлоп. Вы наверное и сами не раз сталкивались с разыменованием nullptr или перепутали (= и ==) по недосмотру. Часто причиной ошибкой является лень или невнимательность, или усталость - не зря появились суеверия "не комитить в пятницу вечером", "не кодить в состоянии изменного сознания" или "избегать кода под кофейным угаром", ну это когда три-четыре кружечки кофе навернул и пошел нести добрый код направо и налево.

Вообще статья планировалась про то как можно поиздеваться над switch оператором - была у меня запись разговора с одного питерского митапа, проходившего несколько лет назад и где присутствующим предложили написать "невозможный", но работающий код со switch. И вот в поисках этой записи я наткнулся на файл с описанием "пятничных" багов и комитов, которые бы в трезвом уме посреди недели врядли бы проскочили в мастер. А еще была статья тоже про ошибки "Федя, дичь", где уважаемый хабрачитатель угадывал причину разных ошибок, явных или не очень. Поэтому я решил продолжить в том же стиле, вопрос - ответ, а вам предлагаю также поучаствовать в отгадывании возможных причин. Все примеры из реальных проектов, игр, движков и пятничных комитов.

C++ не прощает ошибок, но именно в этом его "шарм". В большинстве приведенных примеров сохранен стиль и названия параметров, только немного подчищены коментарии, дабы не палить контору.

Поотгадывать баги, выпить чашечку кофе...
Всего голосов 29: ↑29 и ↓0+41
Комментарии37

История Git: на этот раз не так весело

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

Линус Торвальдс как-то написал в своей книге, что создавал Linux для развлечения, но в итоге это привело к революции. Git, его второе творение, также оказалось «случайной революцией» — и сегодня это стандартный инструмент для людей в ИТ. Однако процесс его создания был уже не таким «весёлым» — по крайней мере, для самого Линуса. 

Читать далее
Всего голосов 99: ↑98 и ↓1+114
Комментарии56

Программирование для детей 10 лет: с чего начать

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.8K

Стоит ли обучать ребенка программированию в десять лет? Однозначно да, если он интересуется темой. Но мы не настаиваем, а хотим рассказать о популярных и распространенных направлениях, которые часто становятся основами онлайн-курсов программирования для детей 10 лет.

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

Давайте перейдем к сути и рассмотрим 6 основных направлений, связанных с кодингом, а также 3 дополнительных, которые подойдут, если программирование не интересует или кажется слишком сложным.

Читать далее
Всего голосов 23: ↑11 и ↓12+3
Комментарии19

RISC-V — звезда родилась: x86 не у дел, ARM сломала обе ноги

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров56K

Привет, постоянные и не очень читатели :) 

Это снова я — с четвёртой статьей из цикла про архитектуры, процессоры и всё такое. Напомню, как всё было:

Part I: Скандальное разоблачение x86: ARM врывается с двух ног

Part II: Этой индустрии нужен новый герой: ARM врывается с двух ног

Part III: Китайский киднеппинг: похищение дочки

Part IV: RISC-V — звезда родилась: x86 не у дел, ARM сломала две ноги← ВЫ ЗДЕСЬ

Как по мне, сейчас идеальное время для четвёртой статьи из цикла — в процессорах и архитектурах всё скучно (со времён M1 ничего удивительного не было) + вашему покорному слуге нужно было убедиться, что сабж не помрёт, а расцветёт, как стронгилодон крупнокистевой.

Дропдаун
Всего голосов 67: ↑60 и ↓7+66
Комментарии205

Пилим движок Arcanum. Урок 03. Работа с памятью, используем полиморфные аллокаторы

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.1K

Приветствую Хабравчане!

Продолжаем мучить разрабатывать движок для моей любимой игры Arcanum. В данном уроке расскажу, как движок управляет памятью и какие паттерны и подходы использует. Напишем свою мини реализацию полиморфных аллокаторов из С++ 17. Расскажу о некоторых оптимизациях в движке.

Читать
Всего голосов 14: ↑12 и ↓2+14
Комментарии6

Low-code в крупных IT-проектах: безумие и отвага или «пиши и сокращай» в разработке?

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

Так заведено, что сложные проекты требуют серьезных инструментов. К примеру, финтех-продукты холдинга IDF Eurasia, в том числе и Своего Банка, где я работаю, разрабатываются на далеко не самых простых языках Java и Kotlin. И, казалось бы, использование сложных форм — это само собой разумеющееся. Но из головы никак не выходят low-code инструменты, минимизирующие объем работ для запуска функционала, о которых без устали говорит IT-сообщество. Вот и на Хабре уже, казалось бы, все писано-переписано. Но давайте все же еще поразмышляем))

Читать далее
Всего голосов 12: ↑10 и ↓2+12
Комментарии3

Типы в программировании как математические множества

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7K

Типы в программировании можно(и нужно) рассматривать как математические множества.

Мысль хоть и очевидная, но из моей головы давно выветрилась.

Именно поэтому я и решил написать эту статью: чтобы напомнить о ней самому себе и тем, кто о ней тоже забыл или даже не знал.

Читать далее
Всего голосов 13: ↑12 и ↓1+15
Комментарии24

Как «достать абонента»

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров12K

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

Читать далее
Всего голосов 21: ↑14 и ↓7+14
Комментарии32

Древний язык программирования обновился спустя 27 лет. Что нового в Tcl/Tk 9.0?

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

Несколько дней назад был представлен релиз Tcl/Tk 9.0, динамического языка программирования. Он распространяется вместе с кроссплатформенной библиотекой базовых элементов графического интерфейса Tk. Релиз стал первым крупным обновлением с 1997 года (я был там, Гэндальф) и включает множество улучшений, которые добавляют современные возможности для разработчиков. Давайте посмотрим, что там у нас нового!
Читать дальше →
Всего голосов 55: ↑52 и ↓3+77
Комментарии23

Выбираем роутер с VPN

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров40K

Решил наконец поменять свой старенький маршрутизатор Linksys и купить новый гигабитный роутер со встроенным VPN – именно так большинство ритейлеров называют функцию, не уточняя, что имеется в виду: VPN-клиент или VPN-сервер.

После некоторых поисков удалось найти лишь одного крупного продавца – оранжевый из трех букв, на сайте которого для роутеров реализована глубокая фильтрация по VPN параметрам – протоколу и режиму работы (клиент/сервер).

И вот, имея список из нескольких десятков кандидатов для покупки, встал главный вопрос – а какую скорость через VPN сможет выдать каждый из них?

Читать далее
Всего голосов 15: ↑11 и ↓4+10
Комментарии73

Заметка про реализацию системы способностей в играх

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров9.4K

Разработчики игр нередко сталкиваются с необходимостью или желанием реализовать систему способностей в своих проектах. Не редки случаи, когда не понятно ни как подступиться в начале, ни как уже потом добавить в игру новую "гениальную" способность, о которой "ранее не договаривались", не сломав уже добавленные. Как минимум, через эти сложности я и сам успел пройти не один раз на сингловых и мультиплеерных проектах. О том, что я успел для себя понять, эта заметка.

Читать далее
Всего голосов 14: ↑12 и ↓2+13
Комментарии6

Писать код для компьютеров сложно, ещё сложнее — писать код для людей

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров14K

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

А теперь немного усложним задачу. Будем писать код для людей!

Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.

Писать такой код гораздо сложнее, потому что ты не только говоришь компьютеру, что делать, но и вступаешь в борьбу с ментальной моделью твоего кода в глазах другого пользователя. Это в равной степени computer science и психология мышления. Как сделать так, чтобы этот человек понял твой код?

Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!

Давайте поговорим о том, как упростить ему задачу.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+57
Комментарии6

Информация

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

Специализация

Software Developer
Linux
Python
Git