Pull to refresh
-14
0
dimkss @dimkss

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

Send message

«Резни не будет» — рассказ о переводе «Червя»

Reading time11 min
Views19K
image

В конце прошлого года случилось давно ожидаемое литературное событие — группа переводчиков, которая в течении пяти лет переводила роман «Червь» известного канадского писателя Джона МакКрэя, пишущего под псевдонимом «Wildbow», наконец-то завершила работу.

Если вы не слышали об этом романе, или не брались за него по причине незавершенности перевода, то я вам даже немного завидую — вас ожидает пара месяцев (а то и полгода — роман чудовищно, невообразимо огромен) отличного чтения. «Червь» сложный, многоплановый НФ триллер со сложным рациональным сюжетом. (Немного больше здесь:)
Внимание: Опасайтесь спойлеров — роман к ним чувствителен. Поэтому, если вы не прочли роман — лучше всего отложить чтение статьи и скачать книгу. Помните: несмотря на то, что текст распространяется свободно, автору очень нужны ваши пожертвования — это основной источник его доходов.
Ну, а тех из читателей, что уже прочли роман, я приглашаю познакомиться с «Клубом любителей попереводить Червя» — с командой, подарившей нам русский перевод. Уверен, что даже далеким от литературы читателям Хабра будет интересно ознакомиться с опытом организации успешного проекта, связавшего воедино множество творческих личностей.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments152

TDD в геймдеве или «кроличий ад»

Reading time7 min
Views14K
TDD в геймдеве применяют довольно редко. Обычно проще нанять тестировщика, чем выделить разработчика для написания тестов — так экономятся и ресурсы, и время. Поэтому каждый успешный пример использования TDD становится интереснее. Под катом перевод материала, где эту технику разработки применили при создании передвижения персонажей в игре ElemenTerra.


Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments6

Bitmap-индексы в Go: поиск на дикой скорости

Reading time15 min
Views30K


Вступительное слово


Я выступил с этим докладом на английском языке на конференции GopherCon Russia 2019 в Москве и на русском — на митапе в Нижнем Новгороде. Речь в нём идёт о bitmap-индексе — менее распространённом, чем B-tree, но не менее интересном. Делюсь записью выступления на конференции на английском и текстовой расшифровкой на русском.

Мы рассмотрим, как устроен bitmap-индекс, когда он лучше, когда — хуже других индексов и в каких случаях он значительно быстрее них; увидим, в каких популярных СУБД уже есть bitmap-индексы; попробуем написать свой на Go. А «на десерт» мы воспользуемся готовыми библиотеками, чтобы создать свою супербыструю специализированную базу данных.

Очень надеюсь, что мои труды окажутся для вас полезными и интересными. Поехали!
Total votes 93: ↑91 and ↓2+89
Comments40

Искусство парсинга 2 или транслитерация собственной разметки

Reading time39 min
Views6.5K

+БОНУС: взаимное включение классов друг в друга в C++


Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу через индексацию при помощи лишь стандартной библиотеки C++, проще говоря, научились самостоятельно парсить XML-подобные штуки. Напомню, что процесс парсинга, или синтаксического анализа/разбора состоит из двух этапов: лексического разбора (разбора текста на токены) и построения AST. Если первый мы рассмотрели очень подробно, с примерами и исходниками, то описание второго похоже на пустую куколку бабочки, у которой есть только оболочка, а прекрасное содержимое автор извлёк перед публикацией. На то была причина, для HTML построить дерево действительно просто, нужно всего 4 класса: пустой тег, блок, текстовый узел и корень документа, наследуемый от блока. Сегодня мы оставим такую простоту позади и построим дерево, где свойства элементов, и пустых, и блочных, будут содержаться не в атрибутах тегов, а непосредственно в классах, а для этого классов придётся создать много. Действительно много. Строить будем не из простых известных языков разметки, а создадим свой, с правилами, показанными на изображении под катом. Плюс в конце ещё переведём, или, говоря правильнее, транслитируем документ с предыдущей статьёй, размеченной нашим языком, в HTML, а в качестве бонуса я отвечу начинающим программистам C++ на тривиальный, но труднонаходимый вопрос: как включать классы «друг в друга»?
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments16

Искусство парсинга или DOM своими руками

