Pull to refresh
1
0
Exabiche @Exabiche

User

Send message

Создание искусственного интеллекта для игр — от проектирования до оптимизации

Reading time32 min
Views139K

Сегодня – первое сентября. А значит, многие читатели хабры начинают прохождение нового уровня одной древней известной игры – той самой, в которой требуется прокачать интеллект, и, в итоге, получить магический артефакт – аттестат или диплом, подтверждающий ваше образование. К этому дню мы сделали реферативный перевод статьи про реализацию искусственного интеллекта (ИИ) для игр – от его проектирования до оптимизации производительности. Надеемся, что она будет полезна как начинающим, так и продвинутым разработчикам игр.
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments3

URI — сложно о простом (Часть 1)

Reading time12 min
Views292K
image

Привет хабр!

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

"Пфф, ссылки они и в Африке ссылки, чего тут разбираться?" — скажете вы, тогда я задам вопрос:

Что есть что и куда нас приведет?
  • http://example.com
  • www.example.com
  • //www.example.com
  • mailto:user@example.com

Если вы не знаете однозначного ответа или вам просто интересно и если вы не боитесь огромного количества трехбуквенных аббревиатур — милости прошу под кат.
Читать дальше →
Total votes 80: ↑77 and ↓3+74
Comments47

В игре Го можно увидеть больше оттенков серого (продолжение №1 — Влияние)

Reading time4 min
Views20K
В первом продолжении я постараюсь раскрыть понятие влияния. Необходимо для понимания знать правила игры и примеры их применения.

Все начинается с исследования свойств поставленного на доску камня.

Свойство 1 — камень может спасти ситё своего цвета в определенной зоне

Исследование процесса: (под катом много картинок)
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments8

Многопоточность в Rust

Reading time14 min
Views37K
Rust начинался как проект, решающий две трудные проблемы:

  • Как обеспечить безопасность (работы с памятью) в системном программировании?
  • Как сделать многопоточное программирование безболезненным?

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

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

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

С точки зрения многопоточности это означает, что вы можете пользоваться различными парадигмами (передача сообщений, разделяемое состояние, lock-free-структуры данных, чистое функциональное программирование), и Rust позволит избежать наиболее распространённых подводных камней.

Вот какие особенности у многопоточного программирования в Rust:
Читать дальше →
Total votes 65: ↑63 and ↓2+61
Comments55

Погружаемся в Docker: Dockerfile и коммуникация между контейнерами

Reading time8 min
Views375K
В прошлой статье мы рассказали, что такое Docker и как с его помощью можно обойти Vendor–lock. В этой статье мы поговорим о Dockerfile как о правильном способе подготовки образов для Docker. Также мы рассмотрим ситуацию, когда контейнерам нужно взаимодействовать друг с другом.


В InfoboxCloud мы сделали готовый образ Ubuntu 14.04 с Docker. Не забудьте поставить галочку «Разрешить управление ядром ОС» при создании сервера, это требуется для работы Docker.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments23

Экспорт Избранного на Хабре в PDF. Версия 2.0

Reading time3 min
Views27K
Доброго времени суток, хабражители!



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

Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозг в формате PDF.

Новый проект называется HabraParse.

Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули docopt, requests и weasyprint (все их легко можно установить командой pip install name).

На текущий момент в скрипте имеются следующие возможности:
  • скачать статью по её ID;
  • скачать список URL избранного для заданного пользователя;
  • скачать статьи из избранного в папку в формате PDF или HTML (пока реализация HTML не на высоте, поэтому по умолчанию используется формат PDF, но он работает значительно дольше).


Использование опций --gt/--mm позволяет сохранять статьи с GeekTimes.ru и Megamozg.ru.

Краткое описание параметров скрипта
Usage:
  ./habraparse.py save_favs_list [--gt|--mm] <username> <out_file>
  ./habraparse.py save_favs [--gt|--mm] [-cn --save-html --limit=N] <username> <out_dir>
  ./habraparse.py save_post [--gt|--mm] [-c --save-html] <topic_id> <out_file>

По умолчанию все команды работают с проектом HabraHabr.ru.
При задании опций --gt/--mm скрипт будет работать с GeekTimes.ru/Megamozg.ru.

Команды:
  save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
  save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
  save_post - сохранение в файл <out_file> статьи с заданным ID



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

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments53

Оценка трудозатрат на проект и подготовка коммерческих предложений

Reading time4 min
Views26K
Ни для кого не секрет, что большинство команд разработчиков регулярно или периодически встречаются с ситуациями проваленных сроков выполнения и превышения планируемого бюджета проектов. В англоязычном интернете можно найти очень много информации по этому поводу. Более того, каждый более или менее опытный разработчик, как правило, имеет собственное мнение на этот счет.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments20

Регистрация оффшорной компании в Белизе

Reading time5 min
Views83K
Я горжусь тем, что плачу налоги в Соединенных Штатах. Правда, я бы гордился не меньше за половину суммы. (с) Артур Годфри

Пару месяцев назад я писал на Хабре о регистрации компании в Эстонии.

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

Краткая характеристика


Белиз является оффшорной юрисдикцией и находится в списке оффшорных зон Украины, России, Белоруссии и Казахстана.

Налогообложение оффшорных компаний в Белизе нулевое.

АПДЕЙТ:

Отсутствует требования по подаче финансовой отчетности и проведению аудита компании.

Формально, требование по ведению финансовой документации имеет место быть в Белизе. Это требование навязанное OECD.
Как и в большинстве других оффшоров.
При регистрации агент попросит Вас заполнить вот такой документ, где Вы сможете указать адрес, по которому храните документы:

Resolution of Directors/ Beneficial Owner/ Members in writing

The undersigned being all the directors of the abovenamed company declare as
follows:

REQUIREMENT TO KEEP ACCOUNTING RECORDS

1. It was hereby RESOLVED that the Company shall keep or cause to be kept proper accounting records (as prescribed under Section 3 (1) and (2) of the Accounting Records (Maintenance) Act, No. 18 of 2013 of the Laws of Belize:

(a) That are sufficient to show and correctly explain the Company’s transactions;

(b) To enable the financial position of the Company to be determined with reasonable accuracy at any time; and

© To enable for accounts of the Company to be prepared.

2. It was hereby resolved that the accounting records of the company shall be
kept at the following address:

………………………………………..……………………………
………………………………………………………………………

Dated this day of 2014.

………………………………………
DIRECTOR
COMPANY

Что делают предприниматели, чтоб не хранить документацию:
1) не открывают банковский счет в Белизе (чтоб уменьшить влияние на деятельность компании «местных»)
2) готовы вывести деньги со счета при первой просьбе предоставить документацию (чтоб избежать штрафа за несоблюдение требований)
3) указывают адрес хранения не в Белизе (чтоб не могли проверить)

В целом, прецедентов не было касательно штраф, и требование остается лишь формальным, так как процедура «деоффшоризации», которую проводит OECD, по моему скромному мнению является «еще большей формальностью».

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

Акционером или директором компании может быть как юридическое, так и физическое лицо, независимо от места регистрации или гражданства.
Требований к количеству акционеров или директоров в Белизском законодательстве нет.

В Белизе закрытый (не публичный) регистр акционеров компании.

Ежегодные пошлины


$100 — если уставной капитал не превышает $50,000 и все акции компании имеют номинальную стоимость. (т.е. если капитал заявлен и не внесен);
$1,000 — если уставной капитал превышает $50,000;
$350 — если уставной капитал не превышает $50,000 и некоторые или все акции компании не имеют номинальной стоимости; и если уставного капитал нет и все акции не имеют номинальной стоимости;
$4,000 — если компания имеет статус «public investment company».

Пошлины платятся в следующем году, после года в котором была зарегистрирована компания, до 31 Июля.
Если вы просрочили оплату ежегодной пошлины, ее размер увеличивается на 10% и дается новый срок — до 31 Октября.
Если же вы не оплатили пошлину до 31 октября, ее размер увеличивается на 50%.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments46

Электромагнитные поля на рабочем месте

Reading time5 min
Views127K
Думаю найдутся единицы пользователей разной бытовой техники не знающие, что любая техника, подключённая к обычной бытовой электросети ~220В 50Гц, является источником электромагнитного поля(ЭМП). Да, ЭМП есть, но немногие знают, превышает оно предельно-допустимые нормы(ПДН) или нет. Я являюсь работником одной лаборатории в составе организации, занимающийся Аттестацией рабочих место по условиям труда, возможно, многие слышали, у кого-то она проводилась. В последние пару лет, когда меня допустили до проведения измерений повидал многие рабочие места. Где-то отлично, где-то ужасно. По просьбам трудящихся, расскажу о некоторых результатах измерения ЭМП.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments103

