Devdays Осень 2016

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

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

Чтобы править эту страницу, нужно залогиниться в Sewiki. Тогда сверху будет кнопочка "править". Если у вас нет учётной записи - напишите Мише Кольцову желаемый логин.

Редактировать wiki одновременно нескольким людям стоит осторожно: после внесения правки проверьте, что она действительно сохранилась.

Проекты нумеруются автоматически. Можно вписывать свои идеи проектов в порядке, отличном от "первый вписал - меньше номер".

Определение проплаченных отзывов к товарам

В интернете представлено много товаров и услуг. Часто потенциальные клиенты ориентируются на отзывы (на сайте компании или на тематических каталогах). Отсюда появился бизнес по "накрутке" отзывов: себе пишем получше, конкурентов втаптываем.

Я и сам смотрю на отзывы. Поэтому есть интерес в том, чтобы они были "честными".

Давайте возьмём русскоязычные отзывы из конкретной области и научимся определять, какие из них являются проплаченными. Или подозрительными. Скажем, возьмём все отзывы к микроволновкам с Я.Маркета.

Технологии: python (библиотеки: sklearn, NLTK, bs4, ...), анализ текстов (Mystem, ...)

Предложил: Михаил Кольцов

Поиск деликатных данных в открытых источниках

Есть много сайтов, на которых пользователи могу добавлять свои документы и медиафайлы. Иногда другие неавторизованные пользователи могут смотреть на эти файлы. Некоторые люди думают, что если ни у кого нет ссылки, то никто не видит их файлов. Давайте это исправим!

Сделаем программу, которая тыкается в случайные страницы на ideone, paste.ubuntu.com, google drive, cloud.mail.ru, ..., и собирает с них информацию. Пароли, конфигурация, топология локальной сети, обнажённые фотографии - что угодно.

Например, я случайно ткнулся на paste.ubuntu.com и получил информацию о чьей-то сломанной файловой системе.

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

Предложил: Михаил Кольцов

Twitter-бот для ответов на жалобы

Сейчас у многих компаний есть представительство в Twitter. К примеру, если какой-то пользователь пишет "вот ведь в мегафоне чудаки", то специально обученные сотрудники Мегафона ему могут ответить: что не так, как нам исправить свою ошибку и т.п.

Давайте сделаем бота, который будет отвечать что-то осмысленное на жалобы русскоязычных пользователей. Представим, что мы - какая-то конкретная компания. Будем "слушать" твиты с упоминанием это компании и пытаться понять смысл. И отвечать что-нибудь успокаивающе-положительное, связанное с текстом жалобы.

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

Предложил: Михаил Кольцов

Генератор скриптов для контрольных по bash