Reading time14 min
Views15K
Привет, Хабр! Недавно я задался идеей создать простой язык разметки наподобие markdown, который отлично подходил бы для моих задач, а именно — быстрого написания лекций с форматированием и возможностью вставки математических формул «на лету», с применением одной лишь клавиатуры. Чтобы перевести текст, написанный в таком формате, в более понятную форму, например, документ LibreOffice Writer, нужен синтаксический анализатор, проще говоря — парсер. Поскольку я привык делать велосипеды, то направился в поисковые системы с запросами «parser example», «html to DOM», «how to parse html» и др. К моему разочарованию, на всех найденных ресурсах либо приводились элементарные примеры типа калькулятора Страуструпа с рекурсивным спуском, либо использовались готовые решения, такие как flex, bison, llvm и yacc. Библиотек, предназначенных для парсинга строго определённых языков, нашлось ещё больше (gumbo, jsoup, rapidjson, инструменты Qt и др.) Ни то, ни другое не входило в мои планы по написанию парсера своей разметки на C++ с использованием лишь стандартной библиотеки, поэтому моим источником знаний об искусстве парсинга вместо электронных ресурсов стали методички технических институтов. О том, как взять текст и построить из него AST (абстрактное синтаксическое дерево), о некоторых подводных камнях, на которые я натыкался в процессе, о возможных ошибках я сегодня и расскажу.

Сразу оговорюсь, — если ваша цель — свой скриптовый язык или что ещё сложнее, этой статьи будет недостаточно для его реализации. В идеале нужно на отлично знать теорию автоматов и дискретные структуры. Но в качестве отправной точки можно пока ограничиться и моим опытом, которым я щедро поделюсь под катом. Это не совсем то, что я задумывал изначально, зато идеально подходит для примера. Парсить мы будем HTML, как простой и всем знакомый язык.
Читать дальше →
Total votes 22: ↑15 and ↓7+8
Comments17

Тридцать шесть градусов красоты

Reading time11 min
Views16K
Сеточные системы координат, в которых плоскость делится на одинаковые симметричные элементы — на квадраты, треугольники, шестиугольники, достаточно известны. Им соответствуют квадратная, треугольная, шестиугольная симметрия. Но еще существует симметрия десятиугольная.

В ней плоскость не делится на десятиугольники, вместо этого все линии расположены под углами кратными 36°. Координаты в этой системе можно записывать целыми числами, по два целых числа на горизонтальное и вертикальное направление.



Расскажу как это нарисовать.
Читать дальше →
Total votes 84: ↑84 and ↓0+84
Comments22

Загоризонтный Дятел: недолгая история объекта «Чернобыль-2»

Reading time9 min
Views98K

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

https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Woodpecker.ogg

Причём сигнал был «плавающий» — поработав несколько минут на одной частоте, он переходил на другую. Загадочность и создаваемые неудобства привели к тому, что военные ряда стран попытались запеленговать источник. Оказалось, что он расположен в глубине Советского Союза. А поскольку сигнал — к тому времени получивший прозвище «Русский Дятел», — периодически вторгался на частоты, зарезервированные для авиации, этим не замедлили воспользоваться США, Великобритания и Канада, заявившие СССР протест. СССР сделал удивлённое лицо и ответил, что ничего не знает ни о каком сигнале.
Читать дальше →
Total votes 185: ↑155 and ↓30+125
Comments428

Визуализация дерева приматов

Reading time4 min
Views9.4K

Визуализация дерева приматов


Станислав Дробышевский в начале года опубликовал подробное дерево происхождения приматов. Версия в ПДФ


Комментаторы во «Вконтакте» просили интерактивную версию (1, 2, 3, 4), потому что её удобнее изучать и проще обновлять при появлении новых данных.


Мы с Олей Моховой решили помочь палеоприматологии и сделали прототип на d3js.

Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments18

Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta)

Reading time15 min
Views102K


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

В результате, мы получаем целенаправленное обучение, но БЕЗ ступоров, проблем непонимания вида «а где это использовать», а также без скучного и пассивного чтения теории. Совсем.

В рамках статьи представлено 5 учебных задачек, которые покрывают Spring Jdbc/Transactions на 50% от необходимых для сертификации знаний. Главная задача статьи — массово протестировать саму идею, а также вместе с вами разработать большое количество уникальных задачек по всем темам.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments12

Интервью с Робертом Сапольски

Reading time7 min
Views21K


Роберт Сапольски — американский нейробиолог. Более 25 лет он был «своим» как в академической среде, так и в стае диких африканских бабуинов. С последними профессор ежегодно проводил месяцы, изучая связь между социальным поведением и нейробиологией стресса.

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

