Devdays spring 2014

Материал из SEWiki
Перейти к: навигация, поиск

And may the odds be ever in your favour.

Темы проектов

Тут пишем идеи. Нумеруйте или подписывайте названия своих идей, чтобы было видно, где начинается новая идея.

Подсказочка: жмём вверхнем правом углу "представиться системе", после авторизации жмём вверху слева "править"

GuanoDoc

Никто не любит писать джавадоки. Но без них у вас не принимают код. Так давайте их генерировать! Мы можем делать это на основе содержимого кода и названия сущностей.

Предложил Аркадий с подачи Никиты Бубнова.

Code Visualization

Идея визуализировать музыку появилась давно. Вы можете проследить этот вопрос, начиная от первых экспериментов с цветомузыкой, заканчивая эффектами в кончине и игрой AudioSurf.

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

Предложил Калакуцкий Аркадий.

Web Notifier

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

Хватит это терпеть!

Даешь универсальный сервис по отслеживанию изменений.

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

Можно сделать это в виде веб-сервиса или плагина для браузера.

Предложил Калакуцкий Аркадий.

DRY

Расширение для Chrome, подсказывающее фразы при общении в VK и проверяющее написанные сообщения на то, что подобное вы уже писали (то же самое при добавлении песенок и так далее). Также нужно было бы сделать возможность шаблонного общения (в смысле, подсказок, что сказать из шаблонов).

Я еще придумал one-liner: put your VK out to DRY!

Технологии: HTML, CSS, javascript, вот это все.

Предложил: Никита Карташов.

BRO (aka Beta Reduction Online)

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

Технологии: Haskell/Yesod или Ur/Web.

Предложил: Николай Обедин.

Trello

Trello - система учета задач, которые нужно сделать, задачи можно разбивать на списки, к задачам можно прикреплять вложения комментарии, чек-листы, отмечать человека, ответственного за задачу. (Пример) Официальные клиенты Trello есть под iOS и Android, но нет под Windows Phone. Неофициальные клиенты очень неудобные и некрасивые. Задача - создать красивый клиент под Windows Phone 8 с базовыми функциями.

Технологии: Windows Phone SDK, REST API

Предложил: Даниил Овчинников

CultSim

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

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

Предложил: Никита Карташов

Word Cycles (or Word Psychos): The Game

Представьте себе такую игру. Есть 2 игрока, каждый называет по очереди слово на заданную букву, но не просто называет, а запоминает каждое слово, которое он произнёс. По команде судьи "Замкнуть словоцикл!", игроки начинают по очереди повторять слова с самого начала в том порядке, в котором они их называли. Если оба успешно повторили всю цепочку, игра продолжается дальше, накапливаются новые цепочки. Если один из игроков ошибся, забыл слово или не успел произнести очередное слово за определённый интервал времени, который выделяется для ответа, то он проигрывает раунд, а второй получает количество очков, равное длине цикла слов.

Пример успешного замыкания =):

А: торт

В: телега

А: трос

В: треска

Судья: Замкнуть словоцикл!

А: торт

В: телега

А: трос

В: треска


Предлагаю реализовать такую игру в виде вэб странички, чтобы можно было играть по сети с друзьями (например, повесть на github pages). При чём, предлагается сделать такие фичи:

1) Проверка слов - чтобы игроки не писали слова типа "асапсия" или "каминопиство", то есть несуществующие слова, можно использовать какой-нибудь словарь, например API сервиса Яндекс.Словарь, для проверки вводимых слов; сделать для 2ух языков (en, ru)

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

3) Возможно, сделать матчи для 3ёх и более игроков (хотя тут есть тонкости с увеличением времени на ответ)

4) Сделать кучу режимов игры:

- слова на заданные буквы, на случайные, на изменяющиеся буквы в определённой заданной перед схваткой последовательности;

- компьютер как судья, 3тий игрок как судья, компьютер выбирает случайным образом момент замыкания словоцикла, игроки сами выбирают момент замыкания словоцикла;

- словоцикл сбрасывается после замкания или расширяется дальше

- игроки по команде замыкают не свою цепочку, а цепоку опонента (особенно супер будет, если игроков больше, чем 2) - it is madness mode!!!

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

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

В целом, реализация должна быть не сложной и базовые вещи можно успеть за 3 дня, а потом радостно играть весь май!

Технологии: python + some web stuff

Предложил: Марат Хабибуллин


Worse Alarm Clock Ever Android App

основная идея - создать будильник для хитрецов выключающих будильник во сне и желающих улучшить свои навыки в c++

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

Возможный формат:

a) Тестик с каким-то вопросом по теме с вариантами ответов

b) исправление сломанного кода. Например, где-то не хватает какого модификатора, неправильно названа переменная, в общем что-то по мелочи. Для исправления некоторые фрагменты кода можно будет форматировать (может все?). После редактирования если код проходит тесты, то будильник не звонит (или перестает звонить)

с) написать какой-то простенький хрестоматийный алгоритм (привет быстрая сортировка =))

возможны форматы когда будильник звонит первый раз выбранной мелодией и дает какое-то время для того чтобы решить задачку, после чего если задача не решена вовремя (или исчерпаны попытки решения?) начинает верещать свиньей Касперского

Ну и конечно мало просто не дать хозяину телефона (и его соседям) заснуть. Было бы круто прикрутить поддержку твиттера: если не справляешься с будильником приложение будет твитить "Мой будильник знает c++ лучше чем я. Какой позор.....". Ну и если все совсем плохо, то делать ссылку на задачку которую можно отправить друзьям чтобы хоть они заткнули эту шайтан машину.


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

Для пунктов b и c понадобится как-то прикрутить компилятор.(что наверно тоже непросто)

Привязка твиттера (если дело дойдет)

Маленькое sdk позволяющее делать задачки (задачки + тесты)


Технологии : Android, C++, Twitter api


Предложил: Ворончихин Стас

Android Usb listener

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

Вся соль заключается в том что интерфейс общения всяких приблуд обычно находится в прошивке и девайс реагирует только на стандартные команды которые были уже предусмотрены, а с таким приложением можно забиндить всякие комбинации для ввода с клавиатуры. А если дело выгорит, то при помощи приблуды типа этой http://www.ebay.com/bhp/bmw-ibus#ht_2197wt_1396 можно заменить магнитолу в машине на крутой планшет. И получим сердитую магнитолу с gps интернетом и angry birds =)

Технологии : Android

Предложил: Ворончихин Стас

Corovan: The Game

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

Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 - зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 - зона злого... (в горах, там есть старый форт...)

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

Технологии: С++, qbasic , фортран++ и maya++, NVIDIA 3D

P.S. Я джва года хочу такую игру.