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

никто

Отправить сообщение

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

Время на прочтение24 мин
Количество просмотров12K
Бежит на юг и кружит на север, кружит, кружит на бегу своем ветер,
И на круги свои возвращается ветер;
Бегут все реки в море, — а море не переполнится,
К месту, куда реки бегут, — Туда они продолжают бежать;

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


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

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

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

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

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

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


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

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

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

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

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

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

Время на прочтение4 мин
Количество просмотров28K
Интереснейшую реализацию шахматной программы показали вчера на Хабре.
Почитав комментарии, я пришел к выводу, что принцип работы наиболее распространенных алгоритмов игры в шахматы, шашки и тому подобные известны не всем.

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

PocketFALLOUT. Тот самый FALLOUT на Вашем WM устройстве

Время на прочтение9 мин
Количество просмотров1.7K
Сегодня, в 15:00 по Москве выйдет первая играбельная версия PocketFALLOUT — почти полноценного порта знаменитой игры.

logo
Читать дальше →
Всего голосов 119: ↑119 и ↓0+119
Комментарии122

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

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

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

Время на прочтение4 мин
Количество просмотров5.9K
image

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

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

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

Время на прочтение3 мин
Количество просмотров5K
Мой первый хабратопик, надеюсь, что не последний.

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

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

Ближе к телу: как решил проблему я…
Читать дальше →
Всего голосов 56: ↑35 и ↓21+14
Комментарии53

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

Время на прочтение3 мин
Количество просмотров54K
Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

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

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

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

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


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

Скриншоты и код
Всего голосов 331: ↑329 и ↓2+327
Комментарии133

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

Время на прочтение6 мин
Количество просмотров24K
Здравствуйте.

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

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

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

BareTail & FirePHP

Время на прочтение2 мин
Количество просмотров1.9K
По натуре своей, являясь перфекционистом, стараюсь разложить все по своим (не моим, а именно своим) полочкам. Удается не всегда, но с BareTail и FirePHP определенно повезло – уровень осведомленности при отладке возрос необычайно и это при полном отсутствии всякого вывода напрямую в код страницы.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии4

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

Время на прочтение1 мин
Количество просмотров573


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

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

Время на прочтение2 мин
Количество просмотров4.1K
Последнее время появляется все больше и больше различных дополнений для Firebug'a. Решил сделать краткое описание для этих плагинов.
Здесь были описаны только 4 плагина.
Постараюсь описать все известные плагины для Firebug'a
Статья на украинском языке
Читать дальше →
Всего голосов 117: ↑109 и ↓8+101
Комментарии38

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

Время на прочтение7 мин
Количество просмотров10K

Work on Stuff that Matters: First Principles


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

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

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

Firebug: Part 2 — commands

Время на прочтение2 мин
Количество просмотров1.7K
Это продолжение серии статей про Firebug.

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

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

Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии11

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

Время на прочтение4 мин
Количество просмотров17K
Всем доброго времени суток!

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

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

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

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

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

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

Немного о Prolog'е

Время на прочтение3 мин
Количество просмотров29K
Язык пролог незаслуженно обладает довольно узкой известностью, между тем это довольно интересный язык, который несомненно стоит того, чтоб познакомиться с ним.

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

Читать дальше →
Всего голосов 90: ↑81 и ↓9+72
Комментарии119
1

Информация

В рейтинге
Не участвует
Откуда
Магнитогорск, Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность