:-]Maaaks

Фидбэк \ 12.05.2013

Сбор анонимной статистики разными программами, сервисами и устройствами — штука неоднозначная. Сейчас начинают потихоньку запрещать молчаливую установку cookies. Потом запретят, скажем, интернет-провайдерам подсчитывать трафик по отдельным микрорайонам: а то как же! ведь меня так проще вычислить и деанонимизировать! Потом запретят сотовым операторам вычислять участки, где требуется срочно улучшить покрытие: а то как же! если за последнюю неделю я единственный говорил с номера МТС в этой конкретной глуши, меня так проще вычислить и деанонимизировать! Потом ещё что-нибудь, и ещё, и ещё. Параноики будут счастливы (если параноики вообще бывают счастливы).

В лучшем случае кто-нибудь возьмётся за ум и оставит из консервативных побуждений сбор статистики там, где она по историческим причинам собирается сейчас. Но зато вряд ли теперь, когда уже раскручивается такая истерия, кто-то рискнёт вводить сбор где-то с нуля, создавать новые привычки. А жаль. Ведь до сих пор так и не стало обыденностью цифровое телевидение, где возможно постоянное отслеживание того, какой канал я смотрю. Зато у многих из тех, кто смотрит обычное телевидение, уже давно так или иначе есть выход в интернет, и сами телевизоры зачастую поддерживают выход в интернет, а у кого не поддерживают — у того с большой вероятностью будут поддерживать, когда они купят следующий телевизор. А интернет у многих безлимитный, там трафика не жалко. Производители телевизоров могли бы договориться и ввести стандарт для отправки анонимной статистики через интернет. То есть принимаешь телекартинку привычным, отлаженным десятилетиями «антенным» способом и в то же время раз в минуту отправляешь мизерные объёмы циферок по интернету. Уверен, такое будущее могло бы наступить гораздо быстрее и с большим обхватом, нежели поголовный ввод полноценного цифрового телевидения с уже встроенной статистикой. Но — не успели. Производители не успели сделать это в уходящую эпоху свободного сбора данных, а если начинать теперь, то уже слишком много внимания и подозрения будет приковано к затее с самого начала. Не видать нам сбора анонимной статистики просмотров не-цифрового телевидения.

А ведь это было бы хорошо. Это ведь единственный способ дать что-то понять создателям неинтерактивного контента. Для них важны просмотры, и они считают просмотры, обзванивая нас с вами и спрашивая: «А у вас включен телевизор? А на каком канале?». Но они не могут обзвонить всех, и к тому же они не спрашивают, какой канал был включен пять минут назад, намерен ли я досмотреть передачу до конца и т.д. В общем, сегодня у зрителей обычного «антенного» телевидения нет никакого способа сообщить, что «Я включил Первый канал в 21:56, там всё ещё шла программа Время, за 10 минут я не дождался того, чего хотел, и выключил, в следующий раз не затягивайте так». Или «Я включил канал Культура, увидел, что там вместо Культурной революции идёт фильм про неизвестного мне умершего режиссёра и через 30 секунд выключил, вы такого эффекта хотели?». Или «Я смотрел Интернов на ТНТ в праздники с утра и до такой-то серии, а следующую сразу выключил, потому что вы буквально несколько дней назад её показывали, у вас плохой рандом, исправьте».

Понятно, что вторую часть каждой из этих фраз их аналитикам придётся угадывать самостоятельно, но ведь сейчас у них нет даже первой! Технология не позволяет. Ведь, если вдуматься, включение и выключение телеканала — вообще более важная штука, чем сам факт, что в какую-то случайно взятую секунду канал уже включен или уже выключен. Но телефонными опросами они ничего о моментах включения и выключения не выяснят. И проигрывают от этого все.

