Replies (107)
- @0xd34df00d:@vannadiz Я не понимаю, как работать в команде. Мне легче написать самому, чем объяснить.
- @vannadiz:@0xd34df00d ну потом и будешь писать сам. Есть манагер, он дает тебе таск, пишешь таск, делаешь коммит, берешь следующий таск
- @0xd34df00d:@vannadiz А мне щас нужно совместить манагера, программиста и архитекта. Придумать архитектуру, угадать, куда оно будет расти, сразу донести все это до всех, кто будет помогать пилить, и так далее. А мне легче взять, самому ковырнуть libpurple, подумать, ковырнуть iris, подумать, пописать, и так далее. Хотя очевидно, что при достаточно прокачанном скилле быстрее спланировать и раздать таски.
- @0xd34df00d:@azzz Блин, если у тебя есть IM, и есть плагины к IM, то как ни крутись, будет API плагинов IM <-> IM.from idead, 16 months ago, in reply to /12
- @0xd34df00d:@vannadiz А я хочу научиться же! Чтобы этот IM писал не только я, например. Благо, есть еще минимум двое, изъявляющих желание писать.from idead, 16 months ago, in reply to /13
- @vannadiz:@0xd34df00d тогда начти с нормального интерфейса у сайта. Мультиязычная мешанина раздражает неиллюзорно.from asylum, 16 months ago, in reply to /16
- @0xd34df00d:@vannadiz Окей, давай поиграем тут втроем с jtootf'ом в ролевые игры. Я — я, а вы внезапно упоролись и решили помочь личкрафтам. При этом ты, Ваннадиз, взяла на себя протокольный плагин поверх libpurple, Пауль взял iris из Psi, а еще кто-нибудь, ммм, пилит GUI всего этого в личкрафтах. Твои/мои/етц действия?from idead, 16 months ago, in reply to /18
- @0xd34df00d:@Amberize Я бы с радостью потыкался и понабирался опыта, ибо hacking is fun, даже когда hacking == обучение построению отношений с людьми. Но вот ресурсов нет, а этот IM хотелось бы иметь вменяемым не через 5 лет.from idead, 16 months ago, in reply to /21
- @vannadiz:@0xd34df00d 1) Написать нормальный ман на русском языке. Потому что у меня нет желания читать ненативный английский. 2) Выдать команде конкретные задачи, а не "напиши то, что знаю что, но чтобы свистело". Всегда нужна конкретика.from asylum, 16 months ago, in reply to /20
- @0xd34df00d:@vannadiz Это последствия Саксы и ее требования к переводам. Я упорюсь переводить странички для девелоперов на русский. Пользовательские страницы все такие, какие должны быть.from idead, 16 months ago, in reply to /19
- @vannadiz:@0xd34df00d сейчас оно выглядит как говно. Как говорится, ты или крестик сними, или трусы надень.from asylum, 16 months ago, in reply to /24
- @jtootf:@0xd34df00d собрать всех вместе, и объяснить архитектуру так, чтобы её хорошо представляли все. ты — выдаёшь мне интерфейс взаимодействия с ядром и (если есть необходимость) с ведомыми плагинами. можешь выдать детальное ТЗ, или объяснить на словах что надо (поначалу пойдёт, формализовать можно и позже). обязательно регулярно выходить на связь, обязательные комментарии к коммитамfrom galois, 16 months ago, in reply to /20
- @0xd34df00d:@vannadiz 1. А кто переводить будет? У меня нет сил на переводы/синхронизацию между собой N документов, правда. Я лучше выпилю локализации.
2. С этим тоже проблема. Необходимость выдачи конкретных задач тянет за собой некое исследование предметной области, и сам не замечаешь, как начинаешь думать «давать задание? Формулировать то, что мне быстрее вот щас написать? Да ну в жопу»from idead, 16 months ago, in reply to /23 - @0xd34df00d:@jtootf Нету этого интерфейса еще. И не будет, пока приложение не будет готово. Читай предпоследний абзац и /29, почему мне нереально проводить исследования предметной области.from idead, 16 months ago, in reply to /27
- @0xd34df00d:Ненуачо, правда, никак по-другому, кроме как сначала все спроектировать, сдерживать себя и не бросаться писать код после прочтения первой строчки манов по тому же перплу?from idead, 16 months ago
- @jtootf:@0xd34df00d у тебя API ядра зависит от имеющихся плагинов?from galois, 16 months ago, in reply to /30
- @0xd34df00d:@jtootf Вообще никак, но он допиливается, когда при разработке какого-то плагина возникает такая необходимость. Хотя, количество таких допилов этак экспоненциально стремится к нулю с ростом времени от начала разработки.from idead, 16 months ago, in reply to /32
- @jtootf:@0xd34df00d ну вот и славненько. делаешь фриз API ядра и выдаёшь его мне (и всем остальным разработчикам плагинов). при любых изменениях в API делаешь экстренную рассылку первой степени важности. и возвращаемся к модели, которую я написал предыдущим комментомfrom galois, 16 months ago, in reply to /33
- @vannadiz:@0xd34df00d 1) Я беру первую поправшуюся строчку.
CMake variables a set with -D command line switch.
Что ты этим хотел сказать?
что их можно установить с помощью -D command ? Тогда там будет are set.
Или они сами являются множеством, тогда нифига не понятно, что ты хотел сказать вообще. И подобного там слишком много.
Лучше писать на хорошем русском, чем на плохом английском. Желание читать последний вариант у меня нет. 2) просто попробуй.from asylum, 16 months ago, in reply to /29 - @0xd34df00d:Просто вот типичный проблемный сценарий.
Два типа протоколов. Один позволяет чятики только 1-1, как асечка, а другой еще и multiuser conferences умеет, как XMPP. Ядро, которое ядро мессенджера, вообще ничего не знает ни о чатах, ни о muc. Оно грузит протокольные плагины и позволяет им соединиться с сервером, а потом отдает данные в личкрафт. Поэтому мне уже сейчас, получается, надо продумать такое API протокольных плагинов и API ядро IM <-> LC, чтобы учесть и muc, и обычные чаты. А послезавтра чтобы и SIP вписался.
Сегодня я не физически не могу представить такой API. Он рождается по мере разработки. Это похоже на некую систему уравнений. Добавляется еще одно — срезается часть решений, чуток меняется другое — вид общего решения меняется кардинально.from idead, 16 months ago - @0xd34df00d:@vannadiz Я иногда опечатываюсь, факт. Олсо, спасибо, щас пойду поправлю. Это где?
С доками тоже проблема, мне код писать интереснее. Поэтому я пишу доки в таком упоротом состоянии, когда на код уже сил не хватает. Со всеми вытекающими.
Олсо, русский еще хуже.from idead, 16 months ago, in reply to /35 - @vannadiz:@0xd34df00d как вариант просто поработать самому в команде в качестве рядового программера. Тогда и поймешь как делается распределение тасков.from asylum, 16 months ago, in reply to /36
- @jtootf:@0xd34df00d да, архитектура должна быть гибкой. да, надо заранее подумать о возможностях, которые ты хочешь видеть в версии 1.0 и версиях 1+ (если нет желания после 1.0 переписать всё к чёртовой матери). да, такой API можно родить на этапе проектирования. если у тебя всё время всё меняется кардинально, значит ты где-то серьёзно ошибсяfrom galois, 16 months ago, in reply to /36
- @vannadiz:@0xd34df00d там где написание плагина, в описании путей. Да подобного там много вообще. >Олсо, русский еще хуже. Ты либо недооцениваешь свой русский, либо переоцениваешь свой английский. А насчет манов — прекрасно понимаю, сама ненавижу их делать.from asylum, 16 months ago, in reply to /37
- @0xd34df00d:@vannadiz Спроси у Саксы, как уродливо выглядели мои жалкие попытки писать подобные доки на русском. Она тебе живо их опишет )from idead, 16 months ago, in reply to /40
- @0xd34df00d:@vannadiz Блин, сомневаюсь, что кто-то из команды кутима работал программером. А ничо, чего-то вон делают. Перепиливают, правда, к каждому следующему релизу, но это мелочи.from idead, 16 months ago, in reply to /38
- @vannadiz:@0xd34df00d сейчас они выглядят не менее уродливо, просто так как они на английском, их сложнее оценить.from asylum, 16 months ago, in reply to /41
- @vannadiz:@0xd34df00d ну у меня еще до работы коммерческим программером был опыт с командой. Главное, нормально формулировать таски.from asylum, 16 months ago, in reply to /42
- @jtootf:@0xd34df00d ты книжку Коплиена о проектировании на C++ читал, кстати?from galois, 16 months ago, in reply to /42
- @0xd34df00d:@jtootf Как раз в том и прикол — после некой стадии начальных метаний не меняется. Самые базовые интерфейсы не менялись уже годик-два. Разве что, пару функций туда впилил, типа получения списка действий для контекстного меню.
На днях посидел, подумал — в рамках текущей архитектуры выпиливание интерфейса в отдельный плагин и делание ядра вообще независимым от GUI вполне возможно. Учитывая, что я это не закладыал, да и опыта дизайна систем перед личкрафтом у меня нет, ИМХО, не очень плохо )
Просто кто-то мечется на листе бумаги/белой доске с маркером, а мне как-то приятнее/удобнее/етц сесть и начать писать этот самый код. Я верю в силу такой методики, что закладываешь некую базу, которая тебе кажется разумной, по возможности чуток глядя в будущее, а потом с течением времени допиливаешь ее по мере возникающих задач. Пока этот подход меня особо не подводил.from idead, 16 months ago, in reply to /39 - @0xd34df00d:@vannadiz По крайней мере, так я практикую скилл английского и не теряю потенциальную английскую аудиторию. Мы тут недавно с одним чуваком совместно пришли к выводу, что в ex-USSR весьма трудно найти контрибьюторов этих пресловутых, например.from idead, 16 months ago, in reply to /43
- @0xd34df00d:@jtootf Ох, боюсь, что нет. Попробую нагуглить и осилить, спасибо.from idead, 16 months ago, in reply to /45
- @jtootf:@0xd34df00d ну я таки совсем перестал понимать, в чём у тебя проблемаfrom galois, 16 months ago, in reply to /46
- @vannadiz:@0xd34df00d бтв, если тебе хочется людей в команду, начни с простых заданий. Например, написать коротенький парсер, который не будет дергать никакого твоего специфического апи. При этом ты указываешь что есть на входе, что есть на выходе. Потом, если тебе важно качество кода, постепенно оцениваешь человека и даешь таски сложнее и понемногу втягиваешь в основной процесс. Как-то так.from asylum, 16 months ago, in reply to /46
- @0xd34df00d:@jtootf В эту методику слабо вписываются другие люди, по крайней мере, на начальном участке разработки. Ну, по крайней мере, до тех пор, пока не изобретут телепатические интерфейсы.from idead, 16 months ago, in reply to /49
- @jtootf:@0xd34df00d в чём проблема собраться и обсудить архитектуру?from galois, 16 months ago, in reply to /52
- @jtootf:@0xd34df00d сколько ты уже личкрафты пишешь? четыре года? начальный этап разработки? :)from galois, 16 months ago, in reply to /52
- @0xd34df00d:@vannadiz Ваннадиз, блджад, где найти людей, для которых коротенький парсер == простенький таск? Ненуправда. Я тут пытался с одним человеком замутить пейтоны в личкрафтах, так все кончилось тем, что я ему давал пример, как надо грепать чужие сорсы. Чужие == пейтоновые.from idead, 16 months ago, in reply to /50
- @0xd34df00d:@jtootf Начальный этап разработки IM. Это весьма замкнутая экосистема со своими плагинами и прочим ) С личкрафтом ее будет объединять только главное окно.from idead, 16 months ago, in reply to /54
- @vannadiz:@0xd34df00d ты практикуешь скилл английского, но в чем виноваты люди, которые это читают? Да и русскую аудиторию ты этим явно теряешь. Нэйтив-спикерам, сомневаюсь, что тоже приятно читать коверкания языка. Хочешь англ. аудиторию — ищи в команду переводчика.from asylum, 16 months ago, in reply to /47
- @vannadiz:@0xd34df00d Воспро был в том, как работать в команде. А не как найти хорошую команду.from asylum, 16 months ago, in reply to /55
- @jtootf:@0xd34df00d ну вот на начальном этапе разработка должна вестись сообща. собрались, обсудили, приняли архитектурные решения. не ты, а все вместе — даже если все идеи там твои. когда ядро IM-модуля сколько-нибудь сформируется и можно будет сделать фриз API — все расходятся по своим подзадачам и, опять же, возвращаемся к тому же алгоритмуfrom galois, 16 months ago, in reply to /56
- @0xd34df00d:@jtootf Потому что вообще еще никто ничего не тыкал, не знает и не знает как устроено. Поэтому всем нужно провести этот ресерч.
В любом случае, я щас загружен этой вашей учебой аки хз что, ололо Хеган (он согласился писать )) тоже загружен, а в четверг вроде разгрузимся )from idead, 16 months ago, in reply to /53 - @0xd34df00d:@jtootf Японел, как формулировать. Мне нужно видеть всю картину целиком на каждом этапе, в каждый момент. Когда кто-то другой ее модифицирует, то это уже труднее )from idead, 16 months ago, in reply to /59
- @0xd34df00d:@vannadiz Легче на следующий день вычитать доки и проверить их, похоже. Чем переводчиков-то.from idead, 16 months ago, in reply to /57
- @jtootf:@0xd34df00d нет, не должен. ты должен видеть архитектуру (зависимость интерфейсов и контрактов, грубо говоря), но можешь не иметь никакого представления о реализацииfrom galois, 16 months ago, in reply to /61
- @jtootf:@0xd34df00d а вот так просто и внезапно модифицировать архитектуру кто-то другой не должен. зачем?from galois, 16 months ago, in reply to /61
- @vannadiz:@0xd34df00d ok. Тогда первый вопрос можно считать закрытым. Ответа на 2й вопрос лично я не знаю. Разве что самому приглашать в команду заведомо хороших программеров.from asylum, 16 months ago, in reply to /62
- @vannadiz:@0xd34df00d ты не нэйтив спикер, ты не профессиональный переводчик. Ты просто не увидишь свои косяки.from asylum, 16 months ago, in reply to /63
- @0xd34df00d:@jtootf Учитывая, что в данной конкретной ситуации кроме меня архитектуру все равно особо никто не творит, похоже, придется просто самому просмотреть все, набросать что-то, набросать API и раздать таски тупо на реализацию.from idead, 16 months ago, in reply to /64
- @0xd34df00d:@vannadiz Большинство ошибок по тупости (как с тем a/are set). На следующий день и трезвую голову выявляется.from idead, 16 months ago, in reply to /67
- @0xd34df00d:@vannadiz Есть ощущение, что хорошие программеры знают себе цену и нахаляву не пойдут. По крайней мере, аж 2-3 прогера знакомых, которых я явно просил, не пошли )from idead, 16 months ago, in reply to /66
- @vannadiz:@0xd34df00d In this tutorial we will write a simple plugin (called Auscrie for "Auto Screenshooter") for LeechCraft illustrating basic concepts В самом начале чисто русское построение фразы с причастным оборотом, например.from asylum, 16 months ago, in reply to /69
- @jtootf:@0xd34df00d скажи, чем проблемна модель, которую я тебе выше предложил? почему у тебя только две крайности — либо держать всё в голове, либо раздавать всем конкретные таски тупо на реализацию?from galois, 16 months ago, in reply to /68
- @vannadiz:@0xd34df00d так заинтересовать же надо. Я вот щаз хочу присоединиться к разработке однойбиблиотечки на схеме. на халяву. просто потому, что мне интересноfrom asylum, 16 months ago, in reply to /70
- @0xd34df00d:@jtootf Потому что больше никто не высказывает предложений при архитектуре => ее обсуждения в данном конкретном случае можно это, optimize out.from idead, 16 months ago, in reply to /72
- @0xd34df00d:@jtootf Почему? Уже было одно обсуждение, никто особо не протестовал. Еще парочка будет, а там посмотрим.from idead, 16 months ago, in reply to /77
- @vannadiz:@0xd34df00d хороший вопрос. 1) Начни с сайта. 2) Сделай небольшой, но хороший и допиленный проект, а не как щаз -огромный функционал, который работает кое-как.from asylum, 16 months ago, in reply to /76
- @jtootf:@0xd34df00d хотя бы по причине, которую ты сам озвучил. у тебя нет фиксированного API для разрабатываемого модуля. чтобы иметь возможность адаптироваться к его изменениям, разработчики должны иметь представление о том, как (и почему) он развиваетсяfrom galois, 16 months ago, in reply to /78
- @0xd34df00d:@vannadiz Ох, если б я умел первое. Но уже есть подвижки. Сайт такое говно, потому что им никто не занимается, а никто не занимается потому, что хостер не дает нормальный доступ и похапе, а люди, готовые заниматься, только похапе юзают. Ничо, щас на своей домашней машине поднял lxc, nginx, инициировал перенос домена на свой акк, через пять дней он будет моим ^^from idead, 16 months ago, in reply to /79
- @vannadiz:@0xd34df00d я имела ввиду фигню с языками. А так сложный движок тебе нафиг не нужен, пойдут даже несколько статических страничек, + бложик с новостями, например.from asylum, 16 months ago, in reply to /81
- @0xd34df00d:@azzz С хостером вообще отдельная история. Хощусь у знакомого за два бакса в месяц, после мастерхоста поначалу было ок, ибо ололо сервис и все такое. А потом все скатилось в сраное говно.from idead, 16 months ago, in reply to /85
- @vannadiz:@0xd34df00d если тебе нужен хостинг с похапэ — так тысячи их бесплатных же. Нопремер, 000webhost.comfrom asylum, 16 months ago, in reply to /88
- @vannadiz:@0xd34df00d тогда вот тебе пример работы в команде. Берешь энтузиаста, говоришь ему найти хостинг, даешь требования. Если энтузиаст сам по себе сообразительный — даешь ему задание перенести сайт на новый хост. если совсем сообразительный, то и дописать что надо. профит.from asylum, 16 months ago, in reply to /90
- @0xd34df00d:@vannadiz Чуть легче. Я даю ему ssh до системы в контейнере и рута там и предоставляю полную свободу действий. Ок же? )from idead, 16 months ago, in reply to /91
- @vannadiz:@0xd34df00d не совсем. нужны конкретные таски. Что нужно сделать и что нужно переделать.from asylum, 16 months ago, in reply to /92
- @0xd34df00d:@vannadiz Эээ. Конкретный таск на этом уровне — сделать привлекательный сайт. Так как я, очевидно, не знаю, что такое привлекательный сайт, то более детализированный таск дать не могу. Ну, вернее, я накидал уже чуваку, чо от сайта надо, а что и как он сделает — ему виднее. Для меня это детали реализации )from idead, 16 months ago, in reply to /93
- @vannadiz:@0xd34df00d вот с таким подходом обычно получается говно.from asylum, 16 months ago, in reply to /97
- @0xd34df00d:@vannadiz А как? Нет, ну правда. Я правда не знаю, как оно все должно выглядеть. Мне от сайта нужно то-то то-то то-то, при этом первое то-то и второе то-то должны уметь это-то вместе. А структура/внешний вид/концепция работы с пользователем — ну что делать, если я не секу? )from idead, 16 months ago, in reply to /98
- @0xd34df00d:@jtootf Кстате, для меня стало приятным сюрпризом, когда плагины на других языках заработали и подхватили(сь) нативными(ые).from idead, 16 months ago, in reply to /100
- @vannadiz:@0xd34df00d "We also should now add the following" не, ну это реально ужасноfrom asylum, 16 months ago, in reply to /97
- @0xd34df00d:@vannadiz [00:10:00] <Voker57> о! вы мне напомнили. мне тут показали как спеки правильно писать
[00:10:25] <Voker57> Сценарий: Создание, управление, и удаление пользователя из модераторов
Если я следую по ссылке "Управление модераторами"
И нажимаю "Назначить модератором"
То я должен увидеть "Пользователь с такой информацией не зарегистрирован"
Если я в поле "login" пишу "bad_user_1@gmail.com"
И в поле "password" пишу "secret"
И в поле "phone" пишу "8-987-654-32-11"
К тому же нажимаю "Назначить модератором"
То я должен видить "Новый модератор был добавлен в систему"
И я должен видить "bad_user_1@gmail.com"
[00:10:56] <Voker57> а вот мое любимое
[00:11:00] <Voker57> Функционал: изменение пароля
Пользователь, если он человек, может забыть свой пароль.
Любой пользователь
Должен иметь возможность изменить свой пароль.from idead, 16 months ago, in reply to /98 - @0xd34df00d:@vannadiz Спеки же. Позабавило. И более-менее в тему )from idead, 16 months ago, in reply to /108
- @vannadiz:@0xd34df00d хорошие спеки отчасти похожи на приведенное. И считай их счастьем.from asylum, 16 months ago, in reply to /109
- @vannadiz:@vannadiz чаще всего же бывает так. тебе говорят — а напишите нам приложение, которое по xml рисует на экранчике красивые компоненты. Ты спрашиваешь спеки. тебе говорят — ой да не важно, лишь бы работало и было красиво. Ты пишешь, чтобы работало и было красиво, сдаешь в срок, но заказчику не нравится дизайн(на который ему было пофиг). ты переделываешь дизайн, а потом заказчику приходит в голову поменять xml. Ты переписываешь под новый. Потом заказчик решает прикрутить пару бантиков. Ты прикручиваешь. Потом заказчик говорит, что такой функционал его не устроивает, он хочет немного другое. ИТД. А потом оказывается, что ты завалил все сроки. выдал плохое приложение и заказчик отказывается платить конторе.from asylum, 16 months ago, in reply to /110
- @0xd34df00d:@azcapone Что? В соседнем окне ответь мне блджад.from idead, 16 months ago, in reply to /113
- @0xd34df00d:@azcapone s/аська/протокол_не_поддерживающий_многочатики/from idead, 16 months ago, in reply to /115