Pull to refresh
2
0.2
Обидин Михаил @mrsantak

User

Send message

Как добавить отзыв на Яндекс.Маркет

Reading time6 min
Views27K

Как водится, сперва - краткая предыстория.

Один цветочный магазин, а точнее агрегатор, набрал на мартовские праздники заказов в разы больше, чем смог бы обработать, в результате, не менее 300 получательниц (согласно ругани в группе ВК данного сервиса) получили свои подарки либо с задержкой в 5-8 часов, либо на следующий день (а самые удачливые, через день).

Данный инцидент (моей девушке пришлось ждать доставку 7 марта с 10:00 до 18:30) заставил меня вспомнить о существующей системе отзывов, лидером в которой, как мне тогда казалось, является именно Яндекс.Маркет.

Читать далее
Total votes 199: ↑195 and ↓4+234
Comments184

Главное — это идея: 10 отличных проектов промышленного дизайна 2022 года

Level of difficultyEasy
Reading time7 min
Views15K
Как доработать игровой контроллер для людей с инвалидностью? Как сделать отвертку так, чтобы у нее появилось «плечо» для увеличения усилия? Как продумать пуговицы так, чтобы ими могли пользоваться даже слепые, при этом еще и различая цвета одежды? Это и многое другое в дайджесте независимых дизайн-проектов, которые я собирал целый год.

image

Я пишу про промышленный дизайн более 7 лет. По просьбе компании Timeweb я собрал 8 наиболее интересных, на мой взгляд, идей 2022 года и (поскольку я слоупок и пишу об этом только сейчас) добавил пару отличных проектов из января. Открывайте, будет интересно!
Читать дальше →
Total votes 37: ↑32 and ↓5+39
Comments82

Минималистичный YouTube. Расширения для браузера и альтернативные клиенты

Level of difficultyEasy
Reading time7 min
Views66K

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

Один из главных «нарушителей» — YouTube. Стоило один раз посмотреть пляжный волейбол на Олимпийских играх — и он уже несколько лет показывает женщин в купальниках на главной странице (пример). Даже неудобно открывать YouTube в присутствии сына…

Непрошеные и неуместные рекомендации видео — общая проблема, на которую часто жалуются. К счастью, их легко заблокировать, как и весь остальной мусор. Можно ходить на серверы YouTube через кастомный фронтенд, через сторонние клиенты или вообще из консоли. Некоторые альтернативные способы просмотра особенно актуальны в свете потенциальной блокировки YouTube на территории РФ.
Читать дальше →
Total votes 109: ↑106 and ↓3+127
Comments80

Вы не умеете играть в Героев 3: 13 карт S-размера, которые вы не пройдете за вечер

Reading time11 min
Views62K

Впервые Герои появились в моей жизни лет в 7. Как сейчас помню, зимние каникулы, тётя, старше меня на 16 лет (невероятно взрослая и крутая, слушает Металлику, у нее даже есть косуха), запускает с диска «Герои Меча и Магии III: Полное собрание». Я в предвкушении устраиваюсь сзади на диване, впереди лучшие часы для нас двоих. Для меня Геройский стрим (поиграть меня пустят только через пару лет), а для неё — несколько часов тишины.

За последние 15 лет моя игра в «Герои» не сильно менялась. Ну, сложность повыше, ну, компов побольше. Те же автосгенерированные карты, только сбоку. Если нападать, то на армию не сильно больше моей. Если магия, то жахнуть от души «Цепью молний», на крайний случай «Армагеддон», (если Черные Драконы есть). Но смысл один: строим Ратушу, захватываем Лесопилку, подбираем сундучок, скупаем прирост, отвоёвываем замок у компа. Приелось.

Сразу скачивать карту XXL-убийцу самооценки было стрёмно, а узнать, как играют тру-пацаны — интересно. Оказалось, некоторые картоделы давно уже создают карты-пазлы, с боями на подумать знание поведения ИИ, с использованием багов игры или просто на хитрую логистику. Таких карт-загадок меньше и они не очень популярны, но я нашла 13 шедевров Heroes Might and Magic III S-размера. (Будет очень много скриншотов).

