понедельник, 16 мая 2011 г.

КРИ 2011

Гостиница Космос. Основное место действия

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

Началось все как-то грустно - приехав в Москву в пол седьмого утра я что-то совсем не выспался и уже начал предвкушать тяжелую борьбу со сном на конференции.
Я когда-то слышал, что на КРИ бывают огромные очереди на регистрацию, но реальный масштаб меня таки удивил - очередь на весь зал). К счастью, я приехал рано и прошел регистрацию минут за 20. Ну а потом началось...

10:00 Петр Камышников, Mail.Ru. - Интерфейсы "Аллодов Онлайн" изнутри

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

11:00 Александр Винников, Nival Network -  Игровая механика, управляемая данными, в проекте Prime World

Проектор принесли, но компьютер, предназначенный для демонстраций не заработал. В общем, еще один косяк. НО. На этот раз автору таки удалось донести до аудитории что-то интересное. Хотя и не очень понятно. Запомнился рассказ о "формулах" в проекте.
В геймдеве, обычно, намешано множество людей различных специальностей - программисты, художники, композиторы, дизайнеры итп. Понятно, что люди, разрабатывающие игровую логику, пилящие баланс итп не всегда знакомы с программированием. И уж совсем точно не стоит ожидать от них глубоких познаний в этой области. Поэтому, для них и придумали систему, когда человек пишет некую формулу(например, для вычисления урона при ударе). Формула пишется на очень простом языке, который потом регулярнми выражениями(!!) трансилруется в C++, компилируется и вставляется в проект как ресурс O_o. В общем, неплохо. Но со слайдами было бы лучше)

12:00 Виталий Видмиров, Gaijin Entertainment - Оптимизация графического конвеера на платформе PS3

Все, начиная с этого доклада никаких проблем с проектором более не было. Что касается доклада - у меня нет PS3. И я никогда с ней не работал. Так что не особо то я там все понял) Рассказывали уж об очень специфичных для PS техниках. SPU там всякие...

13:00 Евгений Заякин, Creat Studios - Не зарастет к нему народная тропа

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

15:00 Кирилл рогожин, Intel - Threading Building Blocks: новые возможности для разработчиков игр

Если кратко, то TBB - это кроссплатформенная C++ библиотека для упрощения работы с многопоточностью. Смотрим презентацию
Рекоммендую ознакомиться с сабжем всем программистам.

16:00 Сергей Сидоров, Intel - CPU спешит на помощь. Перенос вычислений с GPU на CPU

Ниочем

17:00 Евгений Городецкий, Intel - Верните эффект глубины резкости на CPU!

Развитие идей предыдущего доклада. Но с конкретными алгоритмами и цифрами. Получилось очень интересно. Обязательно попробую что-нибудь из этого, когда обзаведусь дофига-ядерным CPU ;)

18:00 Владимир Яцукевич, Vizor Interactive - Эффект зомби. Игры с вниманием человека.

После лекций по программированию, идея сходить на "Гейм-дизайн" казалась неплохой. Пока не сходили таки. Невероятное уныние. Толпищща народу (многие вообще стояли. (Какой контраст после программинга то!). В общем, минут через 20 мы оттуда ушли.

В целом. Первый день мне очень понравился. Но предстоял еще второй...
Однако сначала, о том, где мы жили. Мы жили в общежитии повышенной комфортности МФТИ в городе Долгопрудном. Всего лишь за 300 рублей/ночь. При этом, условия были почти царские - это была самая настоящая двухкомнатная квартира со всеми удобствами. (Холодильника только не было). Короче, отдохнули отлично там.

Пока все.

вторник, 5 апреля 2011 г.

Семинары

Как вы относитесь к методу проведения занятий типа семинар?
Я вот, похоже, отрицательно. Просто наблюдая их эффективность для себя.
Конечно, пока готовишься к семинару - перечитываешь кучу материала. Разбираешься со всем, что нужно. И эффект получается солидный. Тема усвоена отлично. Но постойте! Это же всего одна тема из курса! А что с остальными? А они отданы на откуп одногруппникам. И вот тут эффективность страдает. Ибо, в нашей группе, приемлемо(ну опять же, по каким-то моим критериям) подать материал могут очень не многие. Что получается в итоге, думаю, вы итак знаете.

В общем, я считаю, что если стоит задача получить знания, то преподавать должны профессионалы. А семинары, они для чего-то другого предназначены...

Возвращаясь к изначальному вопросу. А что по этому поводу думаете вы? Интересны ли вам семинары? Эффективны ли?

понедельник, 4 апреля 2011 г.

Альфа

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

По сути - стартап с внешним контролем. Я поучаствовал уже в некотором количестве стартапов и могу сказать - этот мы точно доведем до конца. Причина - в организации. Но обо всем по-порядку.
Напомню, что моя основная роль в этом проекте - менеджмент. Организовать процесс, поставить задачу. Проследить за выполнением. Но, по понятным причинам, не писать код я не могу))

