Когда-то мой одногруппник написал статью о том, почему на открытом коде заработать невозможно. Он привёл аргументы, которые лежали на поверхности. Но это были не самые основные причины. До сути он не смог докопаться, потому что не знал об аддонах для Blender’a. Поскольку Blender распространяется по свободной лицензии GPL, все плагины для него тоже автоматически приобретают эту лицензию. Иначе говоря, они открытые, но… ПЛАТНЫЕ
Пользователь
Как потратить шесть лет и быть невидимкой в Play Market
Всем привет!
Этот пост в большей степени — рассказ о пути одной идеи к реализации.
И немного — о трудностях, с которыми я сталкиваюсь прямо сейчас, когда вроде бы всё готово — но никто о твоей игре не знает.
Если вкратце: шесть лет трачу вечера на то, чтобы написать собственную игру.
Игра доступна на своём сайте, но в Play Market её не видно.
Управление проектами и задачами в Obsidian
Используя Obsidian более двух лет, я привык организовывать в нём все свои заметки по проектам. Хотя Obsidian предлагает широкий набор сторонних плагинов для расширения своего функционала, мне так и не удалось найти идеальный инструмент для управления проектами и задачами. Это подтолкнуло меня к созданию нескольких автоматизаций, о которых пойдет речь дальше.
Экономика будущего: почему рыночная экономика больше не вывозит
Если вы заметили, что производительные силы капитализма не производят больше ничего, кроме циферок капитализаций
Если вы хотите работать в экономике, которая снова что-то создаёт
…пора разбираться, почему выдохся капитализм и знакомиться с будущим производительной экономики.
***
Люди приучены считать рынки естественными, а плановую экономику — нет. А почему, собственно? Представление о «естественности» рынков восходит к старой, чуть ли не со времён Джона Локка идее о самозарождении рынков — неплохой для XVII века, совершенно неактуальной в XXI. Рынки не самозарождаются и не существуют «в дикой природе»: они требуют как минимум чеканки монеты. Рынки могут пережить ослабление цивилизации, но не её отсутствие. Они — такое же порождение организованных общественных отношений, как и плановая экономика. А значит, и рыночная и плановая экономика вполне сопоставимы как способы сознательной экономической организации общества. И вот здесь становится интересно, потому что обществу по самой своей природе присуща централизация
Mount — ещё один способ уменьшения размера Docker-образа
Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby...
Обновили Ruby-пакеты и под них код, написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.
GUI — это хорошо, но большие дяди хотят IaC
Вечерело, накрапывал морозный дождь… шел 7-й год разработки Roxy-WI. Понимание необходимости автоматизации пришло давно, поэтому был разработан API. Он был, скажем так, кривой и местами нелогичный, но работал. После создания RMON и написания к нему "нормального" API было решено создать API и для Roxy-WI с поддержкой CRUD и Swagger.
Что творится на Российском рынке художественной литературы
Привет Хабравчане!
В прошлой статье я писал про наше приложение “ЧтоПочитать?” — рекомендательную систему для поиска интересных книг. В начале статьи я говорил, что ощущаю кризис на рынке художественной литературы. Но существует ли этот кризис на самом деле? Параллельно с разработкой приложения мы решили провести небольшое исследование. В рамках исследования мы спросили читателей и писателей, как современный книжный рынок выглядит для них. По результату опроса я пишу эту статью.
Вначале будет моя субъективная часть, чуть-чуть истории, мое видение рынка и его проблем. Затем результаты опросов и выводы из них. И в конце пара пожеланий-предложений к участникам книжного рынка.
Альтернативный список заблокированных в РФ ресурсов Re:filter
В этой статье я хочу описать работу над проектом альтернативного списка заблокированных адресов Re:filter: проблему с которой я столкнулся будучи пользователем существующих списков заблокированных ресурсов, шаги к решению и полезные на практике результаты этой работы.
Получилось реализовать в достаточно компактные списки доменов и адресов, которые не перегрузят среднестатистическое устройство, но при этом список будут разделять заблокированные ресурсы и не позволят, например, пускать через VPN трафик на незаблокированные ресурсы, а значит не нарушат работу сервисов, онлайн игр и т.д. непредсказуемым образом
Шеф, всё пропало
Ошибки программистов C++ — это отдельный вид искусства, вроде бы простой язык, но стоит отвлечься на чашечку кофе, как компилятор начинает вываливать простыню ворнингов пополам с ошибками, и иногда это больше похоже на древнеегипетские письмена, чем на нормальный выхлоп. Вы наверное и сами не раз сталкивались с разыменованием nullptr или перепутали (= и ==) по недосмотру. Часто причиной ошибкой является лень или невнимательность, или усталость - не зря появились суеверия "не комитить в пятницу вечером", "не кодить в состоянии изменного сознания" или "избегать кода под кофейным угаром", ну это когда три-четыре кружечки кофе навернул и пошел нести добрый код направо и налево.
Вообще статья планировалась про то как можно поиздеваться над switch оператором - была у меня запись разговора с одного питерского митапа, проходившего несколько лет назад и где присутствующим предложили написать "невозможный", но работающий код со switch. И вот в поисках этой записи я наткнулся на файл с описанием "пятничных" багов и комитов, которые бы в трезвом уме посреди недели врядли бы проскочили в мастер. А еще была статья тоже про ошибки "Федя, дичь", где уважаемый хабрачитатель угадывал причину разных ошибок, явных или не очень. Поэтому я решил продолжить в том же стиле, вопрос - ответ, а вам предлагаю также поучаствовать в отгадывании возможных причин. Все примеры из реальных проектов, игр, движков и пятничных комитов.
C++ не прощает ошибок, но именно в этом его "шарм". В большинстве приведенных примеров сохранен стиль и названия параметров, только немного подчищены коментарии, дабы не палить контору.
История Git: на этот раз не так весело
Линус Торвальдс как-то написал в своей книге, что создавал Linux для развлечения, но в итоге это привело к революции. Git, его второе творение, также оказалось «случайной революцией» — и сегодня это стандартный инструмент для людей в ИТ. Однако процесс его создания был уже не таким «весёлым» — по крайней мере, для самого Линуса.
Программирование для детей 10 лет: с чего начать
Стоит ли обучать ребенка программированию в десять лет? Однозначно да, если он интересуется темой. Но мы не настаиваем, а хотим рассказать о популярных и распространенных направлениях, которые часто становятся основами онлайн-курсов программирования для детей 10 лет.
Современные дети все чаще предпочитают разрабатывать собственные игры, создавать трехмерные модели, «оживлять» их и программировать поведение виртуальных персонажей. Именно игровая основа и возможность творческого самовыражения привлекает ребят: они с охотой начинают учиться самостоятельно или под руководством чутких педагогов.
Давайте перейдем к сути и рассмотрим 6 основных направлений, связанных с кодингом, а также 3 дополнительных, которые подойдут, если программирование не интересует или кажется слишком сложным.
RISC-V — звезда родилась: x86 не у дел, ARM сломала обе ноги
Привет, постоянные и не очень читатели :)
Это снова я — с четвёртой статьей из цикла про архитектуры, процессоры и всё такое. Напомню, как всё было:
Part I: Скандальное разоблачение x86: ARM врывается с двух ног
Part II: Этой индустрии нужен новый герой: ARM врывается с двух ног
Part III: Китайский киднеппинг: похищение дочки
Part IV: RISC-V — звезда родилась: x86 не у дел, ARM сломала две ноги← ВЫ ЗДЕСЬ
Как по мне, сейчас идеальное время для четвёртой статьи из цикла — в процессорах и архитектурах всё скучно (со времён M1 ничего удивительного не было) + вашему покорному слуге нужно было убедиться, что сабж не помрёт, а расцветёт, как стронгилодон крупнокистевой.
Пилим движок Arcanum. Урок 03. Работа с памятью, используем полиморфные аллокаторы
Low-code в крупных IT-проектах: безумие и отвага или «пиши и сокращай» в разработке?
Так заведено, что сложные проекты требуют серьезных инструментов. К примеру, финтех-продукты холдинга IDF Eurasia, в том числе и Своего Банка, где я работаю, разрабатываются на далеко не самых простых языках Java и Kotlin. И, казалось бы, использование сложных форм — это само собой разумеющееся. Но из головы никак не выходят low-code инструменты, минимизирующие объем работ для запуска функционала, о которых без устали говорит IT-сообщество. Вот и на Хабре уже, казалось бы, все писано-переписано. Но давайте все же еще поразмышляем))
Типы в программировании как математические множества
Типы в программировании можно(и нужно) рассматривать как математические множества.
Мысль хоть и очевидная, но из моей головы давно выветрилась.
Именно поэтому я и решил написать эту статью: чтобы напомнить о ней самому себе и тем, кто о ней тоже забыл или даже не знал.
Как «достать абонента»
Сразу хочу уточнить, что описанное далее не является руководством к действиям и идей для разного рода спаммеров. Просто описываю ситуацию, которая случилось с женой, в которой я бессилен, да и решения данной "проблемы" я не вижу.
Древний язык программирования обновился спустя 27 лет. Что нового в Tcl/Tk 9.0?
Несколько дней назад был представлен релиз Tcl/Tk 9.0, динамического языка программирования. Он распространяется вместе с кроссплатформенной библиотекой базовых элементов графического интерфейса Tk. Релиз стал первым крупным обновлением с 1997 года (я был там, Гэндальф) и включает множество улучшений, которые добавляют современные возможности для разработчиков. Давайте посмотрим, что там у нас нового!
Выбираем роутер с VPN
Решил наконец поменять свой старенький маршрутизатор Linksys и купить новый гигабитный роутер со встроенным VPN – именно так большинство ритейлеров называют функцию, не уточняя, что имеется в виду: VPN-клиент или VPN-сервер.
После некоторых поисков удалось найти лишь одного крупного продавца – оранжевый из трех букв, на сайте которого для роутеров реализована глубокая фильтрация по VPN параметрам – протоколу и режиму работы (клиент/сервер).
И вот, имея список из нескольких десятков кандидатов для покупки, встал главный вопрос – а какую скорость через VPN сможет выдать каждый из них?
Заметка про реализацию системы способностей в играх
Разработчики игр нередко сталкиваются с необходимостью или желанием реализовать систему способностей в своих проектах. Не редки случаи, когда не понятно ни как подступиться в начале, ни как уже потом добавить в игру новую "гениальную" способность, о которой "ранее не договаривались", не сломав уже добавленные. Как минимум, через эти сложности я и сам успел пройти не один раз на сингловых и мультиплеерных проектах. О том, что я успел для себя понять, эта заметка.
Писать код для компьютеров сложно, ещё сложнее — писать код для людей
Писать код для компьютера и так достаточно сложно: вы берёте что-то большое и неопределённое, какую-нибудь крупную расплывчатую цель бизнеса, которой нужно достичь. Затем рекурсивно разбиваете её на части и продумываете все сценарии, пока не получите чёткие логические конструкции, которым сможет следовать компьютер. Компьютеры очень хорошо справляются с выполнением логических конструкций.
А теперь немного усложним задачу. Будем писать код для людей!
Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.
Писать такой код гораздо сложнее, потому что ты не только говоришь компьютеру, что делать, но и вступаешь в борьбу с ментальной моделью твоего кода в глазах другого пользователя. Это в равной степени computer science и психология мышления. Как сделать так, чтобы этот человек понял твой код?
Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!
Давайте поговорим о том, как упростить ему задачу.
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Зарегистрирован
- Активность