Я веду ламповый Telegram-канал GameDEVils и блог на Substack . Заглядывайте в гости, я делюсь там материалами про геймдизайн, разработку и историю игр ^__^
Читать дальше →
Total votes 187: ↑178 and ↓9+220
Comments106

Заблуждения программистов о тексте

Reading time11 min
Views19K


Возжелавший прильнуть к жанру вестернов обратится либо к десятой строчке топ-250 лучших фильмов по версии IMDb, либо уже будет обладать знанием, что начинать нужно с «Хороший, плохой, злой». Там он увидит жадных потных мужчин, которые заканчивают фильм напряжённым мексиканским противостоянием. Жалкая охота за золотом конфедератов разворачивается на фоне кровавых битв Гражданской войны между «Севером» и «Югом». Таким зритель запомнит вестерны как жанр.

В реальности «Хороший» — это не классика, а яркий представитель поджанра ревизионистских вестернов, снят в Европе и наоборот, критикует американскую идеологию направления. В нём нет ничего общего с картинами, где герой встаёт на защиту правильного и справедливого общества от злодеев или кровожадных индейцев. В пятидесятых и шестидесятых классический вестерн сошёл на нет, но в коллективном сознании критика быстро заместила критикуемый объект. Когда Марти Макфлай жалуется на анахронизм наряда, он сравнивает себя с антигероями Клинта Иствуда, а не бравыми ковбоями в исполнении Джона Уэйна.

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

Заблуждение 1. Любые символы, кроме управляющих, имеют предсказуемую ширину


В реальности ширина символов может отличаться даже в моноширных шрифтах.
Читать дальше →
Total votes 95: ↑95 and ↓0+95
Comments51

Единица информации vs Понятие

Reading time4 min
Views14K

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

Менеджер, через которого я взаимодействую с арендодателем: «Что вам непонятно? Пишете обычное заявление, чтобы обеспечительный платёж зачли в счёт аренды». Стоп. На чьё имя, в какой форме?? Она варится в этих «обычных заявлениях» по 8 часов в день, а для меня это разовая задача.

В магазине в ряд лежат пакеты с печеньем.
— Дайте вот это печенье (показываю на конкретный пакет).
— Какое?
— Вот это (тяну указательный палец, он почти уже упирается в пакет).
— Это??
— Да.
— Это не печенье. Это галеты… [смотрит на меня, как на идиота]
Занавес.

Язык большинства инструкций можно понять только если ты УЖЕ умеешь пользоваться гаджетом. Их авторы разговаривают сами с собой. Да ещё терминами, каждый из которых требует отдельного обстоятельного ввода.

Читать далее
Total votes 48: ↑47 and ↓1+58
Comments115

DatRet: Реализация Tensorflow для табличных данных

Reading time7 min
Views3.2K

Мой open-source продукт. Rete neurale per la previsione di Dati tabulari. (it.)

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

В данной статье рассмотрим причину создания данной библиотеки, проведем "туториал" и сравним точность прогнозирования DatRetClassifier и DatRetRegressor с классическими методами машинного обучения.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments3

YAML из Ада

Reading time9 min
Views69K

Формат данных YAML чрезвычайно усложнён. Он задумывался как удобный для человека, но в стремлении к этой цели сложность настолько увеличилась, что, по моему мнению, его разработчики достигли противоположного результата. В YAML есть куча возможностей выстрелить себе в ногу, а его дружелюбие обманчиво. В этом посте я хочу продемонстрировать это на примере.

Данный пост является нытьём и он более субъективен, чем мои обычные статьи.
Читать дальше →
Total votes 172: ↑169 and ↓3+215
Comments186

Популяризация JSON-RPC (часть 1)

Reading time8 min
Views29K

Для передачи данных по сети есть хорошо зарекомендовавшие себя стандарты - например, SOAP, gRPC, AMQP, REST, GraphQL.