Лично я никогда не снимаю галочку «Собирать анонимную статистику» в установщиках программ. Если верить тому, что статистика анонимна (а деваться некуда, приходиться верить), то я от неё ничего не потеряю, зато авторы программы многое получат. Из того, что сразу вспоминается: благодаря тому, что я не снимаю эту галочку, мейнтейнеры Ubuntu правильнее выбирают наиболее приоритетные пакеты, разработчики NetBeans знают, какие плагины реально используют люди, а разработчики HeidiSQL расставляют приоритеты в проверке совместимости с наиболее популярными конфигурациями серверов. Кому от этого хуже? Да никому. Кому от этого лучше? Как минимум — тоже никому, как максимум — всем. Нужно ли отмечать подобные галочки? Однозначно нужно. И нужно вводить подобные галочки повсюду, где только позволяют технологии. А вместо этого какие-то смешные люди изо всех сил усложняют счётчикам сбор статистики посещений сайтов.

Это печально, потому что это косвенно уменьшит действенность и без того слабого, но немаловажного способа выражения недовольства: «не любишь соцсети — не заходи в них», «не разобрался в интерфейсе веб-приложения — не жри кактус и уйди», «разместили надоедливый баннер — пусть страницы с этим баннером будут у них самыми популярными точками выхода». Если ограничивать возможности веб-счётчиков, поведение простого пользователя будет всё менее и менее заметным для крупных сервисов.

С малыми сайтами ситуация, конечно, всегда чуть лучше. Например, написать о том, какую херню несу я, можно прямо в комментарии, и я от скуки всенепременнейше на него отреагирую. :)

Комментариев: 0

Репозиторий MrDeb \ 28.04.2013

Торжественно объявляю, что с сегодняшнего дня открыт и ждёт радостных пользователей мой скромный deb-репозиторий под названием MrDeb. Поключайтесь:

Чуть подробнее — здесь. Только там на английском. Я в последнее время взял моду комментировать свои исходники и, соответственно, публичные упоминания о своих исходниках на английском. Это просто мания величия, не обращайте внимания. Потом как-нибудь поставлю туда многоязычную CMS’ку и обязательно всё переведу на русский.

Репозиторий состоит из двух частей. В foreign лежат чужие ништяки, переупакованные мной в DEB для Убунты, а в mine — мои собственные ништяки, в том числе программка Tainer (я о ней рассказывал), с помощью которой весь этот репозиторий и сгенерирован. Как несложно догадаться, цель создания этого репозитория — проверить Tainer на деле и убедиться, что основной функционал работает. Ну а в качестве побочного эффекта решил вот мейнтейнить несколько пакетиков, которых сам в виде DEB не нашёл.

Чтобы установить Tainer, есть два пути:

Обязательно пишите обо всех страностях сюда в комменты (либо, чтобы поддержать мою манию величия, вон туда в багтрекер).

И помните: позволяя мне поскорее довести Tainer до ума, вы приближаете момент, когда я забуду про него и возьмусь за более полезные для человечества задачи!

Комментариев: 0

О психанувших \ 15.04.2013

Когда чего-то не получается достичь — иногда хочется взять, психануть и громко сказать, что не очень-то и хотелось.

Когда что-то в жизни не складывается, проблемы накапливаются снежным комом, а решения не находится — иногда хочется взять, нарочно выбросить всё, что ценил раньше, и начать новую жизнь.

Когда мир тебя не понимает — иногда хочется взять и перестать общаться с людьми и уйти в себя.

Когда кажется, что мир движется в неправильном направлении, но у тебя не получается донести свои предостережения до общества — хочется взять и начать предостерегать уже агрессивно-ультимативно.

Когда кто-то затронул твои чувства, оскорбил их — хочется взять и запретить всему миру говорить тебе плохое слово, один раз наспех доказав, что ты бываешь прав, и больше никому ни за что не отчитываясь, а только спрашивая; хочется считать себя достаточно выстрадавшим в этом глупом мире и потому заслужившим пожизненную индульгенцию.

Хочется, но нельзя. Человек должен себя держать в руках.

А верующие — это, собственно, люди, которые уже однажды не сдержались. Они психанули и пошли против общества. Сами ли, под действием ли других людей — но взяли и психанули. В одностороннем порядке разорвали нормальные отношения с саморегулирующимся коллективом, плюнули на его устои, решив, что справятся и сами, что их внутренняя мораль сильнее и, собственно, моральнее, чем сформулированные на бумаге законы. Само по себе это выглядит безобидно. Ну не выдержал человек — ну и пускай уходит хоть в лес, хоть в монастырь, хоть со скалы прыгает. Есть даже вероятность, что он не дойдёт до конца и вернётся — а не вернётся, так тем более фиг с ним, для общества он не ценен, да и самому ему в обществе не понравилось.

