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

Все потоки

Сначала показывать
Порог рейтинга

WoG уже 20 лет…

Программирование *Разработка игр *Игры и игровые консоли
Из песочницы

Все это уже история... И я даже писал об этом (не на habr). Поэтому, возможно, кому-то это знакомо. Не думал, что тут стоит писать подобное, но, вижу, что фанаты Героев 3 (и вообще серии HoMM) тут очевидно присутствуют, поэтому рискну...

Время: 20 лет назад.

Место: Ээээ… всемирная паутина.

Действующие лица:

Gus Smedstad – программист Героев 3 и ведущий программист Героев 4.
Angelspit – хозяин крупнейшего сайта (в то время) http://www.celestialheavens.com
Denis "Kiar" Markov – хрен какой-то
Slava Salnikov (он же ZVS) – лидер команды WoG и ведущий программист WoG.

Предыстория (знающие могут пропустить).
WoG – любительский аддон к игре Герои Меча и Магии 3 (ставится поверх SoD). В детали его создания тут вдаваться не буду (Wiki скажет лучше: https://ru.wikipedia.org/wiki/Heroes_of_Might_and_Magic_III:_In_the_Wake_of_Gods ), но замечу, что только с официального сайта (свободно распространяемый ресурс) WoG в первые несколько месяцев был скачан пол миллиона раз (далее трудно оценить масштаб, но думаю несколько миллионов его хотя бы пробовали).

Основная же мысль, которую я хочу здесь озвучить: у меня НИКОГДА не было исходников Героев 3. WoG написан как отдельный EXE файл, который «прицепляется» моей утилиткой к готовому Heroes3.exe (купленная версия SoD английская), перехватывает управление и при старте «проникает» в тело SoD с целью установить множество call back’ов. Далее SoD работает, не зная о существовании «надстройки» в виде WoG, но, естественно им контролируется. Говоря простым языком, WoG это вирус на теле SoD.

Читать далее
Всего голосов 33: ↑33 и ↓0 +33
Просмотры 4.1K
Комментарии 6

Новости

Применение подхода eXtreme Multi-Label Classification для классификация записей материально-технических ресурсов

Блог компании Юнидата Обработка изображений *Хранение данных *Машинное обучение *Хранилища данных *

Данная работа является пересказом статьи Jingzhou Liu, Wei-Cheng Chang, Yuexin Wu, and Yiming Yang. 2017. Deep Learning for Extreme Multi-label Text Classification. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '17). Association for Computing Machinery, New York, NY, USA, 115–124. https://doi.org/10.1145/3077136.3080834

Одно из направлений работ в нашей лаборатории Unidata Labs – классификация записей материально-технических ресурсов (МТР) с применением машинного обучения. В этой статье мы бы хотели кратко разобрать нашу постановку задачи как таковую, и после чего предложить разбор одного из методов, которым эта задача могла бы решаться.

Вкратце, продукт Юнидата МТР работает с данными, относящимися к материально-техническим ресурсам клиентов, которые представлены в Юнидата как реестр — т.е., коллекция записей. Записи МТР, как правило, содержат очень большое количество полей, но нас интересует только одно — полное наименование. Оно может выглядеть примерно так...

 

Читать далее
Рейтинг 0
Просмотры 454
Комментарии 1

5 принципов, о которых нельзя забывать, когда описываешь инфраструктуру в виде кода

Блог компании Southbridge Системное администрирование *IT-инфраструктура *DevOps *Облачные сервисы

Infrastructure as Code — это подход, который подразумевает описание инфраструктуры в виде коде с его последующим применением для внесения необходимых изменений. Но, как именно писать код, IaC не говорит, только даёт инструменты. Один из таких инструментов — Terraform.

21 мая в Слёрм пройдёт практический интенсив «Terraform Мега». Мы пообщались с его автором Павлом Селиванов, архитектором Yandex.Cloud. Он рассказал, каких принципов нужно придерживаться, когда описываешь инфраструктуру, чтобы на выходе не получить непонятный и плохо поддерживаемый код. 

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 1.7K
Комментарии 0

Кто такой Analytics Engineer – E2E-решение с использованием bash + dbt + Looker

Блог компании OTUS Big Data *Data Engineering *

Привет! Меня зовут Артемий Козырь, и я Analytics Engineer в Wheely.

Мы могли бы долго и нудно обсуждать, кто такой Analytics (Data / Backend) Engineer, какими инструментами он должен владеть, какие buzzwords в тренде и ценятся в CV, однако, на мой взгляд, гораздо интереснее рассмотреть процесс и результаты его деятельности в рамках конкретной прикладной задачи.

В этой публикации:

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 316
Комментарии 0

3 способа использовать box-shadow в CSS

Блог компании Нетология Веб-дизайн *Разработка веб-сайтов *CSS *HTML *
Перевод

Тени помогают сделать визуальную составляющую сайта интересной и эстетичной. В посте рассмотрим свойство CSS box-shadow и то, как его можно стилизовать.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 990
Комментарии 2

W-функция Ламберта и ее приложения

Python *Программирование *Алгоритмы *Математика *
Из песочницы

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 2.1K
Комментарии 4

Эмулятор CD-Rom для SonyPlaystation который я писал больше десяти лет. Часть 1

DIY или Сделай сам
Recovery mode
Давным-давно у нас городе был игровой клуб на несколько SonyPlaystation. Где я очень по многу зависал. Там я полюбил PS1 и игры на неё. Использования CD-Rom в качестве носителя позволила привнести в игры ошеломительные по тем временам видео вставки, CD музыку в качестве оформления игрового процесса, возможность делать игры многодисковыми(с картриджами такого вроде не проворачивали), что был несомненный плюс. Но и привнесло один минус, а именно деградация лазера привода. И если в домашних условиях, возможно, это была и не большая проблема, то в игровом салоне умирали они раз в 2-3 месяца. Вот ещё там у меня родилась идея сделать эмулятор CD-Rom. И через очень много лет я таки исполнил свою мечту.

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

PS. я знаю про существование psio, и эмуляторы консолей, но мне был интересен процесс.
Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 5.5K
Комментарии 14

Заполнители типа в Swift: что это такое и когда их следует использовать

Блог компании OTUS Разработка под iOS *Swift *
Перевод

Заполнители типа (type placeholders) — это новая языковая фича, представленная в Swift 5.6 (Xcode 13.3).

Сама концепция очень проста - вместо указания конкретного типа мы можем поставить _ (заполнитель типа), который предписывает компилятору самому определить заполняемый тип.

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 660
Комментарии 4

Простая аутентификация на PHP

PHP *
Tutorial

Многие новички до сих пор попадают в тупик при написании простейшей аутентификации в PHP. На Тостере с завидной регулярностью попадаются вопросы о том, как сравнить сохраненный пароль с паролем полученным из формы логина. Здесь будет краткая статья-туториал на эту тему.

Disclaimer: статья рассчитана на совершенных новичков. Умудрённые опытом разработчики ничего нового здесь не найдут, но могут указать на возможные недочёты =).

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 2.8K
Комментарии 46

Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden

Блог компании PVS-Studio .NET *C# *

Bitwarden – менеджер паролей с открытым исходным кодом. Это программное обеспечение помогает генерировать уникальные пароли и управлять ими. Получится ли у анализатора PVS-Studio отыскать ошибки в таком проекте?

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.8K
Комментарии 6

«Писать код — не главное». Авторы курсов из HTML Academy делятся секретами профессии

Блог компании HTML Academy Разработка веб-сайтов *Учебный процесс в IT Интервью

Академия началась 10 лет назад с интерактивных тренажёров по вёрстке, которые сделал Саша Першин. Через год появились полноценные интенсивные курсы для верстальщиков, а чуть позже добавились курсы по JavaScript, React и PHP. 

Всё это добро нужно было кому-то вести — сначала всё делали Саша и Лёша Симоненко, а потом их сменили другие авторы. Некоторых вы и без меня хорошо знаете — например, Вадима Макеева, который несколько лет вёл в Академии курсы по HTML и CSS. А всего за 10 лет у курсов Академии было 14 авторов. При этом автор — не наставник и не преподаватель в привычном смысле. Он не занимается отдельно с каждым студентом и не проверяет домашние задания и итоговые проекты. 

Чтобы узнать, чем на самом деле занимаются авторы, я подловил их в тёмном коридоре и задал кучу неудобных вопросов. Поговорили о работе авторов, секретах профессии, бесящих студентах, революциях в вебе, HTML 6, замене JavaScript и ответственности за судьбы людей.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 1.7K
Комментарии 0

«А поговорить?» или делаем звонок для подтверждения заказа в интернет магазине с помощью МТТ VoiceBox

API *Интернет-маркетинг Облачные сервисы Голосовые интерфейсы Визуальное программирование *
Tutorial

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

Но не переживайте, эта статья не о том, как я спустя 12 лет снова сел ковырять сайты на PHP. Всё это банально и писать об этом на Хабр я бы не стал.

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

Вы готовы загибать пальцы?

Итак, сегодня мы с вами:

- Настроим сценарий голосового бота для подтверждения интернет заказа.

- Одним глазом взглянем на API для управления ботом и отправим пару запросов через Postman.

- Добавим пару кастомных действий в WooCommerce, чтобы робот вместо оператора разными голосами подтверждал заказ.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 843
Комментарии 11

ТОП-3 ИБ-событий недели по версии Jet CSIRT

Блог компании Инфосистемы Джет Информационная безопасность *


Сегодня в подборке новостей Jet CSIRT — устранение уязвимостей в продуктах Azure и HP, а также новый вредонос NetDooka. ТОП-3 собрала Анна Мельникова, специалист центра мониторинга и реагирования на инциденты ИБ Jet CSIRT компании «Инфосистемы Джет».

Подробнее читайте под катом.
Читать дальше →
Рейтинг 0
Просмотры 342
Комментарии 0

QA без рутины: как мы автоматизировали регрессионное тестирование

Блог компании MY.GAMES Разработка игр *Unity *Тестирование игр *

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

Но для справедливости нужно сказать, что скучный момент все же есть — это регрессия. Чтобы минимизировать ее роль в рабочем процессе и, соответственно, избавиться от рутины, мы в студии Nord решили автоматизировать регрессионное тестирование. В этом тексте я расскажу, что у нас получилось.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 2K
Комментарии 0

Правильное ISO для видео — все не так просто, как кажется. Часть 1

Работа с видео *Фототехника Видеотехника

По мере того, как народ пересаживается с зеркалок и беззеркалок на профессиональные видеокамеры, все чаще встает вопрос безграмотной экспозиции. Люди снимают в LOG и RAW, просто потому что могут, не особо понимая, как работают эти форматы и чего требуют в плане экспозиции. Многие концепции, дошедшие до нас от братьев-фотографов, теряют свою актуальность или становятся просто некорректными, когда речь идет о съемке видео. Одна из таких концепций – ISO цифровой камеры.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 1.8K
Комментарии 16

Как я ограничил свое экранное время и поборол бессонницу

Здоровье
Из песочницы

15 января 2019 года на часах 2 часа ночи — я не могу уснуть. Мне не приятно сама компания с собой, я только что ушел из стартапа, набрал вес, потерял кучу времени, еле сводил концы с концами и в этот момент совершенно не понимал, как быть дальше. У каждого ночью намного все хуже, чем днем…

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 3.2K
Комментарии 0

Интервью уральского разработчика: треш-собес в Яндекс и почему он решил остаться в России?

Карьера в IT-индустрии
Recovery mode

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

Читать сейчас
Всего голосов 65: ↑8 и ↓57 -49
Просмотры 12K
Комментарии 29

7 способов улучшить производительность Node.js в масштабе

Блог компании FirstVDS Высокая производительность *Node.JS *
Перевод

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

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

Следуя всем проверенным и протестированным советам по производительности в этой статье, вы сможете улучшить скорость и производительность вашего продукта, обеспечив ему преимущество, необходимое для успеха на рынке.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.1K
Комментарии 1

Дополнительные временные ряды в ETNA

Блог компании TINKOFF Open source *Машинное обучение *
Tutorial

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 503
Комментарии 1