Русскоязычной аудитории Роберт Сапольски знаком как автор курса «Биология поведения человека».

Warning!
Биология в подаче Сапольски вызывает привыкание. Возможна смена ролевой модели или смысла жизни.

Этот курс охватывает широкий круг дисциплин-платформ для изучения человеческого поведения: что общего у архитектуры Возрождения и мужских сосков? Какие животные применяют теорию игр? Почему учёные жалеют о своих тату с центральной догмой молекулярной биологии? Как с помощью грамотного эксперимента испортить репутацию пчеле или бихевиористу? — лекции изобилуют аналогиями из животного мира и историями из исследовательского опыта профессора.

Осенью 2016 года, после выхода переводов первых лекций курса, у команды Vert Dider появилась идея взять интервью у профессора Сапольски. Мы написали ему письмо с предложением и, к нашему огромному удивлению, профессор согласился! Сегодня мы с радостью представляем вам это интервью:
Total votes 30: ↑30 and ↓0+30
Comments8

Лучшие головоломки, про которые не знает никто*

Reading time5 min
Views94K
*почти

Бодрый день, дамы и господа. Я наконец решил, что негоже мне сидеть в рид-онли, когда у меня в голове зреет столько полезных и нужных комментариев, и пора получить инвайт. А значит, надо писать пост. О чём? Конечно же, о том, что я люблю и знаю — об играх. Конкретно — о головоломках.

Огромный недостаток головоломки по сравнения с какими-нибудь ММОРПГ — очень малая реиграбельность. Я всегда думал, что технология стирания памяти в «Вечном сиянии чистого разума» использовалась не по назначению. Вместо того, чтобы изжить из воспоминаний какую-то женщину, не лучше ли забыть своё прохождение любимой игры, а потом пройти её заново? К сожалению, пока что это фантастика. Поэтому всё, что я могу — изнывая от ностальгии, в письменной форме вспоминать все эти прекрасные вещи, вернуться к которым мне, увы, не суждено.

Учитывая «одноразовость» головоломок, тем более странно и в чём-то даже преступно, что о замечательнейших представителях этого жанра узнаёшь практически случайно. Мой пост имеет целью исправление этой несправедливости, и я как раз заканчиваю затянувшееся предисловие и перехожу к сути.
Total votes 78: ↑74 and ↓4+70
Comments117

Начнём год с позитива: как садятся админы и CIO

Reading time7 min
Views43K


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

Я расскажу несколько баек. В некоторых из них изменены детали, чтобы нельзя было узнать компанию. Если вы узнаете свою — не беспокойтесь, наверняка эти случаи почти типичные для всей страны. Вы же знаете анекдот про первого залетевшего дятла.
Читать дальше →
Total votes 74: ↑68 and ↓6+62
Comments108

Android Tips and Tricks

Reading time13 min
Views47K
В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments18

Спектроскоп Салтана: лапласианы для фана

Reading time7 min
Views15K
Рождественские дни — время отложить привычные дела и вспомнить забавы — калейдоскопы, мозаики, снежинки… Кто нарисует самую красивую звезду?

Симметрия радует глаз. Создать красоту помогает математика, язык Питон и его библиотеки — математический numpy и графический matplotlib.

Спектры невозможных решеток


КДПВ получена визуализацией значений собственных векторов некой симметричной матрицы.
В основе — спектры регулярных решеток. Некоторые их свойства уже рассматривались ранее. Здесь формулы поработают на эстетику.
Далее еще будут картинки...
Total votes 66: ↑66 and ↓0+66
Comments21

Как узнать какие цветы дарить девушке, если у нее двигается только голова и она не может говорить?

Reading time3 min
Views73K
Всем привет! Я Иван Бакаидов. И сейчас я расскажу как я помогаю людям с двигательными нарушениями и нарушениями речи. Но сначала немного обо мне:

  • Мне 17 лет
  • ДЦП — у меня самопроизвольно сокращаются мышцы тела… Все
  • Неразборчивая речь. Понимают только мама, брат и одноклассница
  • Node.js, Java, Android dev, Unity3d
  • Выступал на гуманитарном саммите ООН с посланием о правах человека с нарушениями речи и важности AAC

image

Читать дальше →
Total votes 314: ↑310 and ↓4+306
Comments84

DisQwerty: чтобы печатать не нужно больше одной кнопки