При создании вебсайтов малой, средней и большой сложности с потоками данных к бэкенду и обратно в JSON формате обычно используются последние два с их вариантами. Верней, только варианты, потому что REST и GraphQL - ресурсо-ориентированные стандарты. Это как бы просто перенос элементарной работы с базой данных на клиента (хотя под "ресурсом" может пониматься и абстракция). Обычно таких запросов не больше трети от всего бэкенд API.

Попытка сделать весь API максимально RESTful страшно раздувает код и грузит сеть. Потому что остальные две трети запросов - в форме команд на бэкенд проделать какие-то действия, слабо отображающиеся на CRUD над некими ресурсами. И вариантов послать такие запросы достаточно много. Даже, чересчур.

Читать далее
Total votes 17: ↑10 and ↓7+5
Comments41

Сделайте это и бегать будет легче, чем ходить. Упражнение для тренировки летящего бега, получите удовольствие от бега

Reading time2 min
Views75K

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

Серия моих предыдущих статей о здоровье и его компьютерном анализе и просто о ЗОЖ и фитнесе-физкультуре:

Бег в 2023 г. С пятки или с носка? Измеряем ударные нагрузки. Android и акселерометр
https://habr.com/ru/post/714698/

Как быстро бег уничтожает колени. Опрос любителей и мнение профессионалов
https://habr.com/ru/post/709182/

Программист с гаджетами в тренажерном зале
https://habr.com/ru/post/648421/

Читать далее
Total votes 51: ↑27 and ↓24+10
Comments236

Про Vim " Горячие клавиши

Reading time8 min
Views8.3K

Тема очень обширная, не сказать бесконечная, но я постараюсь затронуть только очень важные вещи, о которых говорится не так много в бесчисленных джентльменских минимумах по Vim. Хотя, конечно, придется время от времени возвращаться к теме дабы дать уточняющие указания или рекомендации. Да и не упомню я всего сразу. Память вообще штука интересная. Помнит ли человек как надо ходить? Раз кто-то забывает, то видимо помнит осознанно и не так уж что бы очень хорошо. Вроде как, через примерно пол года в постели или в космосе учиться ходить нужно заново.

В частности, видимо, с этим связано то, что во многих обучающих материалах так много говорится о повторяющихся вещах типа того как удобно использовать числовой префикс перед движением или командой, или о том как работают сокращения переходов по словам (w и b), по предложениям (( и )), по параграфам ({ и }), или о том как передвигаться по всему тексту при помощи <C-u> и <C-d> или <C-f> и <C-b>. И в то же время совсем мало говорится, например, почему-то о том как передвигаться в режиме вставки. Или, например, я совсем недавно открыл для себя замечательные f и F. Я смею предположить, что большинство тех, кто занимается составлением таких мануалов попросту перестают замечать какие-то движения, которые они сами используют уже на уровне рефлексов, а поэтому и не могут вспомнить когда составляют какие-то планы и даже когда непосредственно набирают текст.

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

Читать далее
Total votes 11: ↑9 and ↓2+8
Comments6

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO

Reading time19 min
Views7.9K

Когда пишешь тесты на обширную модель (DTO), ловишь себя на мысли, что сосредоточен не на тестовых данных, а на том, как ловчее избавить себя от написания boilerplate-кода.

Как это сделать? Поискать готовое решение (плагин).

А если его нет? Тогда – написать плагин.

А если не умеешь? Стоит хотя бы начать :)

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments14

Обзор топ-5 полезных утилит для Docker

Reading time5 min
Views37K

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

В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.

Читать далее
Total votes 20: ↑17 and ↓3+17
Comments11

Поздравляю, у нас в команде человек «Всё — г… но»

Reading time7 min
Views94K