Изначально, в команде было 7 человек. И было очень трудно заставить кого-то работать. Сейчас то я более-менее с этим справился. А тогда....
После некоторых событий, размер команды сократился до 4х человек. И вот тут то поперло. Жить стало намного проще. Проще контролировать происходящее, проще распределять задачи, -  потому что знаешь - задания выполнят, ибо все(ну почти) разгильдяи выпилены. Сейчас в проекте остались люди, которым действительно интересно сделать продукт, а не получить оценку в зачетку. Важная мысль, которую я отсюда вынес - нужно не заставлять людей работать, а избавляться от тех, кто не работает. 

Кто-то мог подумать, что роль преподавателя - только надзорная. Но это не так. Буквально в эту субботу в соседней команде он лишил своего поста менеджера команды. Он мониторит активность в нашем проекте и, иногда, как я понял, посматривает на код. А еще постоянно требует поддерживать актуальными планы на текущую неделю и выставлять оценки за уже сделанную работу. Планы очень даже помогают, кстати.

Не буду рассказывать пока про технические аспекты работы - будет еще публичная бета-версия)
Также, на следующей стадии планируется более плотная работа с преподавателем в виде регулярного codereview в яндексе.

В общем, все происходящее меня дико радует. Мы делаем довольно крупный проект, по-своему сложный и интересный. И главное - у нас получается))

Но везде есть недостатки... Главный, у нас -  на картинке. И он, видимо, все же по моей вине)

вторник, 15 марта 2011 г.

Еще раз про АУ

Недавно на хабре вновь разместили рекламу СПбАУ) Чем не повод написать что-нибудь развернутое про университет?

Недавно я с ужасом осознал, что всего лишь год назад я и не собирался уходить из ИТМО. Всего год назад меня устраивало то, что происходило там и менять ничего особо не хотелось. Сейчас мне кажется это диким.
Так что же настолько отличает ИТМО от СПбАУ в моем случае?(Кафедры разные, может где-то в ИТМО тоже неплохо)
Ответ прост - люди. Не пафосное здание с теннисным кортом, бассейном и карандашом :), а именно люди. Все эти потрясающие люди создают великолепную атмосферу для обучения. Преподавателям никогда не бывает пофигу на тебя. Люди более чем вежливы и приветливы.

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


На самом деле, я уже сказал основное отличие, из которого вытекают все остальные - людям не пофигу. Если есть дельные предложения по изменению учебного процесса - тебя внимательно выслушают и, может даже, что то сделают. В конце семестра проводят анонимное анкетирование по прошедшему семестру. И анкеты таки читают и делают выводы. В общем, в этом университете, я чувствую себя активным участником собственного образования, а не пассивным наблюдателем))

Если вас вдруг заинтересовала информация о поступлении, добро пожаловать сюда.
Если же вы сомневаетесь - я бы советовал попробовать. Хуже точно не будет. Ну просто нет у нас в стране таких ВУЗов, чтобы АУ на их фоне был плохим))

суббота, 12 марта 2011 г.

Го и компьютеры