Airrouter — новое умное сетевое железо

Reading time4 min
Views28K
Знаете, я никогда раньше не писал обзоров нового железа — просто потому, что когда какие-то устройства попадали в мои руки, все они давным-давно продавалось в магазинах, и присутствовали в обзорах на многочисленных IT-ресурсах.

Однако сегодня у меня в руках появилась железка, обзоров которой я ещё в Рунете не встречал, и краткое описание которой мне хочется написать на Хабре (благо железка действительно неординарная). Речь идёт о WiFi-маршрутизаторе AirRouter.

Под катом — краткая история появления у меня этого устройства, техническая спецификация, и некоторые интересные штуки, которые умеет это устройство. Да, и ещё скажу сразу цену (сам я тоже не люблю проматывать обзоры донизу) — стоит устройство в диапазоне 80-90 долларов, хотя полагаю, что вскоре цена значительно снизится.
Читать дальше →
Total votes 80: ↑65 and ↓15+50
Comments115

Сборка компьютера с водяным охлаждением

Reading time17 min
Views333K
   В прошлом году я писал «фундаментальную» статью про системы охлаждения – труд вышел в двух больших частях (1, 2), зато я постарался рассказать про все, от радиаторов до жидкого азота. Совсем недавно я созрел на очередной «подвиг», а именно – на установку системы водяного охлаждения.

image

Если вам интересно подробное иллюстрированное руководство по сборке/установке такой системы (на примере производительного конфига), то добро пожаловать под кат. Трафик!
Читать дальше →
Total votes 328: ↑251 and ↓77+174
Comments99

Система отзывов и рейтингов для товара в интернет-магазинах

Reading time2 min
Views6.3K
Для покупателя в интернет-магазине (ИМ) очень важны рекомендации уже купивших, рейтинг товара, отзывы о нем. Наверняка, каждый пользовался Яндекс.Маркетом и представляет, что это такое.

Небольшой скриншотик для понимания
image

Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments14

Распределённое серверное решение для ММО проектов (результаты тестирования транспортной части)

Reading time4 min
Views1.2K
По просьбам читателей привожу описание тестирования транспортной части серверного решения на облачной технологии, которое я описывал в прошлой статье. Вначале хочу немного описать, что это такое и для чего его тестировать. Начав свои разработки с построения серверных решений для высоконагруженных ММО проектов в реальном времени, постепенно пришёл к выводу, что для поддержания максимально большого количества клиентов необходимо использовать полностью распределённую систему. Ниже приведу тезисы, на основании которых, разрабатываем сейчас серверные решения.
 
  1. Полное разделение транспортной части проекта от логической части и данных
  2. Максимальная модульность для создания оптимального решения под конкретный проект
  3. Унификация сервисов решения (любую команду может выполнить любой из предназначенных для этого сервисов)
  4. Асинхронное выполнение задач
  5. SQL предназначена только для постоянного хранилища
  6. Использование NoSQL для хранения оперативных данных
  7. Использование системы пулов (многократно используемых групп объектов)
  8. Нет привязки данных к сервисам обработки

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments5

Обзор теорий сознания: теория функциональных систем П.К. Анохина

Reading time7 min
Views62K
Множество исследований в области искусственного интеллекта сталкиваются с проблемой отсутствия на сегодняшний момент какой-либо мощной теории сознания и мозговой активности. Фактически мы обладаем достаточно скудными знаниями о том каким образом мозг обучается и достигает адаптивного результата. Однако, на данный момент происходит заметное увеличение взаимовлияния области искусственного интеллекта и нейробиологии. По результатам математического моделирования мозговой активности ставятся новые цели для экспериментов в области нейробиологии и психофизиологии, а экспериментальные данные биологов в свою очередь во многом влияют на вектор развития ИИ.

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

На данный момент существуют три наиболее проработанных и отчасти экспериментально проверенных теории строения сознания в области теоретической нейробиологии: теория функциональных систем П.К. Анохина, теория селекции нейрональных групп (нейродарвинизм) Джеральда Эдельмана и теория глобальных информационных пространств Жана-Пьера Шанже (изначально сформулирована Бернардом Баарсом). Остальные теории либо являются модификациями названных, либо не подтверждены никакими экспериментальными данными. В данной статье речь пойдет о первой из этих теорий — Теории функциональных систем П.К. Анохина.
Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments63

Как не стать спамером со своей уютной рассылочкой

