Pull to refresh
15
0

никто

Send message

Dagaz: Новое начало

Reading time24 min
Views12K
Бежит на юг и кружит на север, кружит, кружит на бегу своем ветер,
И на круги свои возвращается ветер;
Бегут все реки в море, — а море не переполнится,
К месту, куда реки бегут, — Туда они продолжают бежать;

Книга Экклезиаста.


В 1998 году, было разработано совершенно уникальное, для своего времени, приложение, позволяющее свести процесс разработки абстрактной настольной игры (или головоломки) к небольшому текстовому описанию на языке, отдалённо напоминающем Lisp. Этот проект получил название Zillions of Games и произвел настоящий фурор в среде любителей настольных игр. В настоящее время, создано более 2000 приложений, с использованием этой технологии.

Очень быстро выяснилось, что ZoG обладает множеством недостатков. Я уже писал об этом на Хабре и не буду повторяться. Скажу лишь, что разработчики не учли особенностей огромного количества уже существующих игр, а часть важных опций «захардкодили» таким образом, что их изменение стало крайне проблематичным. Грэг Шмидт, в 2007 году, постарался исправить ситуацию, выпустив Axiom Development Kit, но тесная интеграция этого решения с ZoG не позволила решить все проблемы.

Проект Ludi обозначил новые рубежи, используя универсальный игровой «движок» и генетические алгоритмы для автоматизации самого процесса разработки новых настольных игр. К сожалению, этот подход изначально предусматривал сознательное упрощение как игровых механик так и уровня используемого AI. Обсуждение целей этого проекта выходит за рамки настоящей статьи, но отдельные его технические решения, бесспорно, послужили отправной точкой для начала моей собственной разработки.

Моей целью является разработка более универсального и удобного в использовании «движка» для создания абстрактных настольных игр. Уже почти год я изучаю возможности ZoG и Axiom и узнал очень многое об их ограничениях. Я думаю, что смогу решить их проблемы, создав более универсальное и кроссплатформенное решение. О ходе работы над этим проектом я и собираюсь рассказать.
Читать дальше →
Total votes 52: ↑37 and ↓15+22
Comments17

Вы, конечно, шутите, мистер Фейнман

Reading time2 min
Views11K
image
Издательство: КоЛибри, 2008 г.
Автор: Ричард Фейнман
Твердый переплет, 480 стр.
Книга на ozon.ru, books.ru


Недавно увидел на Хабре очень интересный ролик, в котором Ричард Фейнман рассказывает о природе природы.
В этом же топике, рекомендовалась к прочтению просто потрясающая книга — «Вы, конечно, шутите, мистер Фейнман».
Собственно, про нее я бы и хотел сегодня рассказать. Даже если вы не физик, не математик, не айтишник и у вас просто есть немного свободного времени — загляните под кат, я уверен, книга вам понравится. :)
Читать дальше →
Total votes 121: ↑104 and ↓17+87
Comments119

Unsupervised learning или «пойди туда, не знаю куда, найди то, не знаю что»

Reading time3 min
Views13K
imageЭкспертные системы, нейронные сети, исчисление предикатов, хорновские дизъюнкты, теоремы сходимости…
Не знаю как у вас, у меня вся эта кухня вызывает восторг. Как замечательно, что компьютеры (конечно, наученные программистами, вооруженными серьезной математикой) могут хотя бы иногда приближаться к человеку по навыкам принятия решений. Особенно это хорошо у них получается, когда человек готов учить.

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

Неуправляемое обучение, обучение без учителя
Однако есть ситуации, и их довольно много, когда правильного ответа никто не знает. И даже непонятно что является ответом. И даже задача не вполне ясна. Есть только данные. Надо что-то полезное из них извлечь.
Согласитесь, задача гораздо более интересная и дающая простор для фантазии?
Читать дальше →
Total votes 105: ↑96 and ↓9+87
Comments172

Как компьютеры играют в шахматы

Reading time4 min
Views28K
Интереснейшую реализацию шахматной программы показали вчера на Хабре.
Почитав комментарии, я пришел к выводу, что принцип работы наиболее распространенных алгоритмов игры в шахматы, шашки и тому подобные известны не всем.

Вместе с тем задача создания программы, играющей во что-то, достаточно тривиальна, если имеются способы расчета некоторых величин и оценок, специфичных именно для этой игры.
Читать дальше →
Total votes 112: ↑109 and ↓3+106
Comments57

Впечатление по работе Google Chrome OS на Acer C7 Chromebook