В мае 1997 года шахматный компьютер Deep Blue победил действующего чемпиона мира Гарри Каспарова. Тем самым уничтожив иллюзии о человеческом превосходстве в шахматах.
Произойдет ли тоже самое с го? Скорее да, чем нет. Но, видимо, не так скоро. На днях состоялся интересный матч. 10 профессиональных игроков в го сыграли по 2 партии(один сыграл 3) с программой MoGoTW на доске 9x9. Итоговый счет 14-7 в пользу людей.
Бесспорно, относительно предыдущих результатов впечатляет. Но компьютер все так же далеко от победы над чемпионом мира как и был. Ведь доска 9x9 не идет ни в какое сравнение со стандартной доской для го - 19 на 19 пересечений. Если провести очень(очень очень) грубую оценку количества возможных ходов, то на маленькой доске это "всего" 81! = 5,80E120. Тогда как на большой... эм.. очень много. Слишком много.
В общем, удачи программистам ИИ. Будем ждать...

P.S.
По ссылке можно ознакомиться с недавними матчами компьютерных программ с людьми.
Число после имени человека означает уровень его игры. Уровни в порядке возрастания крутости:
1d, 2d ...7d, 1p, 2p...9p

среда, 16 февраля 2011 г.

Семестр номер 2

Тададам. Новый семестр. Внезапно!
Думаю, настало время сделать обзор новых предметов.

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

Машинное обучение
Нейронные сети, генетические алгоритмы, Баейсовские классификаторы. И многое другое. Курс с таким названием в исполнении этого же преподавателя нам читали в ИТМО. Но, судя по всему, наш курс будет существенно от него отличаться.
Сложилось впечатление, что Николенко в АУ читает лекции лучше, чем читал тогда в ИТМО. Может оно так и есть, а может просто уже предвзятое отношение к ИТМО))


Технологический семинар
Еще один семинар из серии: "Расскажите сами друг другу что-нибудь". Правда тут раз в 2 недели к нам таки приглашают людей извне. Правда, в отличие от семинара по скриптовым языкам(который, к слову, продолжается и в этом семестре) - темы тут совсем не связные.

Транспортные задачи
В этом семестре есть 2 предмета по-выбору. Это либо спецкурс Малеванного, либо транспортные задачи. Я выбрал Малеванного, но был и на первой паре ТЗ. Больше не хочу...

Теория формальных языков
Как нам тут рассказали, прошлые курсы на предмете "разработка компиляторов" столкнулись с фиговыми знаниями теории по всему этому делу. Ну чтож. Вот нам предмет, дабы заранее подготовить к компиляторам. Судя по первой паре пар), преподаватель идет по верному пути: лекция, и тут же практика по пройденному материалу для закрепления. В общем, приятное впечатление.

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

суббота, 12 февраля 2011 г.

Учебный проект в АУ

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

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

А теперь собственно про проект.
Название мы еще не придумали, поэтому пока называем проект агрегатором барахолок. Задача - создать систему, собирающую с различных интернет-барахолок различную информацию о купле-продаже различных товаров. Обработать ее, структурировать и выдать пользователю в удобном виде. Как-то так работает яндекс работа, например.

Задача включает в себя:
  • Создание системы сбора информации - тут все понятно. 
  • Обработка информации. Зачастую, информация на таких барахолках плохо структурирована и довольно сложна для восприятия. Нам нужно по различным ключевым словам разложить информацию по категориям. В идеале, хотелось бы видеть(со стороны пользователя) систему похожей на яндекс маркет, но для б/у товаров. (Согласитесь, там очень удобные категории)
  • Собственно веб-сайт с поиском, блекджеком и поэтессами.  
Про задачу второй группы ничего не могу рассказать. Так как они сами пока, похоже, не очень определились.


Если вас заинтересовала возможность поработать над этим проектом - пишите мне на почту.
Буду благодарен, если расскажете друзьям. Вдруг кто-то заинтересуется?

P.S. Пишем на Java
P.P.S. Нам требуются:
  • Разработчики
  • Верстальщики
  • Тестеры