Reading time3 min
Views22K
Всем привет! Как я писал тут, я разработал клавиатуру для людей с очень тяжёлыми двигательными нарушениями, которые могут нажимать только одну кнопку. Наверное нужно сразу оговориться, что это не уникальная разработка и такие клавиатуры есть во многих операционных системах в стандартных программах экранных клавиатур. Однако моя разработка включает уникальные функции. О них и как они появились я сейчас расскажу. Ссылки на GitHub будут в конце поста.


Лина пишет письмо отцу
Читать дальше →
Total votes 131: ↑129 and ↓2+127
Comments30

DisTalk. Если ты не умеешь читать, это не значит то, что ты не можешь общаться

Reading time3 min
Views9.7K
Всем привет! Сегодня я расскажу о приложении DisTalk Pro. Я должен извиниться за паузу в моих постах, опять спасал мир подбивал итоги четверти, выиграл серебряную медаль кубка России по бочча в тройках, выступил на форуме Обнаженные сердца. Но обещание есть обещание, и на этой неделе я выложил новую версию программы DisTalk в Google Play и на GitHub.

Для тех кто не понимает, о чем я говорю, советую почитать эту статью.


DisTalk Pro
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments12

Google исправила уязвимости в Android

Reading time2 min
Views5.9K
Google выпустила ежемесячное обновление для Android Android Security Bulletin—October 2016. Как и в прошлый раз, обновление Android было двухэтапным, первый 2016-10-01 содержит исправления для уязвимостей самого Android, а второй 2016-10-05 относится только к устройствам Nexus. В рамках второго этапа было закрыто целых семь критических уязвимостей, причем две из них с идентификаторами CVE-2016-0758 и CVE-2016-7117 позволяют выполнять удаленный рутинг устройства, что может повлечь за собой перепрошивку устройства для возвращения его в исходное состояние. Фирма Zerodium оценивает стоимость эксплойтов для таких уязвимостей в $200k.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments5

MMO в реальном мире, или Инструкция по созданию живых игр, или Как сделать так, чтобы детям в лагере было интересно

Reading time9 min
Views14K

Никогда мне не быть Milfgard'ом
Мои строки не так понятны
Но я тоже делаю игры
И это довольно приятно

К.В.Давыденко 2016 г.


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



Как некоторые из хаброжителей знают, по предыдущей статье я в свободное время работаю в детских лагерях. Я занимаюсь в них много чем, но специализируюсь я (если это можно так сказать) на создании игр в реальном мире. Это не такая уж и простая задача. Перед создателем игры встаёт много трудностей. В этой статье я хочу рассказать о них на примере большой игры-симуляторе города, под названием Big City Jail Detective RPGame. Но прежде чем переходить к чему-то настолько глобальному, рассмотрим ситуацию выше.


Что же делать, если вы человек-леденец запертый с детьми?


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

Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments91

Модель взаимодействия судов с водой в видеоиграх

Reading time16 min
Views36K


Давайте поговорим о физике транспортных средств


Физика транспортных средств в видеоиграх не очень сильно обсуждается. Статьи в Интернете о физике транспорта в видеоиграх немногочисленны и поверхностны; обычно они посвящены самым основам. Программист транспорта для видеоигр ощущает себя сегодня в относительном вакууме. Возможно, такая ситуация возникла, потому что эту тему довольно сложно объяснить, а может быть, мы просто стыдимся признаваться в использовании хаков, упрощений и хитростей, которые мы вносим по сравнению с «правильной», реалистичной симуляцией физики. Как бы ни обстояло дело, видеоигры имеют уникальные проблемы в симуляции транспорта, а значит, об этом стоит писать. Это захватывающая тема, относящаяся к физике, работе с камерой, звуку, спецэффектам, а также к восприятию и психологии человека.

Я решил сначала поговорить о судах, потому что недавно работал с ними; ещё я обнаружил, что их динамика не совсем понимается даже на уровне исследований (хотя многое и понятно). Модели и теории формулируются таким образом, что их становится сложно применить непосредственно в видеоиграх. Или же они требуют очень ресурсоёмких методов симуляции, которые практически невозможно контролировать и адаптировать под причудливые потребности разработчиков и игроков. Но можно написать упрощённую модель, которая учитывает важные параметры судна. В этом определённо есть доля искусства, «прыжка веры» и небольшая доля «творческой» физики, которая заставит Кельвина и Стокса перевернуться в могилах.
Читать дальше →
Total votes 97: ↑97 and ↓0+97
Comments30
1

Information

Rating
Does not participate
Location
Украина
Registered
Activity