Подмена понятий начинается тогда, когда этих психанувших становится слишком много. Они находят друг друга, делают в уме несложные рассчёты и приходят к ложному выводу, будто они и есть общество. Это как если больные в сумасшедшем доме провозгласят врачей изгоями на том основании, что врачей меньшинство. (Пример, кажется, не мой, зато очень хороший.) Это ведь бред. Это ведь не отменяет того факта, что каждый из сумасшедших сошёл с ума по-своему. Даже если вам статистически докажут, что буквально вся Россия — это палата №6, и большинство населения имеет психические отклонения, это не повод считать меньшинство бесправным. Все важные, связующие роли в обществе должны даваться именно нормальным людям, будь их хоть 90%, хоть 10%. Потому что человек, отрицающий общество, не сможет эффективно поддерживать его существование. А верующие — как раз такие люди.

Верующих нельзя считать, в общем-то, ни большинством, ни меньшинством — их вообще не стоит объединять в группу. А они, между прочим, пытаются доказать, что стоит. Мы, мол, такие клёвые, многие классические художники были верующими, значит, мол, не надо нас обижать. Ну и что? А среди наркоманов были авторы успешной и общественно безвредной передачи «Телепузики», значит ли это, что все наркоманы общественно безвредны? Да имею ли я вообще право объединять всех наркоманов в одну группу в данном случае?

На самом деле, по отдельности верующие вправе учить меня, как мне жить. Но объединяться на почве веры и принуждать меня к чему-либо именем веры — не вправе. Впрочем, для пущей безопасности в подвале моего сайта теперь будет висеть ограничение: «Содержимое данного сайта предназначено только для сомневающихся атеистов не младше 10 лет». Я считаю, что я вправе ограничивать свой круг общения в интернете по такому признаку, как делаю это и вне интернета (наряду с другими признаками, естественно). Это, по-моему, самая здоровая реакция на верующих. Хотел убежать от проблем, прикрывшись десятком общих фраз — убегай, пожалуйста, и заметь, не мы тебя послали.

Теперь вот только терзаюсь сомнениями: не слишком ли я загнул планку засчёт десятилетних? Может, иные и в восемь уже поадекватнее других иных?

Комментариев: 1

Галлюцинации — это весело \ 5.04.2013

Если тут есть кто-нибудь с хорошей памятью и/или богатой коллекцией закладок в браузере, подскажите, пожалуйста, правильно ли я помню, что энное количество лет назад, когда я был молодым несмышлёным юзером Windows, в закромах сайта компании Stardock можно было найти ещё более древнюю и даже некрасиво оформленную статью, где от имени Stardock торжественно обещалось, что после того, как они заработают на программе для установки тем WindowBlinds определённую сумму (сумма не называлась, но утверждалось, что внутри компании она определена), этот продукт станет бесплатным? И теперь правильно ли я понимаю, что обещание до сих пор не выполнено, и WindowBlinds всё ещё платный продукт, а древняя статья со столь щедрым обещанием на нынешнем сайте компании, судя по всему, уже давно убрана? Или где-то в закромах лежит древняя бесплатная хотя бы WinXP-совместимая версия? Или я вообще всё путаю, и подобная статья была на сайте другой подобной компании? Или у меня всё-таки галлюцинации, совмещённые с плохим пониманием английского текста?

Комментариев: 0

УРА! \ 5.04.2013

В KDE 4.10.2 наконец-то одумались и запилили обратно поддержку кастомных иконок на NTFS в Dolphin и файловых диалогах!

Что интересно, всё это время те же самые иконки преспокойно показывались в файлменеджере Krusader, уж не знаю как. Там, видимо, была альтернативная реализация определения типа файловой системы, что ли?

Комментариев: 0

Занудство \ 23.03.2013

Непроизвольно испустил глаза на лоб при чтении статьи на Lenta.ru:

