Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

hitech

macOS Big Sur и user_agent

 


Как говорится, Сегодня Я Узнал/Today I learned (СЯУ/TIL), что оказывается все без исключения десктопные браузеры на новой MacOS некорректно сообщают свою версию OS.

О чём здесь речь: как многие наверное слышали, в прошлом году Apple изменил нумерацию версий своей десктопной OS, и после версий 10.1, 10.2, …., 10.15 последовала версия 11, следующая будет 12, и.т.д. Ещё на заре интернета, браузеры традиционно сообщали серверам, помимо собственного названия и версии, тип и конкретную версию операционной системы, под которой они запущены. Так оно и продолжалось много лет … до прошлой осени.

Поначалу, ничто не предвещало беды. До какого-то момента, браузеры под бета-версиями macOS 11 a.k.a. "macOS Big Sur " честно сообщали, что версия OS 11.0; но потом что-то пошло не так.

11.4 или 10.15?

Что именно произошло, однако, версии несколько разнятся. 15 сентября прошлого года, за два месяца до официального релиза, один из девелоперов эппловского Webkit’а добавил в систему баг и соответсвующий ему патч со следующим описанием проблемы:

The world apparently isn’t ready for macOS 11.0 in User Agents. Because of the depressing UA sniffing code on the web, let’s just report our current shipping release until things settle down.

Иными словами, как утверждается, слишком много веб сайтов проверяло user_agent браузера на версию 10.<что-то>, и версия 11 их сбивала с толку.

Что интересно, ни одного примера такого сайта автор комментария привести не смог. Вообще, сейчас довольно редко сайты ломаются из-за какого-то не вполне стандартного user_agent (а те, которые ломаются, конечно, сами заслужили свою судьбу). Ещё немного менее вероятно, чтобы сайт сломался конкретно из-за версии 11.Х вместо 10.Х.

Но это ладно. Интереснее, что вместо корректной версии, Webkit сообщает версию последнего на данный момент релиза предыдущей версии, 10.15 (сейчас это, например, 10.15.7). У авторов резонно поинтересовались, не логичней ли тогда было бы сообщать версию 10.16 (не существующую в реальности)? Тогда всем было бы понятно, что 10.16.Х соответсвует на самом деле 11.Х. На это другой девелопер ответил следующее:

The long term goal is to limit the disclosure of the underlying macOS via user agent string and other means since it can be used for finger printing purposes.

Ну то есть, дело совсем не в том, что какие-то сайты не работают, а просто мы теперь будем врать о конкретной версии OS, чтобы труднее было идентифицировать пользователей и собирать о них какую-то аналитику (для чего почти всегда и используется user_agent в наши дни).

Забавно, что все без исключения остальные браузеры (сейчас кроме самого Эппла, почти никто больше не использует WebKit) немедленно последовали этому примеру: Хром, Firefox, Опера, Микрософтовский Edge, и.т.д. Конкретно Firefox пошёл даже несколько дальше и сообщает версию OS просто как 10.15, без последней цифры.

В итоге, например, сегодня почти невозможно собрать какую-то достаточно полную информацию о количестве пользователей MacOS 11 по сравнению с предыдущими версиями. Все существующие средства веб-аналитики эту версию не видят.

И это всё, видимо, во имя пресловутой «прайваси».

И вот кстати ещё интересно. Тут как раз вроде выходит новая Windows 11. Они тоже последуют примеру Эппла, как они это последнее время нередко делают? Особой причины у них нет (MacOS 10 существовала 20 лет, WIndows 10 только 6), но как известно для подражания Эпплу особая причина не нужна.



See copy at dreamwidth for more comments; currently it has comment count unavailable.
gazprom

Что поменялось в нашей жизни за последние 10-20 лет

Конечно, легко ответить на вопрос, вынесенный в заголовок: это и множество новых технологий, и социальные сети, и те или иные политические изменения… Да много чего. Но я сейчас немного не об этом.

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

Но ведь так было не всегда. В СССР, как многие наверное помнят, когда перед открытием магазина скапливалась очередь, люди постоянно спорили, уже пора или еще нет. Где-то наверное в начале 80-х я купил себе какие-то простенькие советские электронные часы, и страшно гордился, что у меня-то теперь время всегда точное, хотя и электронные часы спокойно могли ошибаться на минуту-другую, если их не поправлять.

