Pull to refresh
0
0
Бобков Александр @AlexBobkov

User

Send message

Вы не умеете играть в Героев 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 time12 min
Views54K


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

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

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Total votes 240: ↑236 and ↓4+306
Comments114

Пожалуйста, прекратите писать shell-скрипты

Reading time5 min
Views80K

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

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Total votes 94: ↑70 and ↓24+68
Comments251

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли

Reading time8 min
Views107K


Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.

А есть игры, на которые очень мало обзоров, но они супер крутые — игры про алгоритмы. Игры, в которых можно кодить на ретро-компьютере; игры, которые надо взламывать; игры, где можно программировать контроллеры или поведение персонажей; игры, где можно создавать свою игру внутри игры.

Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.

Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Total votes 78: ↑73 and ↓5+88
Comments98

Искусство возможного

Reading time3 min
Views8.3K

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

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

Став руководителем, человек стремится действовать точно так же – делать всё хорошо. И «делать всё», и «делать хорошо» (сюда включается и «делать вовремя»). Но это стремление разбивается о невиданные им доселе проблемы.

Читать далее
Total votes 32: ↑29 and ↓3+36
Comments13

А вы знаете, где используется Haskell?

Reading time4 min
Views26K

Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком разработки в Typeable и, конечно, мы не смогли пройти мимо такой темы.

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

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

Читать далее
Total votes 34: ↑33 and ↓1+37
Comments27

Код ревью с учётом человеческих слабостей

Reading time7 min
Views11K

Проверка кода (code review) — отличный инструмент для повышения качества кода, но он не учитывает один факт: отправляют и просматривают код люди, а они устают, теряют сосредоточенность, ленятся, да и просто испытывают эмоции в самые неожиданные моменты.

Поэтому хочу представить свое видение хороших и плохих практик код ревью с учётом человеческих особенностей.

Читать далее
Total votes 24: ↑22 and ↓2+23
Comments7

Не повторяйте: мои инфраструктурные ошибки

Reading time7 min
Views16K

По мере своего карьерного роста я все чаще и чаще испытываю чувство дежа вю. Во время личной или деловой встречи моему собеседнику достаточно упомянуть какой-то малозначительный факт — и я сразу же вспоминаю о событии, которое произошло со мной несколько лет (или даже «работ») назад. Чаще всего это касается неверно принятых мною решений, последствия которых пришлось расхлебывать долгие месяцы. Такие флешбеки настолько сильны, что я едва сдерживаюсь, чтобы не закричать человеку в лицо: «Ни в коем случае не делай X!». Почему сдерживаюсь? Всё просто: моих коллег не было в том месте и в то время и они попросту не поймут, каких ужасов я натерпелся в подобной же ситуации.

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

Читать далее
Total votes 22: ↑19 and ↓3+19
Comments18

[Пятничное] Теория Жоп

Reading time5 min
Views229K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 399: ↑388 and ↓11+473
Comments107

Как хранить данные в png, не привлекая внимания санитаров

Reading time13 min
Views70K

Всё началось с мема, который вы видите выше.

Сначала я посмеялся. А потом задумался: может ли быть так, что скриншот базы равноценен её снэпшоту?

Для этого у нас должно быть такое графическое представление базы, которое 1 к 1 отображает данные и структуру. Если сделать скриншот такого представления, из него можно восстановить базу.

Или... графическое представление и должно быть базой!

Это как?
Total votes 200: ↑199 and ↓1+253
Comments88

«Ижора»: клеточный автомат-компьютер

Reading time9 min
Views9.4K

Хотелось бы поделиться с читателями Хабра довольно необычной разработкой: настоящим компьютером, сделанном в виде клеточного автомата, действующего по простому правилу Fireworld2 с четырьмя состояниями клеток. Текущая базовая версия компьютера называется "Ижора 1". Еще с 1950-х годов существует такая традиция: давать компьютерам географические названия.

Паттерн, состоящий из более 6 миллионов клеток, содержит 256 килобайт памяти и снабжен монохромным экраном 128x64 пикселей, отражающим состояние экранного раздела ОЗУ, примерно как в ZX Spectrum и других популярных исторических моделях персональных компьютеров. Программы можно писать на ассемблере, компилировать в машинный код, тестировать на эмуляторе и вводить специальной утилитой в сам клеточный автомат. Другая утилита позволяет сохранять текущее состояние компьютера. Для запуска компьютера необходима программа Golly - лучшая на сегодня площадка для подобного рода исследований.

Ассемблер и эмулятор написаны на языке Common Lisp, скрипты для ввода программ в сам клеточный автомат и сохранения его состояния - в Python. Компьютер имеет 32-битную архитектуру и на данный момент в нем все один регистр и одна операция: вычитание с условным переходом в случае отрицательного или нулевого результата (Subleq). Несмотря на примитивность такой модели, давно доказана ее универсальность. Существует даже операционная система Dawn OS, написанная для эмулятора Subleq-процессора.

Итак, суммируем: виртуальный компьютер с экзотической моделью программирования и ресурсами уровня древних ПК 1980-х, исполняющий всего около 10 операций в секунду, требующий современный компьютер с несколькими гигабайтами памяти (рекомендуемый минимум - 8 гигабайт), с эмулятором и ассемблером на Лиспе. Зачем и кому это нужно? Очень краткий ответ: ради хака и ретрокомпьютинга. Ниже - более подробно.

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