Власти Китая своими силами вели разработку операционной системы Kylin с 2007 года. Она базировалась на дистрибутиве Linux FreeBSD.

Кто-нибудь, поставьте мне диагноз. Нормальных людей такие оксюморончики возмущают или нет?

Может, я уже созрел для того, чтобы вылазить из вечного read-only на ЛОРе?

Комментариев: 0

Ещё один нескладный аргумент верующих \ 14.03.2013

Некоторые религиозные фанатики, которые пытаются строить из себя невинных не-фанатиков, порою говорят, будто «бог — это не старик на небе, а что-то внутри тебя самого». Звучит глубокомысленно, да. Но ведь тогда неизбежно должен возникнуть вопрос о принципиальной возможности познания того, частью чего ты являешься.

Есть мнение, что ленточный червь не способен понять, что представляет собой животное, внутри которого он живёт, а человек не способен понять, что такое Вселенная. Так способен ли бог познать меня, если он сам внутри меня находится? Какое право он имеет судить о моих поступках и моём месте в окружающем мире, если он живёт по соседству с тем самым ленточным червём и не видит этого мира? Не тебе меня учить, паразит!

Комментариев: 4

Здесь вам не Retina, здесь пиксель иной \ 25.01.2013

Короткий совет хозяйкам на заметку. А именно — тем хозяйкам, у которых Qt5 почему-то использует гигантский шрифт.

В качестве временного решения (чтобы можно было хотя бы Qt Creator’ом нормально пользоваться) создайте файл под названием, например, qt5antihuge.qss со следующим содержимым:

И запускайте приложения, указывая этот файл в качестве табицы стилей. Например:

Ну, соответственно, добавьте это в свои ярлыки, шорткаты и тому подобное, у кого как.

А вообще, раздражает меня это. Решения загадочной проблемы со странным дефолтным размером я так до сих пор и не нашёл, хотя искал.

Комментариев: 0

Tainer: Анонс \ 24.01.2013

Нельзя слишком долго пытаться родить софтину молча без связи с внешним миром, запершись в своём уютненьком приватном репозитории. Надо взять и рассказать людям о том, что я пытаюсь сделать. Может, кто-то из читателей здраво обольёт грязью всю задумку, а может, кто-то наоборот, идею подкинет.

Уже довольно-таки некоторое время я пилю очередную свою поделку на Qt. На сей раз это утилита для создания DEB-пакетов и, сверх того, для управления APT-репозиториями, которые могут содержать как «внутренние» пакеты (созданные этой же утилитой), так и «внешние» (например, скачанные с какого-то сайта в виде отдельных DEBов).

Называется эта утилита Tainer. От слова «мейнтейнер», только скромнее. :-)

Сейчас Tainer сложно назвать законченным продуктом, постоянно возникают баги, да ещё время от времени у меня возникает желание что-то внутри кардинально переделать, поломав совместимость в прежним форматом конфигурационных файлов, так что я не представляю, кто, помимо меня, захочет это использовать в нынешнем виде. Тем не менее, если что, вот вам исходники. Должно вполне успешно собираться так:

Только перед этим ещё нужно установить мою свалку с отдельно вынесенными вещицами под гордым названием «библиотека Cutecat» (исходники вот, собирать примерно так же), также потребуется сторонняя библиотека TCLAP, а для работы Tainer после компиляции удостоверьтесь, что в вашей системе есть утилита dpkg-scanpackages (ссылка в тему), а ещё ar, tar, gzip, bzip2 и прочие очевидные вещи. О работоспособности под виндой я пока не задумывался и не уверен, возможна ли она вообще (без dpkg-scanpackages ничего не запашет). Что касается переносимости между компиляторами, то и GCC, и CLang пока моими трудами одинаково довольны.

Но мы отвлеклись.