Reading time1 min
Views67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →
Total votes 238: ↑230 and ↓8+222
Comments60

HTC Desire — переход с WM на Android

Reading time4 min
Views1.9K
Как-то неожиданно обзавелся HTC Desire, теперь пытаюсь переехать на него с HTC Max 4G. Если кому лень читать, то сразу напишу вывод: сам девайс очень приятный, ОС достойная и перспективная, правда без нормального стилуса (лично мне) плохо. Но вот с прикладным софтом все еще проблемы, местами приходится шаманить. Хотя в итоге более-менее терпимые замены используемому софту подобрать удалось.

image

Читать дальше →
Total votes 39: ↑25 and ↓14+11
Comments40

Обзор методов эволюции нейронных сетей

Reading time15 min
Views51K


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

Построение искусственной нейронной сети по традиционной методике выполняется, фактически, методом проб и ошибок. Исследователь задает количество слоев, нейронов, а также структуру связей между ними (наличие/отсутствие рекуррентных связей), а затем смотрит, что же у него получилось — сеть обучается с помощью какого-либо метода, а затем тестируется на тестовой выборке. Если полученные результаты работы удовлетворяют заданным критериям, то задача построения ИНС считается выполненной успешно; в противном случае — процесс повторяется с другими значениями исходных параметров.

Естественно, бурное развитие теории и практики использования генетических алгоритмов, заставило исследователей (лень — двигатель прогресса) искать способы применить их к задаче поиска оптимальной структуры ИНС (эволюция нейронных сетей или нейроэволюция), тем более, что, так сказать, proof-of-concept был налицо, или, точнее, в голове — природа наглядно демонстрировала решаемость подобной задачи на примере эволюции нервной системы с последующим образованием и развитием головного мозга.

Обзор и сравнение методов нейроэволюции под катом
Total votes 65: ↑60 and ↓5+55
Comments32

Простой способ организации очереди из AJAX-запросов

Reading time2 min
Views3.9K
Постановка задачи

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

Однако в такой системе неизбежно возникает следующий момент: пользователь может подряд быстро нажать на несколько ссылок «подробнее», в то время как сервер будет долго обрабатывать входящие запросы. Если в AJAX используется только один объект XMLHttpRequest (обычно так и есть), то все запросы свалятся в нем «в кучу», и результат запроса отобразится не там, где нужно. Таким образом, встает задача организовать очередь из однотипных асинхронных запросов к серверу, так, чтобы последующий выполнялся только после того, как закончится предыдущий.

Читать дальше →
Total votes 11: ↑6 and ↓5+1
Comments11

Теория покупки из-за рубежа

Reading time12 min
Views16K

Преамбула


Примерно месяц назад решил наконец купить себе нетбук, через интернет. Почему именно через интернет? Да просто решил получить опыт покупки, на будущее, плюс немного сэкономить. Информацию о покупках из-за рубежа собирал в своем личном блоге (ссылку по понятным причинам не даю) как с Хабра, так и с других ресурсов. Преимущественно она касается покупки через eBay, но в целом верна для любого онлайн-магазина.
Читать дальше →
Total votes 130: ↑125 and ↓5+120
Comments168

MozBackup — Сохрани свой профиль Firefox

Reading time1 min
Views2.3K
image

Как-то раз, я «слепил» идеальный для меня Firefox — отличный оптимальный набор расширений, приятный внешний вид и богатый набор закладок… но сбой в профиле заставил меня задуматься о сохранности моих данных. И недавно мне на глаза попалась программа MozBackup, речь о которой и пойдет в данном топике.

MozBackup — идеальное решение для тех, кто хочет сохранить резервную коппию своего профиля Firefox (и не только). Для тех, кто хочет сохранить основные настройки, закладки, историю, расширения, пароли, кукисы, формы и другие данные.

MozBackup может работать не только с Firefox, но и со многими другими продуктами, а именно:

  • Firefox 1.0 — 3.5
  • Thunderbird 1.0 — 3.0 Beta 2
  • Sunbird 0.3 — 0.9
  • Flock 1.0 — 2.0
  • SeaMonkey 1.0a — 2.0 Alpha 3
  • Mozilla Suite 1.7 — 1.7.x
  • Spicebird 0.4 — 0.8
  • Songbird 1.0
  • Netscape 7.x, 9.x

читать далее..
Total votes 29: ↑27 and ↓2+25
Comments15
1
23 ...

Information

Rating
Does not participate
Registered
Activity