Когда именно эта проблема ушла в прошлое? В принципе, еще самые ранние мобильные телефоны или компьютеры, имеющие доступ к интернету, можно было настроить на синхронизацию с сетью, но это далеко не всегда было элементарно и не всегда вполне надежно работало. iPhone был едва ли не первым подобным девайсом, которое, не задавая никаких вопросов, всегда показывало точное время. Это именно с тех пор ситуация «у меня часы отстают» окончательно ушла в прошлое, или еще раньше?

Collapse )

С интересом почитаю ваши примеры, если такие (надеюсь) будут.


See copy at dreamwidth for more comments; currently it has comment count unavailable.
unknown

О Нём (т.е. о Линуксе)

Вопреки моей основной профессии, я редко пишу здесь на около-программистские темы. Но...

В последние месяцы в рунете не утихают споры по поводу использования операционной системы Linux в противовес Windows, да и вообще тех или иных "альтернативных"  программ вместо стандартных и привычных вроде Windows или Word'а. Дело не ограничивается альтернативно одарёнными гражданами вроде v-alksnis2Депутата категории "А", недавно предложившего создать "Русскую Операционную Систему", в связи с чем даже написавшего некий "список минимально необходимого программного обеспечения", в который исхитрился включить даже "PHOTOSHOP CS2 FULL"; активной пропагандой внедрения Linux'а занимается небезызвестный г-н alex_ponosov, и даже сам Великий exler, ещё недавно потешавшийся над фанатичными линуксоидами, решил попробовать - каково оно, "под линуксом" (о результатах, впрочем, ничего не слышно).

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

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

Ну так вот, небольшой личный опыт в плане "простоты" использования Linux'а, о которой (о простоте или её отсутствии) кипит столько споров.

Начнём немного издалека.

По самому смыслу понятия "операционная система" это есть нечто, неотделимое от "железа" (hardware), ибо основная функция операционной системы есть обеспечение взаимодействия "железа" с пользовательскими программами на некоем стандартном уровне абстракции. В идеальном мире компьютер - любой - должен поставляться всегда с установленной операционной системой (по крайней, мере, конечному пользователю) и вопрос о "покупке" ,  "апдейте" или замене операционной систем вообще не должен вставать, ибо сама постановка такого вопроса достаточно абсурдна. Равным образом и вопрос о "цене" той или иной ОС должен был бы обсуждаться лишь в плане полной цены "железо + ОС".

Другое дело, что компания Microsoft с 95-го года пыталась приучить - и до некоторой степени ей это удалось - всех пользователей к тому, что ОС - такой же полноценный "продукт", как и любое другое программное обеспечение, и это совершенно нормально - пойти в магазин и "купить ОС". В связи с этим, огромные усилия были потрачены на то, чтобы обычный "средний" пользователь мог сам заменить ОС на своём компьютере, например, Windows 3.1 на Windows 95, и.т.п. Разумеется, задача это была неразрешима в принципе - множество разнообразных Horror Stories об установке Windows 95 наполнили только зарождавшийся в то время Интернет - но дело было сделано; разнообразные операционные системы - и не только Windows - наполнили полки магазинов...

Парадоксальным образом сложившаяся ситуация была только на руку сторонникам свободных ОС вроде Linux'а; раз в принципе возможно "заменить" ОС на своём компьютере на новую, почему бы этой новой ОС не быть Linux'ом? Появились первые "дистрибутивы", положившие начало нескончаемой серии анекдотов и споров на тему "Установка Linux'а чайником".

Сказанное выше приведено здесь для иллюстрации следующего утверждения: "простота использования" должна быть отделена от "простоты установки", ибо последнее вообще не есть дело конечного пользователя. Если даже для установки Linux'a требуется научный консилиум, а Windows устанавливаются "на ура" с первой попытки, это ни в малейшей степени не есть недостаток Linux как такового, а отражает лишь тот очевидный факт, что у Microsoft'а больше денег для отладки инсталляционных программ; то же, что в действительности ситуация подчас едва ли не обратная - отрадно, но, опять-таки, всё-таки не относится напрямую к Linux'у как таковому.