Многие задачи на контрольной и в домашних работах были достаточно шаблонными и можно было их разбить на подзадачи (например: получаем данные | выделяем регулярное выражение | обработка sed'ом/awk | вывод). Почему бы и не попробовать написать и обучить систему, которая может решать такие простые задачи?

Технологии: python, bash

Предложил: Мыров Владислав


GrammarMan

Fig1.jpg

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

Технологии: C# ( или Qt )

Предложила : Малютина Катя


Приложение "что мне делать"

У всех есть дела, которые нужно делать.

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

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

Уведомления вида "пора бы заняться делом", если не заходишь в приложение. Во время выполнения дела, уведомления "сделай перерыв".

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

Предложил: Антон Гардер

Планировщик студента

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

1. Возможность задавать расписание + даты дедлайнов + первое приближение для времени выполнения каждого типа домашки.

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

3. Напоминалки о том, что хорошо бы отдохнуть каждые n минут, когда ты делаешь домашку.

4. Напоминалки о том, что ты офигел ничего не делать, если ты ничего не делаешь (:

5. Какие-нибудь графички, статистику, все дела.

6. Рисовала гробик, если ты физически ничео не успеваешь ):

Технологии: да что угодно python, Qt?..

Предложила: Аня Явейн

Генерация сообщения для знакомств

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

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

Предложил: Мыров Владислав

WhipLash

WhipLash.png

Наверное, большинство из вас замечало, что почти все игры "залипалки" имеют крайне простую идею (например, стройка из тетриса, танчики, angry birds, cut the rope и др.). Предлагается дерзнуть и написать что-то подобное. Идея следующая: есть прямоугольное поле, на котором изначально хаотичным образом размещены квадраты разных цветов (пусть черного и белого). У каждого квадрата есть плетка, для удара, ее необходимо какое-то время раскручивать. Ударив несколько раз плетью в квадрат с другим цветом, можно перекрасить его в свой цвет. Цель каждого квадрата сохранить свой цвет, игра заканчивается когда все квадраты одного цвета.

Игра многопользовательская (чтобы не писать AI).

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

Предложил: Кручинин Дмитрий

Сайт -- лицо ВУЗа

После того, как я узнал об АУ, я нашел сайт в www.google.com, перешел по ссылке... и тут я подумал, может я ошибся? - нееет, это не сайт того универа, о котором мне рассказывали сказки. Написал другу, попросил скинуть ссылку и тут... он скидывает тоже самое.

Мораль: внешний вид сайта не отражает высокий уровень данного университета.

Давайте добавим рюшечек.

Предложили: Ёров Собир, Кручинин Дмитрий


Quick Ref

Зачастую читая какой - то материал в электронном виде (лекции, книги в pdf, djvu и т.д) встречая непонятный термин не хочется менять контекст, идти гуглить. Давайте сделаем это так, чтобы пользователь мог просто выделяя непонятный термин получить подсказку с определением этого термина. Определение должно появится прямо под термином (в новом окне не надо!). И еще определение термина должны искать сначало в этом же документе, и в случае если его нет то потом в интернете (в википедии например). Можно еще добавить следующий функционал: если в документе есть ссылки, то открывать их в том же месте где они указаны (т.е не ходить по ссылкам).

Предложил: Ёров Собир

Своя эволюция

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

Технологии: Машинное обучение, Python

Предложил: Симиютин Борис

Сортировщик почты

Мы поговорили с Антоном и выяснили, что у нас таки одинаковые проекты.

Поэтому идея номер два: нам на почту прилетает чудовищное количество писем, связанных с ау. И, чтобы не искать каждый раз нужное письмо по несколько минут, хотелось бы как-нибудь собирать эту инфу и представлять в удобочитаемом виде. Например, написать какой-нибудь gui, в котором будут отдельно материалы для домашек, рассортированные по предметам; отдельно какая-нибудь долгосрочная инфа типа паролей к svn и т. д. При этом сортировку писем хотелось бы автоматизировать.

Технологии: python, Qt

Предложила: Аня Явейн

3D представление для Graphviz

Есть Graphviz — набор программ для визуализации графов, заданный на языке DOT. Однако представление непланарных графов довольно неинформативно. При этом, любой граф можно вложить в трехмерное пространство без самопересечений. Цель: научиться по файлу в формате Graphviz'а строить трехмерное представление графа с использованием WebGL (или чего-то другого, позволяющего получить доступное для просмотра в браузере представление).

Технологии: Language agnostic, поскольку библиотеки для парсинга .dot есть для почти любого языка, и также многие языки транслируются в JavaScript; немного WebGL. Например, Python + JavaScript/TypeScript (хотя интересно было бы попробовать связку Haskell + Elm).

Предложил: Святослав Грязнов


Карта Мародёров

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

Технологии: Python || Javascript

Предложила: Колесниченко Лара

Сборщик досье

Интересно, насколько много информации можно узнать о человеке из открытых источников (соцсети, участие в различных мероприятиях итп). Можно автоматизировать поиск и фильтрацию результатов и сохранить, что получилось.

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

Предложила: Ерохина Лена

Навигатор по зданию АУ

По введенным двум номерам аудиторий пишет инструкцию, как добраться от одной до другой. Кажется, подобная штука функционировала(ет) в ИТМО.

Технологии: пусть python

Предложила: Ерохина Лена


Конспектор

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

Предложила: Лапицкая Людмила

Анализатор успехов в учебе

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

Предложила: Лапицкая Людмила

Библиотека для работы с памятью в openсl

Зачастую, бутылочным горлом проектов, использующих gpgpu, становится копирование памяти между хостом и устройством (i.e. gpu). Если обратиться к многотомным спецификациям хардварных производителей, то можно найти очевидные и не очень способы оптимизации ее использования.

Хотелось бы иметь библиотеку для opencl, абстрагирующую программиста от проблем правильного менеджмента памяти. Нужна система аллокации-владения, позволяющая opencl автоматически использовать dma или zero-copy buffers для архитектур с разделяемой (с хостом) памятью.

с/с++, opencl api, cross-platform (linux & windows)

Предложил: Бегунков Павел

Расширение для Google Chrome

Файл:Featured.png <- Тут могла быть картинка

Надоело постоянно во всех сайтах вбивать капчу? Новое расширение для Хрома поможет избежать этой проблеммы. Больше не нужно вглядываться в картинку и пытаться понять что за каракули там написаны, бот сам распознает текст и введёт его вместо тебя.

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

Предложила: Дергун Карина

Telegram-бот для получения домашних заданий

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

Технологии: Обертки на API ботов есть на все мейнстримные языки, но предпочитают python. Сам написанный бот должен быть запущен на сервере.

Предложила: Тищенко Олеся

вконтакТеХ

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

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

Предложила: Черниговская Мария

Анкета ВУЗа

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

Сферы применения данного проекта:

1. Информации о сдаче экзамена/зачета. (студенты старших курсов, уже сдавших определенную дисциплину, могут делится своим опытом, рассказывать про часто-задаваемые вопросы и прочее)

2. Сбор информации для улучшения системы образования (ни для кого не в новинку, что приблизительно раз в 1.5 месяца необходимо отчитываться по каждому предмету, однако результаты этих опросов очень долго доходят до самих преподавателей, и уж точно никак нельзя о них узнать самим студентам, мало того, хоть нам и говорят что опрос "анонимный", методом исключения все равно распознают кто кому что поставил)


Предложила: Дергун Карина

FX граф app

Между банками или биржами могут существовать различные exchange rate между валютами. Так же не между всеми валютами есть прямое ребро для обмена. В дополнении между валютами могут встречаться циклы

Хотелось бы написать android приложение которое умеет хранить в себе информацию о разных банках и биржах и строить выгодные пути перевода и делать поиск циклов на таких данных.

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

Предложил: Доронин Олег

Плагин для управления плагинами проекта в Idea

Я понаставил себе кучу различных языковых плагинов для Idea: поддержка bash, python, ruby, scala, haskell и т.д. И всё бы ничего, но есть одна проблема - активировать и деактивировать плагины можно только глобально, что, по моему мнению, супер неудобно. Хотелось бы иметь плагин, позволяющий указывать, какие плагины активировать при создании нового проекта определенного типа и какие плагины я хочу видеть активными для уже существующего проекта.

NB: Есть объективные причины, по которым это не реализовано в Idea, но я все же хотел бы иметь такую штуку, пусть и работающую немного криво.

Технологии: Java 8

Предложил: Миша Чернявский

Movie manager

Я люблю смотреть фильмы и сериалы поэтому у меня собралась довольно большая коллекция. Там полная анархия и нужно её привести в нормальное состояние. Например, в папке с фильмом должны лежать его описание и постер, названия файлов должны быть осмысленными и т.д. Так же есть файлы, где плохой видеоряд и звуковая дорожка, их нужно заменить. Самому это делать лень, поэтому хочу прогу которая все это сделает. Еще фильмы хочется пересматривать, поэтому нужна нормальная навигация, чтобы подобрать фильм по настроению. Бывает, что в ожидании появления какого-нибудь фильма постоянно мониторю торрент трекеры. Это неудобно. Хочу автоматизировать, чтобы прога мониторила трекеры и уведомляла о появлении интересующих меня фильмов. Как-то так:)

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

Предложил: Вадим Клейман