Devdays2h2012

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

Идеи проектов

  • Андроид клиент для biletolovilka.ru
  • Сетевые шахматы на троих; бессмысленно и беспощадно.
  • Фреймворк для организации CTF-соревнований
  • Experimental project for http://www.chromeexperiments.com/
  • Just another extension for Chrome

Андроид клиент для biletolovilka.ru

Очень тяжело найти билет в питер в ночь с пятницы на субботу. Однако билеты периодически возвращаются клиентами и очень хочется заменить кнопку F5 на cron-task. Пройдя по ссылки уже становиться понятен юзкейс приложения, и было бы здорово, сделать андроид(multiplatform) клиент с удобным UI'ем.

Мечта меломана

Клиентская и серверная части.

Сервер: - Мониторит аккаунты на youtube, vk - При добавлении трека в аудиозаписи сама добавляет его в музыкальную коллекцию со структурой по папочкам, скачивает обложку, приводит в порядок все тэги автоматически. Использует, например, информацию о длительности . - При добавлении видео в избранное на youtube конвертирует его в mp3, дальше всё аналогично. - Синхронизируется со всеми устройствами. В домашней wifi сетке автоматом синхронизируется со всеми android-девайсами по wifi. При подключении MTP-девайса (плеер) автоматом синхронизируется с ним. Можно в две стороны.


Клиенты: всякие мобильные платформы Обеспечивают синхронизацию с базой на сервере при входе в зону домашнего Wifi или вручную.

Python type checking

Предлагаю реализовать cli tool для проверки типов в Python проектах. Вдохновиться можно [аналогичным] инструментом из мира Erlang. Основная идея: давайте типизируем __builtin__ и часть стандартной библиотеки, этого должно хватить, чтобы находить ошибки вида map(1, 2) или os.path.exists([]). Всё, что мы таким образом типизировать не можем считаем значением типа object. Примеры:

# Type signatures for `os` module.
signature(os.path.exists, Function(str, bool))

os.path.exists([])   # type: error
os.path.exists("/")  # type: bool

os.listdir("/")      # type: object, since we don't know the type of `os.listdir`.

Можно сразу ориентироваться на Python3 и использовать [function annotations] в качестве источника информации о типах:

def f(x : int) -> float:
    return float(x) 

P. S. Создатели dialyzer написали paper по мотивам своих изысканий: [Experience from Developing the Dialyzer: A Static Analysis Tool Detecting Defects in Erlang Applications]

stream-lib revisited

Для Java [есть] замечательная библиотека, реализующая summary statistics для потоков данных. Было бы здорово реализовать что-то похожее на Python.

Клиент для Google Play

Есть только 2 способа пользоваться Google Play, с телефона, или из браузера, при этом если хочется получить apk файл на компьютер, то единственный способ это вытаскивать его с телефона. Почему бы не написать кросс платформенный клиент с использованием Qt, который позволит качать файлы прямо на ПК(и можно добавить различные возможности). Притом что протокол довольно прост.