Gopher, конкурент WWW из 90-х, который пока не стоит списывать со счетов

Reading time7 min
Views17K


В этом году мы отмечали 30-летие со дня создания всемирной паутины. Естественно, такая дата не могла обойтись безо всяких гиковских воспоминаний и нытья по тем временам, когда жизнь была проще. За три десятилетия Веб развился из многообещающего нишевого эксперимента в незаменимый компонент всемирного общения. Несмотря на все его недостатки, Веб стал необходимостью для миллиардов людей по всему миру, и в ближайшее время он никуда не денется.

А пока популярные СМИ пели хвалу невероятным успехам Веба, ещё одна технология передачи данных через интернет отмечала своё 30-летие – Gopher. Популярность этого забытого тяжеловеса эпохи раннего интернета была на пике в конце 90-х, а ныне почти полностью сошла на нет. К счастью, как и его отважный тёзка, Gopher продолжает прокладывать себе путь по интернету и в XXI веке при поддержке преданного сообщества, а количество серверов, поддерживающих этот протокол, постепенно растёт.
Читать дальше →
Total votes 23: ↑22 and ↓1+29
Comments6

Посмотрите, как Google отслеживает ваше местоположение. С Python, Jupyter, Pandas, Geopandas и Matplotlib

Reading time8 min
Views50K

В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data

Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем. 

На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром. 

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

Читать далее
Total votes 51: ↑50 and ↓1+58
Comments53

Многообразие Linux-дистрибутивов

Level of difficultyEasy
Reading time54 min
Views160K

Цель этой статьи показать и объяснить многообразие дистрибутивов Линукс. Показать основные сходства (они же все почему то называются "Линуксы" или даже правильнее "GNU/Linux") и основные различия (если бы не было различий их бы столько не существовало).

Плюс рассмотрим несколько наиболее задаваемых новичками вопросов:
- Сколько их (Linux-дистрибутивов)? Зачем так много?
- Основанный на другом дистрибутиве" - не пиратство ли это?
- Платный Linux - Как можно продавать то, что по определению распространяется бесплатно?
- Что такое "отечественный Linux"?

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

Живи, умри, и снова: погружаемся в мир рогаликов

Reading time10 min
Views27K

Что такое roguelike и roguelike-like? Почему проводилась целая конференция, чтобы это определить? Можно ли считать рогаликом реальную жизнь? Что сегодня может предложить один из самых суровых и не прощающих ошибок игровых жанров, и как попасть в правильный dungeon? Давайте разбираться!
Читать дальше →
Total votes 45: ↑44 and ↓1+60
Comments52

Школы юнит-тестирования

Reading time9 min
Views14K

Существуют две основные школы юнит-тестирования: классическая (ее также называют школой Детройта, или Чикаго) и лондонская (ее также называют мокистской школой, от слова mock).

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

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

Будущее аннотаций типов в Python

Reading time8 min
Views18K

Аннотации в Python прошли этап от необязательной, экспериментальной возможности добавления метаданных до широко используемого инструмента. Хотя изначально большинство разработчиков использовало их лишь для статического анализа кода (mypyPylance), некоторые энтузиасты нашли им применение и в период выполнения (runtime) программы (PydanticeforceFastAPI).

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

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

Читать далее
Total votes 18: ↑17 and ↓1+24
Comments16

Ковид-пандемия: взгляд ковидоскептика

Reading time62 min
Views157K


Роман Левентов leventov
Довожу до вашего сведения, что я отправил ссылку на ваш пост в интернет-приемную sledcom.ru. За распространение фейков сейчас есть административная и уголовная ответственность: www.garant.ru/news/1362894. Можете считать это чем угодно, заговором, цензурой, и т. д. но надеюсь что у вас сработает инстинкт самосохранения.



Port5 Роман всё правильно сделал, респект ему.







When they say «trust the science», they really mean «don't ask questions».

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

Любые проблемы всегда выдаются за «отдельные недостатки», за «случайные инциденты». И отдельные факты действительно могут казаться такими, если не представлены в комплексе. Только общий взгляд на последовательность событий помогает выявить закономерность.

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

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

В самом начале событий мы не имели практически никакой информации и оперировали в основном догадками, но ближе к настоящему моменту ситуация прояснялась — хотя нельзя сказать, что она стала менее подозрительной, скорее даже более. Впрочем, вы сами это увидите.
Читать дальше →
Total votes 313: ↑131 and ↓182-13
Comments2354

Что читать на английском языке чтобы не умереть от скуки

Reading time9 min
Views49K

Читать на английском – интересно и полезно. Однако, многолетнему обитателю рунета непросто найти хорошие иностранные ресурсы. Плюс, многое из найденного оказывается скучным или слишком сложным. Я постарался подобрать интересные сайты для практики английского и понять, какие из них имеют доступный уровень сложности, а какие – более 9999999.

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

Читать далее
Total votes 20: ↑19 and ↓1+23
Comments16

Из классической механики получили квантовую. Опять

Reading time6 min
Views20K

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

Еще один важный момент заключается в том, что многими по умолчанию подразумевается полнота волновой функции и фундаментальность уравнения Шредингера.

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

Читать далее
Total votes 29: ↑26 and ↓3+34
Comments77
1
23 ...

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity