Иногда разработчиков GitLab осеняет, и они реалиуют здравую идею, которая существует уже несколько десятков лет. В особо извращённой форме, разумеется.
Взять, например, возможность открывать новые баги (issues) посредством отправки письма на определённый электронный адрес. Свершилось?! Конечно нет, чудес не бывает. Что-бы узнать этот адрес, нужно зайти в web-interface. Для каждого проекта этот адрес разный. Через API генерация этого адреса не предусмотрена. Да вашу мать!
Ну что мешало сделать один адрес и указывать репозиторий, в котором нужно открыть баг через заголовки? Ну что-нибудь в духе
Subject: [gitlab-org/gitlab-ce] Stop coding, read Art of Unix programming
Сейчас выясним. Ну то есть как сейчас — в очереди 16 тысяч (!) багов. Ктулху великий, даже у компилятора Haskell всего три тысячи багов.
Взять, например, возможность открывать новые баги (issues) посредством отправки письма на определённый электронный адрес. Свершилось?! Конечно нет, чудес не бывает. Что-бы узнать этот адрес, нужно зайти в web-interface. Для каждого проекта этот адрес разный. Через API генерация этого адреса не предусмотрена. Да вашу мать!
Ну что мешало сделать один адрес и указывать репозиторий, в котором нужно открыть баг через заголовки? Ну что-нибудь в духе
Subject: [gitlab-org/gitlab-ce] Stop coding, read Art of Unix programming
Сейчас выясним. Ну то есть как сейчас — в очереди 16 тысяч (!) багов. Ктулху великий, даже у компилятора Haskell всего три тысячи багов.
Один человек в личной переписке, обсуждая Gitlab высказал следующие суждения:
"не нравится — форкай"
"если хочется много юзеров, [разработчикам Gitlab] придется считаться с их интересами"
Всё так, но к существу проблемы это не относится.
Если мне не нравится поведение какой-то программы (свободной, разумеется), которая выполняется на моём компьютере, или мне не хватает какой-то возможности, я могу эту программу изменить, и она будет удовлетворять мои желания более полно.
В случае с Gitlab я могу внести изменения, но мою жизнь лучше они не сделают до тех пор, пока их не примет администратор сервиса. Если примет. Таким образом, я не могу решить свои проблемы самостоятельно, я должен идти на поклон к администратору/разработчику. Конечно, если на поклон (ну или с требованиями) пойдёт много пользователей, то разработчики скорее всего уступят, но это ничем не отличается от ситуации с любой проприетарной программой. Просите, и быть может, вам подадут.
Вот в чём проблема. Онлайн сервисы, даже их исходный код доступен по самое AGPL, для пользователя — клетка, из которой не выбраться.
"не нравится — форкай"
"если хочется много юзеров, [разработчикам Gitlab] придется считаться с их интересами"
Всё так, но к существу проблемы это не относится.
Если мне не нравится поведение какой-то программы (свободной, разумеется), которая выполняется на моём компьютере, или мне не хватает какой-то возможности, я могу эту программу изменить, и она будет удовлетворять мои желания более полно.
В случае с Gitlab я могу внести изменения, но мою жизнь лучше они не сделают до тех пор, пока их не примет администратор сервиса. Если примет. Таким образом, я не могу решить свои проблемы самостоятельно, я должен идти на поклон к администратору/разработчику. Конечно, если на поклон (ну или с требованиями) пойдёт много пользователей, то разработчики скорее всего уступят, но это ничем не отличается от ситуации с любой проприетарной программой. Просите, и быть может, вам подадут.
Вот в чём проблема. Онлайн сервисы, даже их исходный код доступен по самое AGPL, для пользователя — клетка, из которой не выбраться.
Мне продолжают писать о том, что Gitlab таков, каков он есть, потому что так удобнее большинству.
Ребят, я верю. Я видел программистов, которые на любой вопрос отвечали "мне так IDE сделала". Нет, это не было причудой гениев. Совсем нет.
Я в курсе, что современные технологии позволяют заменить 90% персонала McDonalds роботами. И в курсе, почему этого до сих пор не произошло.
Я пишу о технических проблемах; пациент недостаточно образован -- это проблема, но не техническая.
Ребят, я верю. Я видел программистов, которые на любой вопрос отвечали "мне так IDE сделала". Нет, это не было причудой гениев. Совсем нет.
Я в курсе, что современные технологии позволяют заменить 90% персонала McDonalds роботами. И в курсе, почему этого до сих пор не произошло.
Я пишу о технических проблемах; пациент недостаточно образован -- это проблема, но не техническая.
Народ, кто-нибудь в курсе скриптов для публичных Wifi, которые автоматически проходят эту дурацкую аутентификацию?
Ну что-нибудь в духе
Ну что-нибудь в духе
foo request-verification <phone-number>
foo verify <verification-code>
Запускать браузер с JS только для этого маразма это отвратительно.Большинство Web-интерфейсов (sigh) с которыми я сталкивался делаются по принципу, что если кнопку нельзя нажать, то её и не должно быть видно. С одной стороны, это логично, да и коммандная строка работает также: административные комманды не включены в PATH непривилегиррованного пользователя. С другой стороны, с исчезающими кнопочками всегда есть сомнение, кнопки нет или я её не нашёл. Различие между
Иллюстративный пример Libreoffice с открытым read-only файлом. (Акцент на серую кнопочку Save)
/bin и /sbin это вечное, а между очередными Redmine/Git*/Bugzilla — преходящее, поэтому я всё же склоняюсь к мнению, что лучше делать серые кнопочки — хоть какая-то определённость.Иллюстративный пример Libreoffice с открытым read-only файлом. (Акцент на серую кнопочку Save)
CGI и Ajax. А вы помните, что это? Вы помните, что такое разделение статики и динамики?
"The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. User agents SHOULD include this field with requests. "
Создатели протокола HTTP знали, какую дрянь они делают, и всё равно её сделали. Подробности.
Создатели протокола HTTP знали, какую дрянь они делают, и всё равно её сделали. Подробности.
Мне пришёл спам вот с таким чудо-предложением: "Предлагаем купить живую базу данных существующих предприятий нашей страны."
Вот на ком звёздочки надо делать.
Вот на ком звёздочки надо делать.
Mozilla выкатила новый сайт, где с кродильими слезами пишет:
Feel like ads on the internet know you too well? It's because they do.
В моём
Так что тебе мешает блокировать по умолчанию эти 30 тысяч вредоносных сайтов в своём браузере, некоммерческая организация Mozilla Foundation?
Feel like ads on the internet know you too well? It's because they do.
В моём
/etc/hosts примерно 30 тысяч строк и я понятия не имею, на каких сайтах есть реклама, а на каких нет -- у меня её нет нигде.Так что тебе мешает блокировать по умолчанию эти 30 тысяч вредоносных сайтов в своём браузере, некоммерческая организация Mozilla Foundation?
В С++20 завезли оператор космического корабля. Следите за новостями, пройдёт ещё всего несколько десятков лет, и они изобретут newtype.
Хабр
Новый оператор spaceship (космический корабль) в C++20
C++20 добавляет новый оператор, названный «космическим кораблем»: . Не так давно Simon Brand опубликовал пост, в котором содержалась подробная концептуальная инф...
Я просто оставлю это здесь. https://www.debian.org/releases/buster/amd64/release-notes/ch-information.en.html#entropy-starvation
webkit_settings_set_enable_site_specific_quirks(WebKitSettings *, gboolean). Комментарии излишни.Когда технологии слишком сложны, чтобы хоть кто-нибудь понимал все последствия.
http://lucb1e.com/rp/cookielesscookies/
http://lucb1e.com/rp/cookielesscookies/
$ make -f debian/rules testmeЛокализация. Бессмысленная и беспощадная.
debian/rules:131: *** обнаружен способ до первого определения цели. Останов.
$ LC_ALL=C.UTF-8
$ make -f debian/rules testme
debian/rules:131: *** recipe commences before first target. Stop.
Цензору в тюрьму купили замазку. В моё время шариковой ручкой замазюкивали.
https://t.me/RosUznik/131
https://t.me/RosUznik/131
Telegram
Ваша, Почта РосУзника
Чего хочется Ивану Подкопаеву мы не узнаем, потому что так решил цензор Матроски. И вообще почему-то многое в его письмах замазано. Но ответы от него уже пришли!
"Современный" веб — это трагедия, трагедия общин.
Когда-то давно, в золотую эпоху, зародилось понятие интернет-протокола — языка, на котором общались программа-клиент и программа-сервер. Разделение между протоколом и реализацией позволяло создавать независимые реализации, каждая со своими настройками, интерфейсом и компромиссами, но при этом способные работать вместе.
Благодаря этому разделению, сделанному в золотую эпоху, сегодня кто-то отправляет электронную почту через Thunderbird, кто-то через Outlook, кто-то через telnet, но всё это работает вместе. И будет работать всегда, потому что интернет-протоколы эволюционирую медленно и совместимо со своими старыми версиями. Но это было в золотую эпоху...
Немногие сегодня знают про протокол словаря (RFC 2229). Вместо него есть Google-переводчик, Yandex-переводчик, http://thesaurus.org/ и десятки других, несовместимых между собой словарей, каждый со своими проблемами. Мы вынуждены делать выбор, каким словарём пользоваться. Перевести сразу в десятке словарей, как это легко по протоколу RFC2229, в текущих реалиях весьма трудоёмко. И таких примеров много.
Есть проекты, которые пытаются облегчить страдания — weboob, surfraw, youtube-dl, но они ломаются каждый раз, когда web-сервис в очередной раз несовместимо меняется.
Почему так? Я вижу две причины. Техническая заключается в том, что сделать на коленке, несовместимо ни с чем и ни с кем, зачастую проще и быстрее. Политическая заключается в том, что есть влиятельные игроки, которым такая прискорбная ситуация выгодна. Протоколы призваны решать задачи пользователя, а "современный" веб — собрать как можно больше личной информации о пользователе и показать ему как можно больше рекламы.
Мне больно видеть, слышать, читать хороших в общем-то людей, квалифицированных специалистов, которые добровольно распространяют чуму "современного" веба. Нет, они не работают на Google или Yandex.
Приведу аналогию. Я могу понять человека, который голосует за Путина потому что ему за это заплатили. Я могу понять человека, который голосует за Путина потому что иначе его уволят. Мне больно думать о том, что есть люди, которые голосуют за Путина добровольно.
Status-quo ещё не значит, что это хорошо.
Когда-то давно, в золотую эпоху, зародилось понятие интернет-протокола — языка, на котором общались программа-клиент и программа-сервер. Разделение между протоколом и реализацией позволяло создавать независимые реализации, каждая со своими настройками, интерфейсом и компромиссами, но при этом способные работать вместе.
Благодаря этому разделению, сделанному в золотую эпоху, сегодня кто-то отправляет электронную почту через Thunderbird, кто-то через Outlook, кто-то через telnet, но всё это работает вместе. И будет работать всегда, потому что интернет-протоколы эволюционирую медленно и совместимо со своими старыми версиями. Но это было в золотую эпоху...
Немногие сегодня знают про протокол словаря (RFC 2229). Вместо него есть Google-переводчик, Yandex-переводчик, http://thesaurus.org/ и десятки других, несовместимых между собой словарей, каждый со своими проблемами. Мы вынуждены делать выбор, каким словарём пользоваться. Перевести сразу в десятке словарей, как это легко по протоколу RFC2229, в текущих реалиях весьма трудоёмко. И таких примеров много.
Есть проекты, которые пытаются облегчить страдания — weboob, surfraw, youtube-dl, но они ломаются каждый раз, когда web-сервис в очередной раз несовместимо меняется.
Почему так? Я вижу две причины. Техническая заключается в том, что сделать на коленке, несовместимо ни с чем и ни с кем, зачастую проще и быстрее. Политическая заключается в том, что есть влиятельные игроки, которым такая прискорбная ситуация выгодна. Протоколы призваны решать задачи пользователя, а "современный" веб — собрать как можно больше личной информации о пользователе и показать ему как можно больше рекламы.
Мне больно видеть, слышать, читать хороших в общем-то людей, квалифицированных специалистов, которые добровольно распространяют чуму "современного" веба. Нет, они не работают на Google или Yandex.
Приведу аналогию. Я могу понять человека, который голосует за Путина потому что ему за это заплатили. Я могу понять человека, который голосует за Путина потому что иначе его уволят. Мне больно думать о том, что есть люди, которые голосуют за Путина добровольно.
Status-quo ещё не значит, что это хорошо.
В языках программирования, появившихся относительно — Rust и Go — форматирование кода делается автоматически на уровне компилятора. И это хорошо.
Потому что лучше бестолковые четыре пробела, чем продираться через код, автор которого не понимает разницу между табом и восьмью пробелами.
Потому что лучше бестолковые четыре пробела, чем продираться через код, автор которого не понимает разницу между табом и восьмью пробелами.
Какое-то время назад меня спрашивали, как устроена жизнь за пределами Github/Gitlab, в списках рассылки. Тогда я более-менее ответил, но недавно я нашёл шикарную инструкцию с картинками:
https://git-send-email.io/
Полистайте, познавательно. Однако сейчас я обращаю ваше внимание не на содержание, но на форму. На сайте по ссылке кнопки нажимаются, странички перелистываются, менюшки выпадают — всё, как мы привыкли. И всё это — без единой строчки JavaScript, на чистом CSS. Кстати, странички перелистываются даже в текстовом браузере. Web, каким он должен быть.
Учитесь, господа web-разработчики.
PS. Техническая деталь. Магия делается псевдо-классами
https://git-send-email.io/
Полистайте, познавательно. Однако сейчас я обращаю ваше внимание не на содержание, но на форму. На сайте по ссылке кнопки нажимаются, странички перелистываются, менюшки выпадают — всё, как мы привыкли. И всё это — без единой строчки JavaScript, на чистом CSS. Кстати, странички перелистываются даже в текстовом браузере. Web, каким он должен быть.
Учитесь, господа web-разработчики.
PS. Техническая деталь. Магия делается псевдо-классами
:target и :selected.