В плане сборки репозиториев, как вы уже догадались, Tainer не содержит ничего особеннго, а просто-напросто раскладывает пакетики по папочкам и запускает утилиту dpkg-scanpackages, которая генерит всю метаинформацию. Основной фичей Tainer я считаю работу с отдельными пакетами. Здесь всё реализовано самостоятельно, без использования стандартных dpkg-* утилит. Кто пробовал собирать DEB-пакеты с их помощью, тот не даст соврать: стандартные утилиты предьявляют слишком много требований. Лицензию обязательно укажи, все многочисленные поля обязательно укажи, файловую структуру для control обязательно создай сам… В Tainer же всё собрано в единый конфиг. Заполнять ненужные поля и создавать временные папки с файловой структурой — задача машины, а не человека, поэтому Tainer берёт это на себя. А человеку оставляет удобный GUI-интерфейс.

Впрочем, зачатки консольного интерфейса у Tainer тоже есть. Можно запустить его, указав путь к файлу проекта и команду --build, и проект будет сразу собран без запуска GUI. Более сложных вещей CLI не умеет, да я и не вижу смысла заставлять его это уметь. Во-первых, всё можно сделать в GUI — за исключением случаев, когда GUI глючит, но я ведь и не говорю, что Tainer достоин статуса релиза. Во-вторых, единый конфиг, ради которого всё и затевалось, не так уж ужасен внутри.

Собственно, основная мысль, заложенная в Tainer, видна здесь безо всякого GUI: файлы, которые вы хотите поместить в пакет, не нужно как-то специально вручную располагать на диске перед упаковкой или тем более писать для этого какие-то скрипты. Всё должно быть задано в конфиге в простом и понятном виде: слева — желаемый путь к файлу в готовом пакете, справа — путь к оригиналу на машине разработчика/мейнтейнера. Всю рутину, связанную с созданием папок (и последующим их удалением), сделает Tainer.

Что касается синтаксиса, то он, как видно, был придуман, глядя на обычный INI, но в то же время это не совсем INI, потому что имеется дополнительная фича со скобками (после слова Files в начале строки), а ещё при пересохранении не происходит чехарды со слешами, как в QSettings и, я предполагаю, во многих других попытках реализовать «иерархию» в INI.

В будущем планирую починить всё, что не починено, и прикрутить разные полезные штуки, например, «prebuild scripts»: перед каждой сборкой Tainer сможет самостоятельно выполнять любые команды (скажем, скачивать и компилировать исходники). Ещё намерен сделать поддержку упаковки целых папок, чтобы не приходилось в конфиге задавать каждый файл из большого массива отдельной строкой. Не знаю, как это будет представлено в GUI (хотя представлено, конечно, будет), но при ручном редактировании файла точно будет удобнее. Ну и так далее и так далее, опять же без гарантий обратной совместимости формата.

У меня вопрос к потенциальным пользователям этой штуки: какие ещё фичи стоит добавить, а на какие не стоит тратить времени вообще? Так как сам я сборкой DEB-пакетов и поддержкой репозиториев почти никогда не занимался (только пару раз паковал мелочи для самого себя), то много чего не знаю. А не занимался я этим потому, что стандартные утилиты слишком сложные в освоении. А удобной альтернативы им никто не написал потому, что никто этим реально не занимался, вот такой замкнутый круг, наверное.

А ещё вопрос к тем, кто случайно знаком ещё и с RPM, о которых я не знаю вообще ничего, или с другими малоизвестными бинарными форматами пакетов (вроде у Puppy Linux был какой-то свой, например): насколько сильно тамошняя идеология отличается от DEBовской? Получится ли, сохранив GUI со скриншотов выше и поменяв запускаемые команды, создавать RPM-пакеты и репозитории?

P.S. Тыканье меня носом в мой говнокод на плюсах приветствуется. :-)

Комментариев: 0

Не нравится \ 21.01.2013

Уже не первый раз ловлю себя на том, что, почти не читая, закрываю сайты, на которых примеры кода оформлены с использованием SyntaxHighlighter от Alex Gorbatchev (при условии, конечно, что в гугле есть альтернативы, где почитать что-то нужное мне по той же теме). Вот не люблю его внешний вид, и всё. Он отвлекает меня от чтения текста и к тому же раздражает горизонтальной прокруткой ни к селу ни к городу. Жуткая вещь, по-моему. Хотя, казалось бы, мелочь какая — всего лишь оформление нескольких кусочков кода, а умудряется задалбывать.

Комментариев: 4