Pull to refresh
-7
0.2
Send message

Как я оседлала лошадку тревожной прокрастинации, и что из этого вышло

Reading time11 min
Views26K

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

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

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

Читать далее
Total votes 27: ↑22 and ↓5+26
Comments22

Запуск Django сайта на nginx + Gunicorn + SSL

Reading time4 min
Views55K

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

Читать далее
Total votes 13: ↑7 and ↓6+7
Comments40

Джентльменский набор разработчика Access

Reading time5 min
Views136K
За время работы разработчиком Access набралась куча полезностей, которую считаю своим долгом выложить на Хабр. Многие из этих сниппетов находятся в сети, а некоторые находятся с трудом или безнадежно затеряны.


Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments28

Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы

Reading time4 min
Views11K
Существует множество сервисов и приложений для релаксации, в которых можно послушать звуки природы. Но что если вы хотите использовать такие аудиозаписи в рамках собственного проекта?

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

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments2

Спустя два года я всё ещё скучаю по разъёму для наушников

Reading time4 min
Views62K


Два года назад компания Apple убила разъём для наушников. И я её до сих пор за это не простил.

Когда Apple объявила, что у iPhone 7 не будет разъёма для наушников, я сразу же испытал раздражение по этому поводу. Я подумал, что, возможно, через несколько месяцев я к этому привыкну. Но нет. Я решил, что в самом худшем случае сменю платформу. А затем за нею последовали все остальные компании.

Это ощущение раздражения мне не в новинку. Я ненавидел адаптеры для наушников на телефонах и писал об этом на сайте TechCrunch с 2009 года. И какое-то время мне казалось, что всё налаживается.
Читать дальше →
Total votes 101: ↑88 and ↓13+75
Comments564

Обзор техник реализации игрового ИИ

Reading time55 min
Views58K
image

Введение


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

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

Что же такое «игровой ИИ»?


Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

  • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
  • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
  • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
  • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments15

Оптимизация графики для веба: самое важное

Reading time54 min
Views95K
Автор электронной книги — Эдди Османи, один из руководителей разработки Google Chrome

tl;dr


Cжатие изображений всегда должно быть автоматизировано


Оптимизацию графики обязательно надо автоматизировать. О ней легко забыть, рекомендации меняются, да и сам контент может легко проскользнуть мимо конвейера сборки. Для автоматизации при сборке используйте imagemin или libvips. Есть и много других.

Большинство CDN (например, Akamai) и сторонних решений вроде Cloudinary, imgix, Fastly Image Optimizer, Instart Logic SmartVision и ImageOptim API предлагают комплексные автоматизированные решения для оптимизации изображений.

На чтение статей и настройку конфигурации вы потратите время, которое дороже оплаты их услуг (у Cloudinary есть бесплатный тариф). Но если всё-таки не хотите отдавать работу на аутсорсинг по соображениям стоимости или из-за дополнительной latency, то выбирайте приведённые выше варианты с открытым исходным кодом. Проекты Imageflow или Thumbor предлагают альтернативу на собственном хостинге.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments31

Книга «Глубокое обучение на R»

Reading time7 min
Views5.1K
imageГлубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если о глубоком обучении рассказывает Франсуа Шолле, который создал Keras — самую мощную библиотеку для работы с нейронными сетями. Познакомьтесь с глубоким обучением на практических примерах из самых разнообразных областей. Книга делится на две части, в первой даны теоретические основы, вторая посвящена решению конкретных задач. Это позволит вам не только разобраться в основах DL, но и научиться использовать новые возможности на практике. Эта книга написана для людей с опытом программирования на R, желающих быстро познакомиться с глубоким обучением на практике, и является переложением бестселлера Франсуа Шолле «Глубокое обучение на Python», но использующим примеры на базе интерфейса R для Keras.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Сайт с картой Солнечной системы в правильном масштабе

Reading time2 min
Views40K
image

Многие понимают, насколько космические расстояния огромные, но не все представляют себе их масштабы. В частности, привычные картинки с изображением Солнечной системы не нарисованы в правильном масштабе – иначе либо они вышли бы очень большими, либо планет на них просто не было бы видно. Чтобы наглядно продемонстрировать эти понятия, дизайнер и разработчик Джон Уорс сделал сайт, посвящённый Солнечной системе. Наша система представлена на нём в таком масштабе, что Луна занимает ровно один пиксель.

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

