Devdays fall 2013 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 247: Строка 247:
  
 
Предложил: Артур Гулецкий
 
Предложил: Артур Гулецкий
 +
 +
== Shell rolling command line ==
 +
При написании консольных приложений иногда хочется интерфейс вида "строка ввода + скроллящееся окно вывода". Т.е. одновременно читать/писать stdin/stdout.
 +
Стандартной библиотеки для этого не загуглилось (ncurses выглядит несколько не тем, киньте в меня, если кто-то окажется более удачливым).
 +
 +
Технологии: shell++
 +
 +
Предложил: Алексей Пивоваров

Версия 15:12, 8 ноября 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 собеседника. Вообщем, амбициозно, непонятно и тяжело.

Ip determine.jpeg

Технологии: С++ / 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++

Предложил: Алексей Пивоваров