Это была самая первая встреча с командой заказчика на проекте, которым я руководил. Мы должны были провести модернизацию инфраструктуры в крупном банке. Один из участников встречи, назовем его Миша, возглавлявший у заказчика поддержку крупной ИТ-системы, начал набрасывать. Сначала проблемы с предыдущего проекта. Потом Мишу понесло, и досталось прошлой команде («криворукие умники»), архитекторам как таковым («да что эти дебилы понимают в том, что проектируют»). Его ворчание перебросилось на «тупые процессы» и «отстойный менеджмент». Это не было энергичное возмущение, скорее монотонное гудение, что «всё не так». Так я понял, что у нас в команде человек «Всё — г..но». А дальше предстояло разобраться с тем, как нейтрализовать Мишу, чтобы он не портил атмосферу в команде. Или даже обратить его суперсилу на пользу делу.

Вот как это было
Total votes 220: ↑211 and ↓9+244
Comments373

VR разработка вместо антидепрессантов

Reading time2 min
Views7.5K

Хочу поделиться своим опытом выхода из выгорания, возможно кому либо будет интересно. Надеюсь у меня получится помочь Вам решить для себя проблемы "я ж прогать начал чтобы игры делать, а не инвестиционные платформы", "время разрабов-одиночек прошло", "ничего нового не придумать".

Читать далее
Total votes 13: ↑11 and ↓2+13
Comments10

Как я делаю опенсорсную статусную панель «я занят»

Reading time8 min
Views28K

Прототип моего проекта светодиодной таблички, которая показывает что я занят — Busy StatusBar

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

Поэтому я решил сделать табличку, которая полностью заменяет помидорный таймер и одновременно показывает окружающим, что я занят и время через которое я освобожусь. Важно было ее максимально легко активировать, за одну секунду — нажал кнопку и загорается статус BUSY с обратным отсчетом. Прошивку и API думаю сделать полностью открытую, чтобы все могли прикручивать устройству свои интеграции, например плагины для тайм-трекеров.

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

Приглашаю всех желающих поучаствовать в разработке.
Читать дальше →
Total votes 128: ↑125 and ↓3+151
Comments195

Как работает Wine

Reading time10 min
Views76K


Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.
Читать дальше →
Total votes 188: ↑187 and ↓1+230
Comments48

Rust должен умереть, МГУ сделал замеры

Reading time25 min
Views103K

В предыдущих сериях:



Медленно, но верно Раст проникает не только в умы сотрудников больших корпораций, но и в умы школьников и студентов. В этот раз мы поговорим о статье от студента МГУ: https://rustmustdie.com/.


Её репостнул Андрей Викторович Столяров, доцент кафедры алгоритмических языков факультета ВМК МГУ им. М. В. Ломоносова и по совместительству научрук студента-автора статьи.


Я бы сказал, что тут дело даже не в том, что он "неинтуитивный". Дело скорее в том, что компилятор раста сам решает, когда владение "должно" (с его, компилятора, точки зрения) перейти от одного игрока к другому. А решать это вообще-то должен программист, а не компилятор. Ну и начинается пляска вида "как заставить тупой компайлер сделать то, чего я хочу".
Бред это всё.

— А. В. Столяров
Кощунство!
Total votes 285: ↑266 and ↓19+325
Comments230

Я проанализировал данные за 50 лет. «Не-рецессия» 2022 года уникальна: спрятаться от неё негде

Reading time5 min
Views50K

Наблюдая за рыночными данными, я обнаружил один забавный факт. Сейчас расскажу о нём. Информация может оказаться полезной для всех тех, у кого есть какие-то инвестиции в фондовый рынок.

В США сейчас наблюдается "Не-рецессия". Дело в том, что по общепринятым правилам игры, падение экономики на протяжении двух кварталов подряд расценивается как начало рецессии, и так было всегда. Однако, падение ВВП на протяжении двух кварталов подряд в 2022 году президент Байден и глава ФРС Пауэлл расценивают как "НЕ-рецессию", и рецессией это называть сейчас не принято.

Читать далее
Total votes 122: ↑111 and ↓11+134
Comments242

Information

Rating
2,425-th
Location
München, Bayern, Германия
Date of birth
Registered
Activity

Specialization

Backend Developer
Java