Devdays2h2012 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Парсер теховских формул на хаскелле (или на скале))
(Разное)
 
(не показана 41 промежуточная версия 17 участников)
Строка 1: Строка 1:
== Идеи проектов ==
+
== Страницы проектов ==
  
* Андроид клиент для biletolovilka.ru
+
* [[Shepherd_Game| Игра "В погоне за овцой" под Android]]
* Сетевые шахматы на троих; бессмысленно и беспощадно.
+
* [[Project_Grothendieck|Project Grothendieck (Визуализатор алгебраических структур)]]
* Фреймворк для организации CTF-соревнований
+
* [[MorseKeyboard|Клавиатура Морзе]]
* Experimental project for http://www.chromeexperiments.com/
+
* [[Cheque recognizer 2.0|Распознавание чеков]]
* Just another extension for Chrome
+
* [[DontMissStop|Будильник "Не проспи остановку"]]
 +
* [[Машина_Тьюринга|Машина Тьюринга]]
 +
* [[SynchronizedPlayer]]
 +
* [[Билетоловилка]]
 +
* [[ScaLaTeX| ScaLaTeX]]
 +
* [[WhereIsMyMoney|Where is My Money]]
 +
* [[GooglePlay client for PC]]
 +
* [[Hear me please]]
  
=== Андроид клиент для biletolovilka.ru===
+
== Разное ==
Очень тяжело найти билет в питер в ночь с пятницы на субботу.
+
Однако билеты периодически возвращаются клиентами и очень хочется заменить кнопку F5 на cron-task.
+
Пройдя по ссылки уже становиться понятен юзкейс приложения, и было бы здорово, сделать андроид(multiplatform)
+
клиент с удобным UI'ем.
+
  
=== Мечта меломана ===
+
* [[audd12_ideas| Идеи проектов]]
Клиентская и серверная части.
+
* [[audday1_initial|Доска с начала мероприятия]]
 
+
* [[audday2_promises_and_status| Состояние проектов на 13.11.2012 утро]]
Сервер:
+
* [[audday2_reality| Состояние проектов на 13.11.2012 вечер]]
- Мониторит аккаунты на youtube, vk
+
* [[audday3_morning| Состояние проектов на 14.11.2012 утро]]
- При добавлении трека в аудиозаписи сама добавляет его в музыкальную
+
* [http://mit.spbau.ru/sewiki/images/b/bc/2H2012.tar.gz Формы для оценки проектов]
коллекцию со структурой по папочкам, скачивает обложку, приводит в
+
порядок все тэги автоматически. Использует, например, информацию о
+
длительности .
+
- При добавлении видео в избранное на youtube конвертирует его в mp3,
+
дальше всё аналогично.
+
- Синхронизируется со всеми устройствами. В домашней wifi сетке
+
автоматом синхронизируется со всеми android-девайсами по wifi. При
+
подключении MTP-девайса (плеер) автоматом синхронизируется с ним.
+
Можно в две стороны.
+
 
+
 
+
Клиенты: всякие мобильные платформы
+
Обеспечивают синхронизацию с базой на сервере при входе в зону
+
домашнего Wifi или вручную.
+
 
+
=== Python type checking ===
+
Предлагаю реализовать cli tool для проверки типов в Python проектах. Вдохновиться можно [[http://www.erlang.org/doc/man/dialyzer.html аналогичным]] инструментом из мира Erlang. Основная идея: в динамическом языке мы не можем вывести тип для '''любого''' выражения, но нас это устраивает! будем проверять типы только там, где их можно вывести. Таким образом, если уж наш инструмент найдет ошибку типов, то она всегда истиная. Как это делать? давайте типизируем __builtin__ и часть стандартной библиотеки, этого должно хватить, чтобы находить ошибки вида <code>map(1, 2)</code> или <code>os.path.exists([])</code>. Всё, что мы таким образом типизировать не можем считаем значением типа <code>object</code>. Примеры:
+
 
+
<pre>
+
# Assign a type signature to `os.path.exists`, it's a function, which takes a string and returns a boolean.
+
signature(os.path.exists, Function(str, bool))
+
 
+
# Now try to infer a type of the following expressions.
+
os.path.exists([])  # type: error, the input argument should be a string!
+
os.path.exists("/")  # type: bool
+
 
+
# Try the same for a function, with an unknown signature.
+
os.listdir("/")      # type: object, since we don't know the signature of `os.listdir`.
+
</pre>
+
 
+
Можно сразу ориентироваться на Python3 и использовать [[http://www.python.org/dev/peps/pep-3107/ function annotations]] в качестве источника информации о типах:
+
 
+
<pre>
+
def f(x : int) -> float:
+
    return float(x)
+
</pre>
+
 
+
P. S. Создатели dialyzer написали paper по мотивам своих изысканий: [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.699 Experience from Developing the Dialyzer: A Static Analysis Tool Detecting Defects in Erlang Applications]]
+
 
+
=== stream-lib revisited ===
+
Для Java [[https://github.com/clearspring/stream-lib есть]] замечательная библиотека, реализующая summary statistics для потоков данных. Было бы здорово реализовать что-то похожее на Python.
+
 
+
=== Клиент для Google Play ===
+
Есть только 2 способа пользоваться Google Play, с телефона, или из браузера, при этом если хочется получить apk файл на компьютер, то единственный способ это вытаскивать его с телефона.
+
Почему бы не написать кросс платформенный клиент с использованием Qt, который позволит качать файлы прямо на ПК(и можно добавить различные возможности). Притом что протокол довольно прост.
+
 
+
=== Экстеншен для идеи про обход массивов ===
+
Экстеншен для идеи, который видит, что двумерный массив обходится в "плохом" порядке (с потерей кэшей) и предлагает поправить.
+
 
+
=== Парсер теховских формул на хаскелле (или на скале) ===
+
Хочется взять теховскую формулу и получить по ней объект, который умеет ее исполнять.
+
 
+
-- Обычно идут другим путем, записывают формулу на каком-нибудь DSL, чтобы можно было её вычислить и сконвертировать в TeX. (С. Лебедев)
+

Текущая версия на 12:19, 15 ноября 2012

Страницы проектов

Разное