Reading time6 min
Views92K
image
Данный пост я пишу для тех, кто так же как и я облизывается на дешевый и легкий Acer C7. Сразу скажу — данный пост в большей степени ориентирован на пользователей, которые работают за компьютером, а не используют его как мульти-медиа девайс. Я провожу за своим chromebook'ом минимум 10 часов (в зависимости от продолжительности рабочего дня) и поэтому удобство работы за компьютером мне критично. Когда я узнал о достаточно дешевой модели от компании Acer я решил ее опробовать. Для тех кому лень дальше читать — я остался доволен. Остальным — читать далее.
Читать дальше →
Total votes 63: ↑50 and ↓13+37
Comments97

Native vs Web. Часть 0: +1 аргумент в пользу разработки native мобильных приложений

Reading time4 min
Views5.9K
image

Как-то вечером мне захотелось написать статью о разработке приложений для мобильных устройств, но тут Остапа понесло...

Так же как киборги в свое время заполонили всю планету, сейчас мобильные девайсы заполоняют нашу жизнь. А что это означает для нас, гиков? Новые возможности даже обсуждать не стоит — это вкусные плоды с дерева под названием “гаджет”. А раз есть плоды и толпы страждущих, то почему бы не начать их выращивать (я про плоды, выращивать же страждущих умеет лишь Apple )? И тот вырастит больше и вкуснее, у кого инструмент лучше. Какие есть подходы в мобильном приложениеводстве? Как минимум можно использовать старую проверенную web-платформу и заняться написанием мобильных web-приложений, либо освоить молодую отрасль разработки под iOS и Android. Выбор, не простой, и чаши весов качались крайне долго в моей голове, пока на сторону разработки приложений под iOS (потенциально и под Android) не пал один весомый аргумент, о котором сегодня и пойдет речь. Но для начала краткий экскурс в технологии и их возможности.
Читать дальше →
Total votes 49: ↑32 and ↓17+15
Comments52

Пишем свою реализацию сессий для обработки мертвой сессии перед зачисткой

Reading time3 min
Views5K
Мой первый хабратопик, надеюсь, что не последний.

Представим ситуацию: есть корзина покупок на сайте, при добавлении в корзину мы ставим на товар т.н. lock, исключающий его из списка доступных для покупки товаров. Когда клиент удаляет товар из корзины — lock снимается. Но что делать, если пользователь просто закрыл браузер? В таком случае сессия будет удалена сборщиком мусора, а локи так и останутся.

Когда я столкнулся с такой ситуацией, первое что мне пришло в голову — хранить локи и дату доступа в БД и периодически дергать её кроном. Но костыльность этого решения очевидна. А вот ещё бред, с которым я столкнулся при решении сабжа: для сериализации и десереализации сессий используются функции и формат, отличные от функций serialize и unserialize. Приходится делать велосипеды для ансериализации сессии.

Ближе к телу: как решил проблему я…
Читать дальше →
Total votes 56: ↑35 and ↓21+14
Comments53

Самая маленькая игра в мире (58 байт)

Reading time3 min
Views54K
Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

Прочитав историю одного байта, вспомнил свою историю.

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

Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

Сюжет и управление


Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.

Скриншоты и код
Total votes 331: ↑329 and ↓2+327
Comments133

Расширяем возможности wget

Reading time6 min
Views24K
Здравствуйте.

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

Не так давно я начал постигать работу с Linux (в частности Ubuntu 8.10) и у меня появилась задача автоматического скачивания файлов по списку. «wget -i» конечно вещь хорошая, но мне хотелось большего, а именно:
  1. Скачивание списка ссылок из файла
  2. Скачивание одновременно нескольких файлов
  3. Перенос неудавшихся закачек в отдельный список для дальнейших повторных попыток.

Так что появилась необходимость в чуть более продвинутом инструменте для скачивания файлов, чем может предложить wget. Я решил реализовать его с помощью bash. Правда может помешать отсутствие опыта написания bash-скриптов, но как раз пришли выходные и часы проведенные за материалом по теме не прошли зря.
Читать дальше →
Total votes 79: ↑70 and ↓9+61
Comments48

BareTail & FirePHP

Reading time2 min
Views1.9K
По натуре своей, являясь перфекционистом, стараюсь разложить все по своим (не моим, а именно своим) полочкам. Удается не всегда, но с BareTail и FirePHP определенно повезло – уровень осведомленности при отладке возрос необычайно и это при полном отсутствии всякого вывода напрямую в код страницы.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments4

Fennec для Windows Mobile в феврале

Reading time1 min
Views566


По информации от разработчиков первый релиз мобильного браузера Fennec для Windows Mobile планируется выпустить на первой неделе февраля. Единственным нюансом является тот факт, что данная версия рассчитана главным образом на пользователей коммуникатора HTC Touch Pro.
Total votes 44: ↑36 and ↓8+28
Comments39

