> В худшем случае тратим час с перекурами.
Итого часа два-три на смену дизайна и час на добавление новой циферьки. А если таких «циферок» две появится? Три? десять? :)
Очень часто за фразой «а добавьте-ка такую-то фишку, я вижу, что это несложно» кроется некислая работа по добавлению этой фишки.
Но самое обидное не это :) Самое обидное после аврального штурма фишки услышать «а не, как раньше было лучше, возвращайте».
Спасение от такого — предварительное составление детального ТЗ. Но иногда ТЗ — это пушкой по воробьям, потому что проектик вроде небольшой, по работе баксов на 200-300 и на неделю максимум (буквально сайт-визитница), но перед самой сдачей начинаются «капризы-пожелашки» клиента :(.
В статье чётко разделены понятия «дизайн» и «интерфейс». Если надо поменять только дизайн, то да, всё быстро и практически безболезненно. Дизайн — это скин, по сути (skin).
А если на картинке с новым дизайном вдруг появилась маленькая циферька «количество непрочитанных сообщений», то это уже смена интерфейса. Ибо для арт-менеджера это «всего лишь одна цифра. Что там стоит её добавить в дизайн профессионалу?». А для этого профессионала новая цифра — это геморрой по составлению нового SQL-запроса, по вызову этого запроса и по отдаче результата Viewer'у. Хорошо, если SQL-запрос простенький… а если агрегирующий по нескольким таблицам?
Стоимость этих «циферок» (в часах в том числе) знают только программеры, но не арт-менеджеры :)
> Собственно, я сам и зафайлил эту проблему
О как! Приятно пообщаться «вживую» (интерактивно), а не по-английки через комменты :)
Спасибо за багрепорт.
> А под cygwin 1.7 он уже собирается (в cygwin`овских анонсах нет)? Когда я последний раз проверял в июне — не получалось. Впрочем, я забросил попытки как раз из-за переходного статуса самого Cygwin: там была кривизна с библиотеками, в частности, с s-lang.
Гм… в свете сказанного: можно ли закрыть тикет как 'wontfix'? Вроде проблема и не наша… я уже думал сделать --enable-ipv6, но лень было да и не хотелось лишние #ifdef...#endif плодить. :)
> Приоритеты предыдущей команды, насколько я понял: суперстабильность и суперпортируемость (с последним у текущего mc плоховато — слишком большие были изменения).
Плоховато или неизвестно? :)
Я знаю одну проблему: текущий mc не соберётся в текущем стабильном Cygwin из-за того, что в mc была добавлена поддержка IPv6 а в стабилном Цигвине её нет. Но и это решаемо в ближайшее время: mail.gnome.org/archives/mc-devel/2009-November/msg00048.html
На FreeBSD текущий мастер собирается, на [Open]Solaris тоже собирается (по мотивам https://www.midnight-commander.org/ticket/1749). Под Линукс — само собой.
Кто-то из нас вроде пробовал не так давно на OpenBSD собирать… или это была NetBSD? Не помню :)
За кадром AIX, HP/UX и т.д. Они «за кадром» не потому, что мы отказываетмся от их поддержки — были бы патчи :)
Простите, прочитал как «Какие предыдущие приоритеты команды были». :( Вот уж точно: каждый видит то, что хочет видеть. Приоритеты предыдущей команды описаны в TODO, линк на него есть в предыдущем посту.
> Я процитирую TODO от Роскина
Да чего его цитировать? Вот оно: https://www.midnight-commander.org/browser/doc/TODO
> и поглядим какие ошибки исправлены в текущем проекте?
https://www.midnight-commander.org/query?status=closed&group=priority&order=priority&col=id&col=summary&col=type&col=priority&col=milestone&col=component&resolution=fixed
> И озвучьте плиз, раз уж влезли с защитой, нынешние приоритеты разработки?
— Стабилизация кода.
— Модульность. Как следствие плагины.
— Пересмотр и переделка VFS
— Большее использование glib-функций. Как следствие избавление от собственного дублирующегося кода => уменьшение размера исполняемого файла и упрощение сопровождения. Примеры: ской код по работе с ini-файлами (взятый когда-то с проекта wine) заменён вызовами соответствующих функций. Точно также с своими popt-функциями
> Мне показалось что Цеков был против.
Цеков был не против. Цекову было всё равно :(.
> Кроме Цекова есть Павел Роскин, есть Андрей Самойлов, есть другие разработчики.
Есть ещё список рассылки (mc-dev@gnome.org) в котором были дебаты. Пусть хоть из предыдущих разработчиков отпишется. Nobody cares :(.Вы один из предыдущих, и это замечательно :)
> Я тем, как изменилось все, был неприятно удивлен. Андрей тоже самое.
Знаете, я всегда говорил: «лучше просить прощения, чем разрешения».
Руководствуясь этим, хочу попросить у вас прощения за то, что было сделано. Это не подколка, нет никакого смысла между строк. Я, Занько Вячеслав, заваривший всю эту кашу, прошу у вас, бывших разработчиков прощения за свои действия. Заодно спрошу: согласны ли вы с тем, что мы используем имя Midnight Commander? Не подумайте — к имени не цепляемся. Более того — всем действующим разработчикам всё равно. Если Вы откажете — мы станем mc+ (Midnight Commander Plus) — и всего лишь.
> Почему Цеков был против патчей? Он всегда обосновывал свою позицию — патчи были не лучшего качества. Потому как mc — кроссплатформенная вещь. А в данный момент я не знаю как ваш mc работает на всяких проприетарных unix-ах на которые в том числе работал Цеков.
Честно говоря. не знаю тоже — нет абсолютно никаких вестей с этого фронта. То ли всё замечательно, то ли nobody cares. Ну и насчёт «против патчей»: можно годами шлифовать патчи в багтрекалке, но я предпочитаю пускать патчи «в оборот» для «обкатки». Этим самым снижается качество (неизбежно), но повышается скорость эволюции проекта.
> Что мешает. Мешает пионерия. Когда я смотрел на патчи, которые вы вносили (сейчас не буду говорить — не слежу) в mc я заметил одну тенденцию: «Убираем код, который непонятен. Убираем предупреждения об ошибках, не устраняя эти ошибки».
Да всякое бывало. В том числе и это.
> Например та же борьба с зависшим subshell-ом. В свое время Цеков предпринял целое исследование — как проблему с subshell порешать на всех платформах разом. И там не было прямого пути.
Вся эта борьба из-за раздельного промпта при включенных панелях и при выключенных. У меня есть мысля… пока смутная, но со светом в конце туннеля. Можно сделать единый промпт для панелей и сабшелла (для разных терминалов и для разных шеллов). Пока мыслю думаю :)
> Был еще проект на базе ветки 4.6 который тоже кто то русский пионерски патчил.
Этим пионером был я :)
> Кто вам мешал сделать ветку? ;)
Была ветка. Русский форк. Пионерия. как Вы выразились… я и не спорю — да было много смешного и нелепого, потому что были первые шаги. Но даже на такой проект народ налетел, как на пончики в базарный день. Знали бы вы, СКОЛЬКО было просто изголодавшихся и истосковавшихся по mc… сколько народу хотело есго дальнейшего развития, а не просмотра патчей годами (не примите как подколку… но тк и было :( ). При этом народ был не только русский — со всех концов света. Багтрекалка руфорка была русская (я планировал сделать национальный форк — типа междусобойчика). Но всё больше и больше появлялось тикетов с просьбами вести багтрекалку на английском… а также всё больше просьб вести разработку с именем Midnight Commander, а не как очередной форк.
> Ок. Даже если Мигуэль дал вам права — Цекова зачем было устранять и остальных? ;)
Да никто никого не устранял. :) «Невиноватые мы, он сам ушёл».
> Сосуществовали бы вместе. Что мешало?
Отсутствие интереса к существованию проекта у старой команды. Ничего личного. Констатация факта.
Нельзя перебазировать ветку, которая объявлена как «стабильная» относительно мастера.
Стабильная ветка не содержит патчей с добавлениями фишек — только патчи с багфиксингом.
Развитие проекта продолжается в мастере, а в стабильную ветку периодически перетаскиваются стабилизирующие коммиты. В этом случае для переноса таких патчей с мастера нельзя в ветке сделать так:
git rebase origin/master
Потому что будут внесены все патчи! Для «точечного» внесения нужжно использовать 'git cherry-pick' или вручную вдумчиво переносить, если изменения между мастером и стабильной веткой стали большими.
Именно такая ситуация и имеется ввиду. И предупреждение об этом :)
Почему бы и нет? В игровой форме ознакомление с законодательством. Если бы правоведение преподавали бы ещё школе чуть ли не с младших классов, то порядка вокруг было бы значительно больше.
ИМХО, сам факт, что они ответили, говорит об отношении к клиентам. Да, ответили через шесть лет, что уже улыбает, но ответили же :) Нашли застарелое(затерявшееся?) письмо и не побоялись выглядеть смешно. Сервис, однако.
Лично я после этого Red Hat ещё больше зауважал :)
То есть, символы обозначающие направление сортировки: по возрастанию (sort-sign-up) или по убыванию (sort-sign-down). Сейчас это апостроф и запятая, но кто угодно может поменять на utf-8 символы… например, на ↑ и ↓… или на ⇑ и ⇓ (кому как нравится).
Предугадываю вопрос «а почему сразу нельзя стрелки внести»: потому что не во всех операционках и не у всех людей используется кодировка utf-8.
Новые параметры добавлены в репозиторий (кто может — собирайте с репозитория или используйтеночные сборки), либо в 4.7.0-pre4.
Скины — это не только цвета. Сейчас это ещё и тип линий (одинарные, двойные или любые UTF-8 — лишь бы фонт был соответствующий). В будущем скины также будут содержать внешний вид элементов интерфейса. например, символы, обозначающие направление сортировки по полю (http://www.midnight-commander.org/ticket/397). или символы для обозначения скроллбара (http://www.midnight-commander.org/ticket/1483). То есть, по мере переделывания или добавления новых интерфейсных фишек, будут дополняться и скин-файлы.
Итого часа два-три на смену дизайна и час на добавление новой циферьки. А если таких «циферок» две появится? Три? десять? :)
Очень часто за фразой «а добавьте-ка такую-то фишку, я вижу, что это несложно» кроется некислая работа по добавлению этой фишки.
Но самое обидное не это :) Самое обидное после аврального штурма фишки услышать «а не, как раньше было лучше, возвращайте».
Спасение от такого — предварительное составление детального ТЗ. Но иногда ТЗ — это пушкой по воробьям, потому что проектик вроде небольшой, по работе баксов на 200-300 и на неделю максимум (буквально сайт-визитница), но перед самой сдачей начинаются «капризы-пожелашки» клиента :(.
А если на картинке с новым дизайном вдруг появилась маленькая циферька «количество непрочитанных сообщений», то это уже смена интерфейса. Ибо для арт-менеджера это «всего лишь одна цифра. Что там стоит её добавить в дизайн профессионалу?». А для этого профессионала новая цифра — это геморрой по составлению нового SQL-запроса, по вызову этого запроса и по отдаче результата Viewer'у. Хорошо, если SQL-запрос простенький… а если агрегирующий по нескольким таблицам?
Стоимость этих «циферок» (в часах в том числе) знают только программеры, но не арт-менеджеры :)
О как! Приятно пообщаться «вживую» (интерактивно), а не по-английки через комменты :)
Спасибо за багрепорт.
> А под cygwin 1.7 он уже собирается (в cygwin`овских анонсах нет)? Когда я последний раз проверял в июне — не получалось. Впрочем, я забросил попытки как раз из-за переходного статуса самого Cygwin: там была кривизна с библиотеками, в частности, с s-lang.
Гм… в свете сказанного: можно ли закрыть тикет как 'wontfix'? Вроде проблема и не наша… я уже думал сделать --enable-ipv6, но лень было да и не хотелось лишние #ifdef...#endif плодить. :)
Плоховато или неизвестно? :)
Я знаю одну проблему: текущий mc не соберётся в текущем стабильном Cygwin из-за того, что в mc была добавлена поддержка IPv6 а в стабилном Цигвине её нет. Но и это решаемо в ближайшее время: mail.gnome.org/archives/mc-devel/2009-November/msg00048.html
На FreeBSD текущий мастер собирается, на [Open]Solaris тоже собирается (по мотивам https://www.midnight-commander.org/ticket/1749). Под Линукс — само собой.
Кто-то из нас вроде пробовал не так давно на OpenBSD собирать… или это была NetBSD? Не помню :)
За кадром AIX, HP/UX и т.д. Они «за кадром» не потому, что мы отказываетмся от их поддержки — были бы патчи :)
>— Поддержка UTF-8
>— Переопределение хоткеев
>— устранение утечек памяти.
>Устранение наиболее «болезненных» багов.
Простите, прочитал как «Какие предыдущие приоритеты команды были». :( Вот уж точно: каждый видит то, что хочет видеть. Приоритеты предыдущей команды описаны в TODO, линк на него есть в предыдущем посту.
— Поддержка UTF-8
— Переопределение хоткеев
— устранение утечек памяти.
Устранение наиболее «болезненных» багов.
> Я процитирую TODO от Роскина
Да чего его цитировать? Вот оно: https://www.midnight-commander.org/browser/doc/TODO
> и поглядим какие ошибки исправлены в текущем проекте?
https://www.midnight-commander.org/query?status=closed&group=priority&order=priority&col=id&col=summary&col=type&col=priority&col=milestone&col=component&resolution=fixed
> И озвучьте плиз, раз уж влезли с защитой, нынешние приоритеты разработки?
— Стабилизация кода.
— Модульность. Как следствие плагины.
— Пересмотр и переделка VFS
— Большее использование glib-функций. Как следствие избавление от собственного дублирующегося кода => уменьшение размера исполняемого файла и упрощение сопровождения. Примеры: ской код по работе с ini-файлами (взятый когда-то с проекта wine) заменён вызовами соответствующих функций. Точно также с своими popt-функциями
Коллектив дружный подобрался, относимся друг к другу с пониманием… Не хотите — не заставляем. Захотите — только свистните :)
А Андрею да, передайте, если не затруднит.
Цеков был не против. Цекову было всё равно :(.
> Кроме Цекова есть Павел Роскин, есть Андрей Самойлов, есть другие разработчики.
Есть ещё список рассылки (mc-dev@gnome.org) в котором были дебаты. Пусть хоть из предыдущих разработчиков отпишется. Nobody cares :(.Вы один из предыдущих, и это замечательно :)
> Я тем, как изменилось все, был неприятно удивлен. Андрей тоже самое.
Знаете, я всегда говорил: «лучше просить прощения, чем разрешения».
Руководствуясь этим, хочу попросить у вас прощения за то, что было сделано. Это не подколка, нет никакого смысла между строк. Я, Занько Вячеслав, заваривший всю эту кашу, прошу у вас, бывших разработчиков прощения за свои действия. Заодно спрошу: согласны ли вы с тем, что мы используем имя Midnight Commander? Не подумайте — к имени не цепляемся. Более того — всем действующим разработчикам всё равно. Если Вы откажете — мы станем mc+ (Midnight Commander Plus) — и всего лишь.
> Почему Цеков был против патчей? Он всегда обосновывал свою позицию — патчи были не лучшего качества. Потому как mc — кроссплатформенная вещь. А в данный момент я не знаю как ваш mc работает на всяких проприетарных unix-ах на которые в том числе работал Цеков.
Честно говоря. не знаю тоже — нет абсолютно никаких вестей с этого фронта. То ли всё замечательно, то ли nobody cares. Ну и насчёт «против патчей»: можно годами шлифовать патчи в багтрекалке, но я предпочитаю пускать патчи «в оборот» для «обкатки». Этим самым снижается качество (неизбежно), но повышается скорость эволюции проекта.
> Что мешает. Мешает пионерия. Когда я смотрел на патчи, которые вы вносили (сейчас не буду говорить — не слежу) в mc я заметил одну тенденцию: «Убираем код, который непонятен. Убираем предупреждения об ошибках, не устраняя эти ошибки».
Да всякое бывало. В том числе и это.
> Например та же борьба с зависшим subshell-ом. В свое время Цеков предпринял целое исследование — как проблему с subshell порешать на всех платформах разом. И там не было прямого пути.
Вся эта борьба из-за раздельного промпта при включенных панелях и при выключенных. У меня есть мысля… пока смутная, но со светом в конце туннеля. Можно сделать единый промпт для панелей и сабшелла (для разных терминалов и для разных шеллов). Пока мыслю думаю :)
> Был еще проект на базе ветки 4.6 который тоже кто то русский пионерски патчил.
Этим пионером был я :)
> Кто вам мешал сделать ветку? ;)
Была ветка. Русский форк. Пионерия. как Вы выразились… я и не спорю — да было много смешного и нелепого, потому что были первые шаги. Но даже на такой проект народ налетел, как на пончики в базарный день. Знали бы вы, СКОЛЬКО было просто изголодавшихся и истосковавшихся по mc… сколько народу хотело есго дальнейшего развития, а не просмотра патчей годами (не примите как подколку… но тк и было :( ). При этом народ был не только русский — со всех концов света. Багтрекалка руфорка была русская (я планировал сделать национальный форк — типа междусобойчика). Но всё больше и больше появлялось тикетов с просьбами вести багтрекалку на английском… а также всё больше просьб вести разработку с именем Midnight Commander, а не как очередной форк.
> Ок. Даже если Мигуэль дал вам права — Цекова зачем было устранять и остальных? ;)
Да никто никого не устранял. :) «Невиноватые мы, он сам ушёл».
> Сосуществовали бы вместе. Что мешало?
Отсутствие интереса к существованию проекта у старой команды. Ничего личного. Констатация факта.
trac.ini:
Стабильная ветка не содержит патчей с добавлениями фишек — только патчи с багфиксингом.
Развитие проекта продолжается в мастере, а в стабильную ветку периодически перетаскиваются стабилизирующие коммиты. В этом случае для переноса таких патчей с мастера нельзя в ветке сделать так:
git rebase origin/master
Потому что будут внесены все патчи! Для «точечного» внесения нужжно использовать 'git cherry-pick' или вручную вдумчиво переносить, если изменения между мастером и стабильной веткой стали большими.
Именно такая ситуация и имеется ввиду. И предупреждение об этом :)
Статья хорошая. Примерно так мы и варимся.
My vote here :)
Лично я после этого Red Hat ещё больше зауважал :)
Добавились новые параметры:
[widget-common]
sort-sign-up = '
sort-sign-down =,
То есть, символы обозначающие направление сортировки: по возрастанию (sort-sign-up) или по убыванию (sort-sign-down). Сейчас это апостроф и запятая, но кто угодно может поменять на utf-8 символы… например, на ↑ и ↓… или на ⇑ и ⇓ (кому как нравится).
Предугадываю вопрос «а почему сразу нельзя стрелки внести»: потому что не во всех операционках и не у всех людей используется кодировка utf-8.
Новые параметры добавлены в репозиторий (кто может — собирайте с репозитория или используйтеночные сборки), либо в 4.7.0-pre4.
В стандартной поставке нет мс версии 4.7.0-pre1 и выше. Вроде там мс-4.6.2
А в этой версии есть такая проблема.
Какой выход… гм. Я уже отписывался на forum.linux.by/viewtopic.php?f=2&p=74719#p74719
Повторюсь и здесь: У кого-нибудь есть возможность собирать пакеты под Debian/Ubuntu? Настроить билд-скрипт, пустить по крону… И будет всем счастье :)