Ко мне поступило предложение на модификацию HJavaScript от Joel Björnson. Вернее он посоветовал мне сделать форк, внести изменения, потом связаться с ним на предмет обновления библиотек на хакадже. Так как сам я ленивый, я ищу кого-нибудь, кто сделает всю работу за меня. Или хотя бы половину работы. Плачу няшками. Москвичу или гостю столицы могу подарить сертификат на прыжок с десантным парашютом с высоты 800 метров (или оплатить подобное мероприятие в Вашем регионе, если Ваш парашютный клуб принимает переводы от частных лиц).
Вводная информация:
Направление - веб разработка, html5 как универсальная платформа для разработки приложений.
Изюминка - а давайте будем вместо джава-скрипта использовать eDSL-ы на языке с такой-то типизацией!
Задача - добавить поддержку html5 canvas в HJScript.
Будут затронуты - HJavaScript и HJScript.
Возможное дальнейшее развитие - реализация поддержки html5 в HJScript, создание библиотек для построения графических пользовательских интерфейсов, создание графических библиотек для игрушек, бизнесовой графики и т.п.
Задачи и приоритеты:
HJScript - добавление поддержки Сanvas согласно стандартам (
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element) - приоритетно.
HJScript - добавление поддержки остальных объектов html5 - не приоритетно.
HJScript - максимально строгая типизация объектов html5 - если понимаем, что это совсем нахаляву - "не приоритетно", иначе - "на заметку" (т.е. не делаем, но дизайним либу так, чтобы потом это можно было добавить путём модификации кода либы максимально прозрачно для потребителей).
HJScript - дополнительное юзабилити (замена типов на соответствующие классы в существующих функциях) - не приоритетно и только после обсуждения этого вопроса с Джолем. Нужно понять, почему он сам этим не воспользовался, возможно в этом есть скрытый смысл, которого я не понимаю.
HJavaScript - решение функционала строго под нужды модификации HJScript (сорт оф хардкод) - приоритетно.
HJavaScript - исправление фактических ошибок в притти-принтере - приоритетно.
HJavaScript - минимальный редизайн для обеспечения возможности расширения функционала (тупо расширение списка экспортируемых функций) - не приоритетно.
HJavaScript - грамотный редизайн для обеспечения возможности расширения функционала (продумываем, что экспортируем, допускается редизайн самой библиотеки, чтобы не экспортировать совсем низкоуровневое говно, но предоставить возможности расширения) - не приоритетно.
HJavaScript - редизан в соответствии с новыми фишками Хаскиля (замена фундепов семествами классов и т.п.) + обеспечение дополнительного юзабилити - не приоритетно и только под платформу. Т.е. если требуются фишки, поддерживаемые в > 7.0.3 - либо ничего не делаем, либо ждем платформу.
HJavaScript - производительность (обеспечение возможности на bytestring, обеспечение возможности написания пользовательских рендерилок и т.п.) - на заметку.
Оценка затраты (очень приблизительно):
Разрабока - 60 часов
Коммуникации и организационные вопросы - 10 часов
Техническое обеспечение (учимся пользоваться системой контроля версий, wiki и т.п.) - 16 часов
Ресёч, контроль качества, тестирование, документирование, багфикс, релиз - 30 часов.
Итого: 58 часов в рыло, если делим поровну. Минимальные требования - выделять 10 часов в неделю. Таким образом, проект на полтора месяца. Дольше - тупо заебёт, я это знаю, поэтому так и рассчитываю. Если видим, что заябывает раньше, или не укладываемся в сроки - режем функционал. Всё что "не приоритетно" и ниже - можно вырезать без вреда для качества, тут такого процентов 90 как видите.
Требования:
- 10 часов в неделю, как уже писал.
- Минимальные знания хаскиля, включая тайплевел (да, будет говно на фундепах) и желание во всем этом разобраться бесплатно (т.е. если вы не планируете писать курсовую на Хаскеле, или устраиваться математиком в касперский-лабс, скорее всего вам это будет неинтересно).
- Понимание того, что лучшее - враг хорошего; что задачи делаются строго по приоритетам, даже если при реализации следующего шага всё равно придётся переписывать предыдущие; что процесс код-ревью существует даже в командах из двух разработчиков и даже в фан-проектах на анонимных досочках; что фиксирование статусов задач, трудозатрат и изменений - столь же увлекательный процесс, как и написание кода.
- Наличие email-а (фейкового или нет, мне пофиг) и гуглетолка (скайпами, аськами, жаберами и windows messengerами пользоваться не умею, хотя если готовы научить, можно обсудить).
- Прочтение этой
http://ru.wikipedia.org/wiki/Прокрастинация статьи из википедии и наличие ответа на вопрос "а нафиг мне это надо?" в рамках категории "важных и несрочных" дел. Мне этот ответ сообщать не обязательно, важно чтобы вы сами его знали.
Нестуденты, у которых в жопе играет детство и руки чешутся что-нибудь написать (т.е. чуваки вроде меня самого) тоже приветствуются. Требования те же.