Покрутив несколько минут колесо мыши, посетитель начинает лучше ощущать космические масштабы. Периодически в пустоте встречаются поясняющие и развлекающие надписи. Если пользователь устал мотать страницу вручную, в его распоряжении есть два варианта. Первый – кнопка в правом нижнем углу, которая запускает автоматическую прокрутку со скоростью света. То есть, например, путешествие со скоростью света от Солнца до Земли займёт 8.4 минуты. До Плутона – 328.4 минуты.
Читать дальше →
Total votes 26: ↑15 and ↓11+4
Comments2

Основы статистики: просто о сложных формулах

Reading time6 min
Views307K

Статистика вокруг нас


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

Еще будучи студентом психологического факультета СПбГУ, я заинтересовался когнитивной психологией. Кстати, Иммануил Кант не считал психологию наукой, так как не видел возможности применять в ней математические методы. Мои текущие исследования посвящены моделированию психических процессов, и я надеюсь, что такие направления в современной когнитивной психологии, как вычислительные и коннективисткие модели, смягчили бы его отношение!
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments14

Software renderer — 1: матчасть

Reading time29 min
Views84K
Программный рендеринг (software rendering) — это процесс построения изображения без помощи GPU. Этот процесс может идти в одном из двух режимов: в реальном времени (вычисление большого числа кадров в секунду — необходимо для интерактивных приложений, например, игр) и в «оффлайн» режиме (при котором время, которое может быть потрачено на вычисление одного кадра, не ограничено настолько строго — вычисления могут длиться часы или даже дни). Я буду рассматривать только режим рендеринга в реальном времени.

У этого подхода существуют как недостатки так и достоинства. Очевидным недостатком является производительность — CPU не в состоянии конкурировать с современными видеокартами в этой области. К достоинствам стоит причислить независимость от видеокарты — именно поэтому он используется как замена аппаратного рендеринга в случаях, когда видеокарта не поддерживает ту или иную возможность (так называемый software fallback). Существуют и проекты, цель которых — полностью заменить аппаратный рендеринг программным, например, WARP, входящий в состав Direct3D 11.

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

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

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

В конце статьи будет ссылка на гитхаб проекта, который можно рассматривать как пример реализации.
Читать дальше →
Total votes 95: ↑90 and ↓5+85
Comments51

MindStream. Как мы пишем ПО под FireMonkey. Часть 2

Reading time12 min
Views7.1K
Часть 1.

Здравствуйте.

В этой статье я продолжу рассказ о том, как мы пишем под FireMonkey. Будет добавлено 2 интересных объекта. Оба напомнят нам о векторной алгебре и тригонометрии. Также в посте будут показаны приемы из ООП, которыми мы пользуемся.

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments0

Механика потока эндорфинов на примере трёх космических игр

Reading time7 min
Views75K


Игрок больше любит получать, чем терять.

При GameDev надо учитывать эту прекрасную особенность психики. Проиллюстрирую тремя играми: замечательным Faster than Light (родившемся ещё на ПК), популярном изначально планшетном Out There и пришедшем из настольного мира Galaxy Trucker.

Ни в одной из этих игр нет возможности сохраниться.
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments62

Изменение часовых поясов и перевод стрелок 2014

Reading time32 min
Views152K
Несколько лет назад я у себя в блоге публиковал статью об отмене перехода на зимнее время, которая в это время года пользуется популярностью. В статье шла речь о том, каким образом можно вручную изменить свой часовой пояс для компьютера, находящегося в рабочей группе или в домене Active Directory. Иначе говоря, там я описывал параметры системного реестра, позволяющие вносить изменения в эту функциональную возможность операционных систем Windows.

В этом году, согласно федеральному закону Российской Федерации от 21 июля 2014 г. N 248-ФЗ, в закон об истечении времени под номером N 107-ФЗ от 3-го июня 2011 года, были внесены некоторые изменения (о самих изменениях немного ниже), в связи с которыми 26 октября 2014 года осуществляется перевод часов и устанавливаются соответствующие часовые зоны и значения времени.

Следовательно, корпорация Microsoft не заставила себя ждать и 23-го сентября этого года выпустила очередной патч, предназначенный для учета текущих изменений в порядке исчисления времени, благодаря которому в операционные системы Windows будут внесены соответствующие правки. Этот патч (под номером KB2998527) можно проинсталлировать практически на все актуальные операционные системы Windows.

Однако, как мы все прекрасно знаем, несмотря на то, что операционная система Windows XP уже давно как официально похоронена и для этой системы такое обновление не выпускалось, ею все еще продолжают пользоваться не только домашние, но и многие корпоративные пользователи. Собственно, данная статья предназначена для того, чтобы у обладателей это операционной системы (как и у тех, кто у себя специально отключает возможность установки обновлений) были внесены в систему все требуемые изменения.

