Devdays fall 2013 — различия между версиями
Devdays (обсуждение | вклад) |
Vinni (обсуждение | вклад) (→Enhanced Snake) |
||
Строка 246: | Строка 246: | ||
Предложили: Артур Гулецкий, Вадим Ломшаков | Предложили: Артур Гулецкий, Вадим Ломшаков | ||
+ | |||
+ | [[Enhanced_Snake|Страница проекта]] | ||
== Online code browsing for Emacs == | == Online code browsing for Emacs == |
Версия 09:58, 11 ноября 2013
Содержание
- 1 Top projects
- 2 Темы проектов
- 2.1 День рождения каждый день
- 2.2 Отметка маршрута путешествия по фотографиям
- 2.3 Рисовач
- 2.4 Поможем метеорологам
- 2.5 Бот домашнего задания
- 2.6 Финансовый планировщик
- 2.7 VK data analyzer
- 2.8 Music visualizer
- 2.9 Планировщик времени
- 2.10 Magic 8 Ball
- 2.11 VK Messenger под Tizen
- 2.12 Синхронизатор музыки
- 2.13 Вычислитель по IP
- 2.14 DevDays
- 2.15 KeyBindings
- 2.16 TestAdmin
- 2.17 Теория 6 рукопожатий
- 2.18 Мозаика из кусочков изображений
- 2.19 Страничка для проживающих в общежитии
- 2.20 Вещь-в-себе
- 2.21 Карта с осью времени
- 2.22 Трассировщик лучей в четырёхмерном пространстве
- 2.23 Генератор задач по алгебраическим структурам
- 2.24 AUchievement
- 2.25 YAVKA (Yet another VK analyzer)
- 2.26 Ситкомизатор
- 2.27 Command Line IDE for C
- 2.28 Enhanced Snake
- 2.29 Online code browsing for Emacs
- 2.30 Shell rolling command line
- 2.31 Tournaments for Google Docs
- 2.32 SWAG music organizer
- 2.33 Сервис взаимопомощи и социального продвижения
- 2.34 Бот-читатель
- 2.35 Процедурная генерация средневекового города
Top projects
Рейтинг проектов на 08.11.2013
Темы проектов
Тут пишем идеи. Нумеруйте или подписывайте названия своих идей, чтобы было видно, где начинается новая идея.
Подсказочка: жмём вверхнем правом углу "представиться системе", после авторизации жмём вверху слева "править"
День рождения каждый день
Сайтик с использованием вк апи, на котором каждый вошедший может собрать себе людей в группы так, чтобы ходить по дням рождения с заданной периодичностью.
Технологии: Питон + VKApi.
Предложили: Никита Карташов, Марат Хабибуллин.
Отметка маршрута путешествия по фотографиям
Как говорилось раньше, андройд впиливает данные геолокации, когда делает фотки, потому есть идея запилить андройд-приложение для того, чтобы отображать эти фотки на гуглокартах, хвастаться этим друзьям и вообще. Дополнительная возможность: делать все то же самое без телефона, с сайтика напрямую.
Технологии: Питон (сайтик) + GoogleApi + Java (под android).
Предложили: Никита Карташов, Марат Хабибуллин.
Рисовач
Если у андройдофона есть датчики (аксилерометр, GPS и т.д.), то можно, в принципе, рисовать с его помощью картинки в воздухе. Предполагается сначала рисовать внутри телефона, потом уже загружать куда-нибудь или сразу рисовать удаленно, тут уж как получится.
Технологии: Java (под android) + какое-то апи для рисования.
Предложили: Никита Карташов, Марат Хабибуллин.
Поможем метеорологам
У большого количества современных телефонов есть датчики давления, влажности, температуры и.т.д., которые на данный момент используются в основном для того, чтобы показать всем остальным что у тебя есть датчик давления, влажности, температуры. Идея состоит в том, чтобы собирать показания с этих датчиков(давление и влажность, температуру бессмысленно) и их координаты, записывать их, после чего выдавать в виде синхронизированном с какими-нибудь яндекс-гугло-картами виде. Такая штука может, как мне кажется, помочь с предсказанием погоды, да и просто круто.)
Технологии: БД, Java (под android), может быть Питон и может быть что-то ещё)
Предложил Семён Атамась
Бот домашнего задания
Количество сообщений в наших группах рассылки растет и найти среди них домашку скоро будет NP-полной задачей. Предлагаю написать email-бота который по заданным правилам (адресату, ключевому слову "домашка", айпишнику в конце концов:) определяет тип домашней работы, скачивает это все куда-нибудь к себе на сервер в папочку и разумно переименовывает. Для пущего удобства можно запилить к нему веб-морду в которой будет список файлов сортированный по предметам или по дате. В качестве бонуса можно прикрутить небольшую статистику сообщений в группах: кто писал чаще всех, кто пишет днем, а кто ночью, у кого больше всего многоточий в сообщениях и т.д.
Технологии: я бы хотел на Haskell, но будем честны:) Так что Python, sqlite.
Предложил Обедин Николай
Финансовый планировщик
Есть крутая система финансового планирования, 4 конверта. Однако, единственное приложение, которое позволяет планировать по этой системе настолько перегружено и неудобно, что я прям не знаю что сказать. Надо сделать (насколько можно) упрощенную версию планировщика, которая к тому же должна работать нормально и на мобильных устройствах. Летом я уже немного начал писать прототип, но так и не закончил.
Технологии: Haskell на сервере, Backbone + Foundation на клиенте
Предложил Обедин Николай
VK data analyzer
Пожалуй многие видели у wolframalpha возможность сделать достаточно подробную статистику по вашему аккаунту в facebook посмотреть. Интересно сделать что-нибудь похожее для канташки. Вероятно лучше делать как веб-приложение, но можно и сделать обычное приложение.
Технологии: python+django+vkAPI и(или) еще что-нибудь. Для десктопа: qt+vkAPI.
Предложил Михайленко Дмитрий
Music visualizer
Есть интересная либа для разработки приложений под андроид и не только, называется kivy. Про нее в русскоязычном интернете как-то не густо.Так как там активно используется openGL, интересно было бы написать что-нубудь красивое, например, визуализатор музыки. Можно писать как плагин к какому-нибудь музыкальному плееру, или как отдельное приложение, как заставку и т. п. Посмотрите на сайте различные проектики, сделанные с использованием этой библиотеки, может еще какие-нибудь идеи появятся.
Технологии: python+kivy+androidSDK+androidNDK...
Предложил Михайленко Дмитрий
Планировщик времени
Приложение - экспертная система для грамотного планирования времени для учебы. Предполагается возможность распределения часов на каждый предмет или универсально или вручную, приложение должно быть обучаемым и самообучаемым, т.е. со временем оно само запомнить сколько времени ты тратишь на предмет. Если соединить его с "ботом домашнего задания" то оно само сможет определять какие домашки и к какому сроку надо выполнить и примерно распределять время на выполнения. Можно добавить различные стратегии и возможность выбора приоритетов итп. Неплохо было б если оно могло намекать, что ты уже засиделся в вконтакте и спать тебе сегодня меньше из за этого итп.
Технологии: в зависимости от приложения(Desktop/под мобильные устройства)
Предложила Устюжанина Екатерина
Magic 8 Ball
Многие, наверное, видели фильм трасса 60 и там был шарик отвечающий на вопросы. Такие приложения уже есть https://play.google.com/store/apps/details?id=com.game4minute.magicball3d , но хотелось бы его завязать на датчики, чтобы шар можно было как бы потрясти. Еще круто было бы соединить приложение с сообщениями, посылаемыми пользователем (это несложно сделать с помощью Content Providerов)Основная сложнасть придумать алгоритм который из смс пользователя составляет более менее разумное предложение, или подобрать несколько шаблонов в которые можно добавлять практические любые слова
Технологии: Java(под Android)
Предложила Устюжанина Екатерина
VK Messenger под Tizen
Ряд корпораций разрабатывают новую мобильную ОS на основе MeeGo. ОС имеет некоторые перспективы, т.к. планируется её использование в огромном количестве бытовой техники одной из компаний, участвующей в разработке. (Tizen) Предлагается написать под эту платформу приложение для обмена сообщениями в одной известной популярной социальной сети. Если получится за три дня сделать что-либо толковое, то можно попробовать поучаствовать в конкурсе, который сейчас проводится Samsung. Иначе можно получить опыта разработки под Tizen.
Технологии: C++ (native application) / JS + html5(web application), Tizen API, социальная сеть API.
Предложил Алексей Козятинский
Синхронизатор музыки
Проблема: Есть, например, два устройства - ПК и планшет. На том и на другом находится огромное количество папок с бесконечным числом любимой музыки. После добавления очередного музыкального хита на одно из устройств, возникает необходимость синхронизировать его с другим. Но когда слишком много накопилось новой музыки на одном из устройств, понять, чего же не хватает на другом, достаточно тяжело. Хочется, чтобы недостающие композиции сами перекидывались туда, где их нет.
Решение: Приложение, позволяющее по указанным исходной и целевой папкам на ПК и планшете, определять, каких композиций не хватает и, собственно, осуществлять синхронизацию. Предлагается реализовать приложение так, чтобы для обмена информацией использовалось соединение по WiFi между двумя устройствами (ПК расшаривает доступ, планшет коннектится и происходит магия).
Технологии: С++-python / andriodSDK-Java (под андроид)
Предложил: Новокрещенов Константин
Вычислитель по IP
Активно общаясь и дискутируя на жизненно важные и насущные проблемы нашего бытия (например, по Skype), у многих пользователей (чаще всего у молодых ребят) возникает острая необходимость определить местоположение своего собеседника, дабы встретиться с ним и преподнести свои аргументы в несколько иной форме. Так давайте поможем им! Существует множество сайтов, позволяющих определить координаты устройства по предоставленному IP адресу. Предлагается написать приложение (или плагин), собирающее информацию со всех этих сайтов о владельце IP адреса и предоставляющий её в удобной наглядной форме (можно как-нибудь подключить Google-карты). Скорее всего, создаваемое приложение должно также использовать SkypeAPI, поскольку с помощью некоторых уязвимостей последнего можно попытаться узнать IP собеседника. Вообщем, амбициозно, непонятно и тяжело.
Технологии: С++ / python
Предложил: Новокрещенов Константин
DevDays
Суть сделать DevDays, проходящий в АФТУ публичным. Создать веб-платформу с трекингом проектов, команд и их задач, разбирытые по этапам. Выполнение задач оцениваются экспертами. Усехи команды видны в глобальной рейтинговой таблице. В качестве фичи можно рассмотреть заморозку рейтинга на вечер последнего дня. Между следующими DevDays люди (может даже организации) смогут предложить свои задачи, а когда наступет сам DevDays команды смогут выбрать себе понравившиеся. Когда будут изветны результаты, то можно сделать интернет-трансляцию награждения победителей ценными призами.
Технологии: Django (желательно) + классический frontend.
Предложил: Великий Алексей
KeyBindings
У многих программ существуют шорткаты для каких-то действий (Ctrl+C, Ctrl+K-Ctrl+C-Shift-Shift). При этом доступное пространство на клавиатуре, даже с учетом модификаторов, весьма ограниченно. При этом существуют различные стандартные комбинации, переопределять которые стоит с опаской. Да еще и для разных платформ. Соответственно хочется написать приложение, которое позволит разработчику легко получать ответы на вопросы вроде
- А какие комбинации с Alt+* у нас еще не заняты?
- А нет ли у нас каких-нибудь конфликтов с Win/Mac/Xfce/Gnome/Unity/etc? (ну и прочими любителями глобально вешать на Alt+F1 что-нибудь ненужное)
- А что висит на этой комбинации клавиш у конкурентов?
- А на что висит у конкурентов <Cool Feature>?
- А смогут ли это нажать счастливые обладатели японских клавиатур с немецкой раскладкой?
Технологии: Как пойдет.
Предложил: Алексей Пивоваров
TestAdmin
https://github.com/contestant/test-admin
Предложил: Абеткин Виталий
Теория 6 рукопожатий
Написать небольшое приложение, которое принимает на вход 2 странички VK и строит цепочку друзей, через которых эти 2 человека связаны. Цепочка должна быть минимальной из всех возможных.
Технологии: Qt/C++, VK API
Предложил: Кирилл Лучихин
Мозаика из кусочков изображений
Предлагаю создать развлекательное приложение, в которое пользователь загружает фотографию. Затем загружает или выбирает еще несколько. Программа из квадратных кусочков выбранных изображений конструирует первую. Можно задать размер разбиения и другие параметры. Такие прораммы вроде бы есть, но не совсем уверен, что в таком виде. Лучше всего создать веб-приложение.
Технологии: C++ (или Python), OpenCV; (если веб-приложение, то не знаю)
Предложил: Комаров Александр
Страничка для проживающих в общежитии
Создать веб-страницу, на которой была бы изображена карта, а на ней общежитие, универ, пироговый дворик и т.д :) Пусть подсвечиваются кратчайшие маршруты, при наведении на объекты всплывали адреса, телефоны организаций. Т.е. вся справочная информация была бы в одном месте. Удобно иметь ссылочку на такую страницу, особенно для только поступивших.
Технологии: веб-технологии :)
Предложил: Комаров Александр
Вещь-в-себе
Я люблю игры, но сейчас мне не хватает на это времени. Но ведь зло не дремлет, и его надо наказывать. Давайте сделаем рогалик, который бы играл сам в себя. Генерация уровней и монстров приветствуется.
Технологии: любые
Предложил: Калакуцкий Аркадий.
Карта с осью времени
На всяких гугляндекс-картах мы можем увидеть наш мир таким, какой он есть сейчас (ну или примерно сейчас). Было бы здорово добавить возможность прокрутки по времени. Конечно, это большая задача. Можно просто научиться последовательно выводить события на карту, возможно с анимацией. Технологии: JS, php или Django.
Предложил: Калакуцкий Аркадий.
Трассировщик лучей в четырёхмерном пространстве
В Интернете есть куча примеров создания картинок трёхмерных сцен с помощью метода трассировки лучей (ray tracing) ([1]). Трэйсеры пишутся легко и быстро - посылается куча лучей из глаз наблюдателя и отслеживается их дальнейшая траектория по сцене. Собственно, сама суть кода - это отслеживание пересечений луча с объектом сцены и обработка физики - преломлений, отражений и др. методами линейной алгебры. Хочется попробовать расширить эти методы на четырёхмерное пространство.
Технологии: любые.
Предложил: Бубнов Никита.
Генератор задач по алгебраическим структурам
Написать генератор задач по алгебре(НЕ ОБЯЗАТЕЛЬНО КОРРЕКТНЫХ), проанализировать учебники, может быть построить грамматику или любым другим способом. Генерировать текстовые задачи в стиле: "Доказать что образ гомоморфизма изоморфен фактору прообраза по ядру"
Технологии: любые.
Предложил: Бубнов Никита.
hashtag: #генератор ЗЛА
AUchievement
Я тоже люблю игры, а еще я люблю получать ачивки в этих играх. Есть такая идея: нам выставляются оценки во вполне определенном формате. Можно запустить скрипт, который будет запускаться раз в час, например, и парсить файлы с оценками и выдавать студентам ачивки: "Графоман: сделал всю домашку по графам"; "Ботаник: сделал всю домашку по алгебраическим структурам"; "Супермен: сдал домашку первым"; "Лезвия ножа: вообще не сдал ни одной домашки" и прочее. Можно еще строить график успеваемости, считать средний балл (поможем кураторам) и так далее. Что-то похожее есть на Розалинде: http://rosalind.info/users/Doxxer/
Технологии: любые.
Предложил: Тураев Тимур
YAVKA (Yet another VK analyzer)
Наверное каждому пришла в голову идея что-нибудь проанализировать в канташке, собрать статистику: например кто сколько спит (собирать информацию об онлайне), как часто ты общаешься, в какие часы больше, в какие меньше. Есть идея написать что-то вроде системы, где каждая статистика будет вроде плагина, в функциональном стиле. Надо еще подумать.
Технологии: любые + VK API.
Предложил: Тураев Тимур
Ситкомизатор
Очень часто лекция после бессонной ночи кажется скучной и медленной и как было бы круто разнообразить ее заливистым смехом! Мы хотели бы сделать прогу для добавления звуковых эффектов к паре (смех, удивление, плач и т.д.) для андройдофонов, ибо это круто.
Технологии: Java (под android)
Предложили: Никита Карташов, Марат Хабибуллин.
Command Line IDE for C
Редакторы vim, emacs, sublime text,... используют регулярные выражения для навигации по коду(goto definition, goto declaration, ...). Качество их работы зачастую неудовлетворительно. Есть смутное подозрение, что понимая синтаксис написанного кода можно сделать лучше.
Предлагается проверить это предположение и написать утилиту для C используя clang API, которая строит базу для проекта с кодом и позволяет найти, к примеру, место, где была определена функция, поле структуры,...
Технологии: C (clang API) Предложил: Шабалин Александр.
Enhanced Snake
Идея сделать игру, гемплей такой же как у snake.
Features:
- игрок не видит поле целиком(например туман), а видит периодически
его фрагменты. Задача состоит в том, чтобы запоминать поле и исходя из этого принимать какие-либо решения(т.е + к ловкости пальцев добавляется тренировка памяти)
- versus mode сделать две змеи и у каждой есть индикатор голода, как только он достигает нуля она погибает.
Змеи могут друг друга есть помимо появляющейся еды, чтобы удовлетворять чувство голода. Цель - выжить в условиях плохой видимости.
Технологии: кресты + openGl
Предложили: Артур Гулецкий, Вадим Ломшаков
Online code browsing for Emacs
Часто ломает выкачивать репозиторий руками чтобы посмотреть код в Emacs. Хочется сделать plugin, который позволяет ходить по директориям/файлам репозиториев на github, bitbucket, как если бы это были файлы на локальной машине(autocomplete for filenames)
Предложил: Артур Гулецкий
Shell rolling command line
При написании консольных приложений иногда хочется интерфейс вида "строка ввода + скроллящееся окно вывода". Т.е. одновременно читать/писать stdin/stdout. Стандартной библиотеки для этого не загуглилось (ncurses выглядит несколько не тем, киньте в меня, если кто-то окажется более удачливым).
Технологии: shell++
Предложил: Алексей Пивоваров
Tournaments for Google Docs
Написать библиотеку скриптов для автоматизации проведения различных турниров.
Фичи:
- приём заявок через Google Forms
- автоматическая генерация турнирных сеток (для начала: Round Robin, Single Elimination, Double Elimination)
Технологии:
- Google Forms
- Google Spreadsheets
- Google Apps Script
Предложил: Сторожев Антон
SWAG music organizer
Есть замечательный сервис yandex.music, у которого есть мобильное приложение. У мобильного приложения в свою очередь есть очень удобная на мой взгляд фича: скачивание (кэширование) имеющейся в библиотеке музыки через интерфейс телефона.
К сожалению, музыкальная библиотека сервиса достаточно мала, и часто приходится качать музыку с известного треккера (морально-этическую сторону вопроса опустим). Для этого приходится включать комп, открывать страницу треккера, искать дискографию исполнителя, выбирать нужные треки/альбомы, качать музыку, заливать её на телефон. Это долго.
Предлагается разработать мобильное приложение, позволяющее организовать музыкальную коллекцию на телефоне и синхронизировать её с треккером, с возможностью быстрого и удобного скачивания отдельных треков, альбомов и дискографий целиком.
Предполагается использовать какую-нибудь открытую torrent-библиотеку. Может быть, можно прицепиться к какому нибудь существующему организатору музыкальной коллекции.
Платформа: android.
Предложил: Василий Кононенко
Сервис взаимопомощи и социального продвижения
Сервис, на котором можно разместить объявление, просьбу о помощи, интересное предложение. При этом пользователи сервиса могут перепостить это сообщение у себя в социальных сетях. За каждый перепост пользователи получают баллы. Чем больше у тебя баллов, тем ты добрее, и тем большее количество добрых людей захотят тебе помочь и перепостят твое сообщение. Также все пользователи, которых пользователь Х перепостил, получают уведомление с просьбой о перепосте, если пользователь х разместил свое бъявление на сервисе.
Дополнительно можно создать возможность размещения "платных" объявлений. Т.е. пользователь Х размещает "платное" объявление. Затем все желающие делают перепост. Теперь каждый, кто сделал перепост получает автоматически перепост своего сообщения от пользователя Х.
Предложил: Крыщенко Антон.
Бот-читатель
Не секрет, что переводчик гугла имеет возможность читать тексты вслух и делает это до крайности забавно. Потому для шутников с нашим интеллектуальным уровнем развития можно сделать приложение под андройд, читающее вам смски вслух.
Предложили: Никита Карташов, Марат Хабибуллин
Процедурная генерация средневекового города
Процедурная генерация - это весело, поэтому вместо того чтобы генерировать задачи по алгебре, давайте генерировать города. Современные города в том или ином виде уже делали (https://www.youtube.com/watch?v=-d2-PtK4F6Y) давайте сделаем готично-средневековый.
Технологии: берём какое-нибудь легковесное 3D и чтобы шло под любой системой - библиотека Three.js под webGL идеально подойдёт.
Предложил: Бубнов Никита.