Так вот, я недавно - в первый раз - купил компьютер с предустановленным Linux'ом - т.е. именно так как в соответствии с изложенной выше "теорией" и должно быть - и хотел бы сказать несколько слов о "простоте" его настройки и использования.

Ну, я не буду здесь подробно рассказывать о том, что компьютер подвис при первой же загрузке, попытавшись "конфигурировать" мышку, а потом повторил тот же коленкор с "конфигурацией" клавиатуры, успешно загрузившись лишь на третий раз. Нет смысла жаловаться и на то, что при регистрации на RedHat Network инсталляционная программа просто сообщает об "ошибке" и предоставляет пользователю самому догадаться о том, что выбранное им user name оказалось не уникально и надо вернуться на несколько экранов назад и заменить его. Не будем придавать большого значения тому, что во время настройки ОС меня никто не спросил об имени моего компьютера, а когда я его потом задал сам, система при следующей перезагрузке начала вновь весь процесс "конфигурации железа", включая и злополучную конфигурацию клавиатуры и мышки. Наконец, отринем как совсем уж мелкий недостаток то, что после "апдейта" на последнию версию установленных пакетов напрочь сломался 3d-акселератор, и пользователь, как, видимо, предполагалось, должен был сам догадаться скачать update с сайта nvidia.

Но вот когда система установки пакетов напрочь отказалась их устанавливать с присланных мне CD (утверждая, что в упор их не видит) - вот это меня по-настоящему озадачило.

Пришлось полезть в Python'овкий код разбираться. Когда выяснилось, что по какой-то странной причине lock, который эта программа сама ставит на мой cd drive, не освобождается, и самой этой программой затем воспринимается как признак того, что этот drive надо игнорировать - я списал это на издержки наличия на моём компьютере двух cd drive'вов - видимо, настолько редкой конфигурации, что никому никогда не приходило в голову её тестировать, - поправил ошибку и запустил программу вновь, будучи уверенным что уж теперь всё заработает.

Когда оказалось, что поведение программы установки не изменилось ни в малейшей степени - мои CD она в упор не замечала - прошлось разбираться дальше. Оказалось, что после того, как я запустил программу up2date, синхронизировавшую установленные версии пакетов с последними обновлениями с сервера (собственно, я её не запускал, она запустилась сама как часть стандартной конфигурации, хотя я, естественно, мой её убить если бы захотел), система поменяла некий внутренний "timestamp", соответствовавший исходной инсталляции, и таком образом установленная версия перестала соответствовать имевшимся у меня CD, по коей причине программа установки их и "не видела".

Вероятно, имелось в виду, что пользователь сначала установит все нужные ему программы, а только потом запустит up2date, но кто же об этом предупреждал?

В моей конкретной ситуации, можно было загрузить "новые" ISO с сайта RedHat, и указать соответствующую директорию программе установки; после этого все заработало (ну, о мелочах вроде того, что программа установки категорически отказывается добавлять что-либо относящееся к PHP, утверждая, что PHP не установлен, хотя он помечен как установленный, и по той же причине не давая возможности удалить якобы "установленный" PHP, чтобы его потом установить заново - я уж умолчу)

Вот и скажите мне, какая вероятность того, что средний пользователь сможет разобраться во всех этих хитросплетениях на компьютере с предустановленным Linux'ом?

P.S. (18-May-07). А ещё, кстати, выяснилось, что с какого-то бодуна на компьютере один из пакетов относящихся к поддержке C++ был установлен для другой архитектуры (i386 вместо x86_64 как должно было быть) и поэтому в то время как gcc нормально работал g++ всегда валился, успев впрочем произвести на свет тысячи сообщений об ошибке совершенно мистического свойства (ну это уже не вина RedHat'а, а проблема g++ и вообще компиляторов с C++); при этом, естественно, установить правильный пакет (из стандартного GUI) не было никакой возможности, так как система утверждала (справедливо), что он "уже установлен" (а архитектуру она при этом игнорировала). Установка напрямую через rpm решила проблему....

Разумеется, описанное не может быть отнесено к проблемам "рядового пользователя", которому навряд ли понадобится компилятор с C++, но это хорошо характеризует качество контроля со стороны дистрибьюторов Linux'а.