Начнем мы с
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments33

Перевод времени 26 октября 2014 года или ударим трудом по разгильдяйству

Reading time12 min
Views235K
Госдума России приняла в июле законопроект о возврате к зимнему времени, а также об установлении новой системы часовых зон. В результате 26 октября 2014 года в большинстве регионов России время будет снова переведено на час назад, и в стране появятся 11 часовых зон вместо 9 существующих сейчас, причем их границы изменятся.

Если для обычных граждан это лишь лишний час поспать, то для системного администратора этот момент есть жуть жуткая. В данной статье я рассмотрю проблему обновления часовых поясов для Windows XP, Windows Server 2003 и системы электронной почты на базе MS Exchange 2003 с нативным клиентом Outlook. Не секрет, что эти системы никуда не делись и хотя и ХР и Exchange 2003 сняты со всех видов поддержки, включая даже премьер поддержку, они успешно используются как в малых так и больших организациях и событие, связанное с переводом стрелок на час назад актуально для них как никогда. Актуально еще и по той причине, что официальных обновлений для снятых с поддержки систем от компании Microsoft нет и не будет. Т.к. по роду деятельности мне пришлось готовить решение для этих систем, проводить некоторые тесты и т.п., то я решил поделиться с коллегами результатами своих трудов. Итак, кому актуально, добро пожаловать под кат. Будет интересно.
Читать дальше →
Total votes 95: ↑93 and ↓2+91
Comments57

Делаем HTML5-квест: создаём персонажа и базовую анимацию

Reading time6 min
Views23K


Мы продолжаем рассказывать о разработке первой игры для нашей образовательной платформы Learzing — это будет квест, помогающий в изучении английских идиом. Сегодня расскажем о создании персонажа и его анимации в форме пошагового руководства.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments5

Quad-engine. Свой 2D-движок. Когда приперло со всех сторон

Reading time5 min
Views31K

Предисловие.


Было начало 2010 года, когда я расстроился при просмотре очередного фреймворка с поддержкой Delphi. В тот момент я искал замену уже сильно устаревшему и заброшенному PowerDraw. Как говорится, тоже самое, только с перламутровыми пуговицами. Пересмотрев всё, что было из 2Д, я так и не нашел искомого. То не было шейдеров, то черезчур нагроможденный с точки зрения кода, то вообще какой-то убогий. А душа просила простоты использования и шейдеров.

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



Под катом прилично картинок.
Читать дальше →
Total votes 63: ↑53 and ↓10+43
Comments27

Биохакинг сна: подтверждённые наукой советы

Reading time11 min
Views289K


Сон до сих пор является одной из величайших загадок для науки, как гравитация и квантовое поле. Мы до сих пор не понимаем, для чего именно мы спим, хотя всё больше узнаём об этом. Ниже собраны советы для тех, кто долго не может уснуть, часто просыпается, не чувствует себя отдохнувшими наутро, или просто хочет улучшить качество своего сна.
Читать дальше →
Total votes 227: ↑173 and ↓54+119
Comments207

Практика программирования игр на python: жизнь

Reading time4 min
Views68K


Недавно стало известно, что python признан самым популярным языком для обучения студентов в США. Я, будучи студентом Технопарка, решил не отставать от тренда, поподробнее изучить этот модный язык и заодно написать несколько постов. Для разминки я решил реализовать Conway's Game of Life. Это довольно-таки забавная «игра», в которой мы можем в некотором смысле моделировать развитие группы организмов в окружающей среде. Правила такие: делим пространство на клетки, которые могут быть либо живыми, либо пустыми. А затем на каждом шаге состояние клетки обновляем в зависимости от числа живых соседей. Например, слишком много — клетка умирает, а если нет — рождается. Можно от души экспериментировать с конфигурациями, получаются разные странные вещи, иногда корабли. Корабли (gliders) — отдельная тема, это такие группы клеток, которые изменяются и вместе с тем путешествуют в пространстве. Кроме кораблей могут образовываться и другие группы клеток с хитрыми свойствами, но о них — в Википедии.
Читать дальше →
Total votes 71: ↑44 and ↓27+17
Comments11

Теория относительности в реальном мире: GPS

Reading time4 min
Views135K


Люди часто спрашивают меня: «Чем же так хороша теория относительности?». Обычно о ней думают как о некой абстрактной, мистической математической теории, никак не связанной с повседневной жизнью. На самом деле, это совсем не так.
Читать дальше →
Total votes 168: ↑155 and ↓13+142
Comments162
1

Information

Rating
2,515-th
Registered
Activity