Расширения для Firebug

Reading time2 min
Views4.1K
Последнее время появляется все больше и больше различных дополнений для Firebug'a. Решил сделать краткое описание для этих плагинов.
Здесь были описаны только 4 плагина.
Постараюсь описать все известные плагины для Firebug'a
Статья на украинском языке
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments38

Тим О’Рейли. Работа, которая имеет значение: основные принципы

Reading time7 min
Views10K

Work on Stuff that Matters: First Principles


опубликовано 11 января 2009 года

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

Но прежде всего я хочу прояснить, что «работа, которая имеет значение» не подразумевает только некоммерческие проекты, благотворительность или иную форму «добрых дел». Некоммерческие проекты часто означают хорошее дело, и люди с техническими способностями могут внести важный вклад, но очень важно выбраться за пределы этих рамок. Я абсолютно убеждён в социальной ценности бизнеса, который ведётся правильно. Нам нужно создать экономическую систему, в которой общественно значимые проекты автоматически и гарантированно получают вознаграждение, а не основанную на благотворительных организациях, финансируемых по доброте сердечной.
Читать дальше →
Total votes 116: ↑114 and ↓2+112
Comments39

Firebug: Part 2 — commands

Reading time2 min
Views1.6K
Это продолжение серии статей про Firebug.

Весь цикл: Console, Commands, Debugging ,Profiling

Firebug имеет приятную особенность — собственные функции.
Некоторые из них вам уже встречались, например в Prototype.
И чтобы вы не сомневались в том, что все честно, то мы продолжим мучать домашнюю страничку Firebug, т.к. на ней нет подключенных js файлов.

Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments11

Начало научной карьеры (часть 1)

Reading time4 min
Views17K
Всем доброго времени суток!

Замечаю, что темы, связанные с образованием и наукой на Хабре достаточно популярны. Я тоже решил внести свой небольшой вклад в развитие этого направления. На сей раз речь пойдёт о том, как в принципе выглядит университетская карьера, какие в ней имеются особенности, сложности и подводные камни.
Читать дальше →
Total votes 117: ↑111 and ↓6+105
Comments157

Начало научной карьеры (часть 2)

Reading time5 min
Views6.6K
Вторая часть «Начала» будет посвящена тому, как можно «влиться» в структуру зарубежного университета на уровне бакалаврской или магистерской программы.

Перед тем, как приступить к основному блоку, хочу немного уточнить главное послание предыдущей части. Человек, собирающийся делать карьеру учёного в России, вероятно, догадывается, что его зарплата будет ниже, чем у коллег из Германии или США. Но не все знают, что наш научный процесс в большинстве случаев отделён от «общемирового» (разумеется, есть яркие исключения, всё-таки не при железном занавесе живём). Я не говорю сейчас, хорошо это или плохо. Просто сей факт необходимо знать и принимать во внимание.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments69

Сравнение PHP-фреймворков: CakePHP, CodeIgniter и Yii

Reading time11 min
Views47K
Не так давно на Хабре проскакивал пост о появлении нового PHP-фреймворка под названием Yii.
После ознакомления, этот фреймворк показался мне интересным, перспективным и достойным внимания.
Недавно Daniel Carrera выложил в своем блоге интересную статью «Comparison of PHP frameworks» о сравнении CakePHP, CodeIgniter и Yii.
С целью популяризации Yii среди русскоговорящего (и плохо-по-английски-читающего) населения я решил сделать перевод.
Читать дальше →
Total votes 127: ↑106 and ↓21+85
Comments136

Немного о Prolog'е

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

Если честно, мне лень описывать синтаксис и особенности пролога, кому интересно, без труда найдут достаточное количество материала в интернете, благо язык довольно академичный. Скажу лишь, чем меня он заинтересовал. Дело в том, что пролог, по сути единственный язык, предлагающий качественно другой подход к программированию, чем хорошо известные императивный, ООП (который, по сути, тоже императивный, но нацелен на структурирование и модульность), функциональный. Можно назвать этот подход декларативно-логическим.
Не претендуя на точность терминологии, этот подход можно определить как такой, при котором программа представляет собой описанние теми или иными конструкциями языка программирования самого условия задачи. Роль ЯП при этом понять это описание, и сделать из него некоторый вывод, который окажется ни чем иным как правильным решением задачи.
Проиллюстрируем, что под этим подразумевается. Возьмем следующую задачу.

Читать дальше →
Total votes 90: ↑81 and ↓9+72
Comments119
1

Information

Rating
Does not participate
Location
Магнитогорск, Челябинская обл., Россия
Date of birth
Registered
Activity