← All posts tagged UX

OCTAGRAM
почта UX Прояснили вчера работники отделения Почты России, почему номер посылки не отслеживается. Оказывается, в начале не R0 как эр-ноль, а RO как эр-о. Мало того, что диапазон символов допускает такую неоднозначность, так она ещё и реализуется штатно. И по шрифту я вообще не могу отличить о от нулей в остальной части номера.
OCTAGRAM
Linux SSL Один тип на конференции админов не первую неделю пытался установить SSL от Let's Encrypt. То certbot не запустится, то апач всё равно с левым сертификатом сайт покажет.

<Яdmin> вот нафига вы этому барану еще и помогаете? кончится же очередной волной спама)
<RoLex> apt-get install python-pip && rm -fr /usr
<iacopo_R360> apt-get install python-pip && rm -fr /usr <-------------- verlihub ?
<iacopo_R360> root@555495:~# apt-get update
-bash: /usr/bin/apt-get: No such file or directory
<iacopo_R360> Rolex почему ты сделал мне эту команду? заставить меня форматировать сервер?
<iacopo_R360> buttana della miseria
<pewpew> готово, помогли, лол
OCTAGRAM
Linux СЯУ, что ограничение количества открытых файлов не в районе 65535, а очень даже может оказаться 1024 на конкретном хостинге.
OCTAGRAM
pthreads Strategies for Implementing POSIX Condition Variables on Win32

Заставил себя вчитаться. Вчера заснул после PulseEvent, сегодня со свежими силами продолжаю читать про SetEvent. Хотел написать, что никак не могу понять эту часть:
8. Thread C2 is the only thread left and blocks forever since not_empty_ will never be signaledПока писал, почему не могу понять, понял.

То, что в этой статье описывается, как пользоваться WinAPI времён XP, не принципиально.

Во-первых, во второй части указано, как реализовывать события, если их нет, и как реализовывать мониторы поверх событий, если в операционной системе нет атомарного ожидания одного объекта и сигнализации другому (Windows 95, Windows NT 3.51).

Во-вторых, я читаю, как сделан M:N планировщик IBM NGPT, и там тоже поверх событий сделано: на строке 333 ожидание входа в мьютекс, а на строке 998 — ожидание условной переменной, а откуда берётся ev, можно посмотреть по строкам выше.

Это отличается от того, что пишет, например, Дмитрий Завалишин, разработчик Фантом ОС, под авторством которого вышло научно-популярное чтиво про архитектуру примитивов синхронизации:
Иерархия реализации такова: mutex/cond/sema сделаны на базе спинлоков, спинлоки — на базе атомарных операций, предоставляемых процессором.
Внутри ядра мьютекс реализован с помощью спинлоков, а вот спинлоки реализованы сами по себе, автономно. Они — действительно базовый примитив. Ниже — только сам процессор.

Смотрю его код и вижу не событие, а некую очередь, которая то ли так же, как события, работает, то ли нет, но неплохо бы, чтоб это где-то уточнялось. Разработчик osFree, когда я его на эту тему пытал в IRC, говорил, что у них в L4 сообщения посылаются между процессорами.

То есть, восполняя пробелы:
mutex/cond/sema сделаны на базе спинлоков и либо событий, либо очередей потоков, либо сообщений.
События, очереди потоков или сообщения реализованы на базе спинлоков и атомарных операций, предоставляемых процессором.
Спинлоки реализованы на базе атомарных операций, предоставляемых процессором.

Напрашивается предположение, что между подчёркнутым есть изоморфизм или даже синонимия, но сам я такого утверждать не могу, а чтоб где-то авторитетно утверждалось, не вижу. Если про эту часть даже тот, кто сам её писал, «забыл», что говорить о других.
OCTAGRAM
pthreads GreenThreads NGPT Довольно непросто найти сейчас M:N планировщик. Судя по сохранённой странице IBM NGPT, его последняя версия — 2.2.2, но в Интернет Архиве нашёл только максимум 1.9.90. Ещё хорошо поискав, нашёл NGPT 2.2.1.

Как делать обычные потоки с предвыделенными стеками, уже давно разобрались, а вот с зелёными ещё ничего не решено, и как делать M:N планировщик второго уровня поверх ядра, с академической точки зрения всё ещё интересно.
OCTAGRAM
Китай UX qq Sorry. Your session has expired. Please enter your password again.
(Error:0x00000037)

А, круто, ну а как бы его ввести тогда? Наверное, после того, как я нажму OK, должен вылететь диалог. Или главное окно должно трансформироваться во ввод пароля, как при первом запуске. Но нет, главное окно без изменений, мой аватар там серым из-за оффлайна, а если через меню пытаешься переключить в онлайн, выскакивает этот диалог с кнопкой OK. Никаких «log out» в меню не наблюдается. Помог только перезапуск QQ.
OCTAGRAM
Linux На той системе, где постоянно забивался /boot, и сегодня та же история, кажется, понял, почему apt-get autoremove в cron не помог. Он ведь задаёт вопрос "Do you want to continue? [Y/n]", на который некому ответить, а раз так, значит, надо забивать /boot своими копиями initrd до победного. Добавил ключик -y. Должно полегчать.
OCTAGRAM
Linux Странное поведение Линукса наблюдаю. Есть веб-сервер, веб-сервер иногда переписывает файлы конфигурации и перезагружает службы с помощью service restart, где — это последовательно несколько сервисов. Выясняется, что по мнению netstat после того, как веб-сервер это сделал, все порты веб-сервера считаются занятыми sniproxy. Но веб-сервер на них всё ещё работает. Если же перезапустить веб-сервер, он не сможет занять свои порты, потому что они заняты, теперь уже по-настоящему.
OCTAGRAM
домены отзыв UX Domenus .pe Первые впечатления от регистратора Domenus (ООО «Регистратор», группа компаний Филанко):
Про глюки — правда. Зарегистрировал домен, написало «Спасибо, что выбрали нас» и что задание поставлено в очередь. Заходишь в очередь, а там — пусто. И в законченных нет. И в доменах нет. И баланс не изменился. Я уж подумал, что-то не сработало, пошёл по второму разу. Но нет, домен уже занят. Судя по WHOIS в панели управления — мной. Но в GNU jwhois этого ещё не видно. Через какое-то время баланс понизился, домен появился. В очереди заданий теперь можно наблюдать 504 Gateway Timeout.

В панели управления крутится блок «А знаете ли Вы что» с трёмя произвольно выбранными ссылками. Видишь «Став клиентом Domenus.ru, вы получаете ПРЕИМУЩЕСТВА при регистрации ДОМЕНОВ!», открываешь, перебрасывает на domenus.ru , а там — 404. Символичненько. Видишь «Для вас профессиональный хостинг стоит от 60 руб./мес у Hoster.ru», открываешь, перебрасывает на hoster.ru , а там — минимум 85 руб./мес. «Для вас» — это не про нас. Видишь «Виртуальный сервер VDS теперь доступен у Hoster.ru по выгодной цене!», открываешь, перебрасывает на hoster.ru , а там — 404. Не заладилось что-то с выгодными ценами. Это если судить по блоку «А знаете ли Вы что» в панели управления.

А так-то, конечно, что бы я там делал? В то время, как зарубежные регистраторы согласны зарегистрировать домен .pe начиная с $50 в год, RU-CENTER ломит 7 500 руб./год. Reg.ru поменьше, 5 706 руб./год. Это из тех, что я увидел на hostings.info, российском аналоге TLD List. Nameserver.ru на поверку вообще не продаёт PE, а Доменуса с их 5 080 руб./год в списке нет. Листал выдачи поисковиков, изучал, нашёл. Надо бы в hostings.info по этому поводу написать, раз уж я так повысил свою экспертизу в области перуанских доменов у российских регистраторов.

Почитал сайт Доменуса. TLS(SSL) сертификатами они торгуют, тоже не самыми дорогими среди OV и среди российских, но и чуть подороже, чем у ЛидерТелекома: 4 312 руб./год за Thawte SSL Web Server на 3 года у Доменуса против 3 708 руб./год у ЛидерТелекома до 30 ноября по «акции», который потом кааак подскочит до 9 934 руб./год. Такое чувство, что кто-то меня дурит, и Доменус делает это хотя бы менее заметно.

Но вот что плохо, CodeSign и S/MIME у Доменуса нет. То есть, если они согласно требуемым процедурам проверили актуальность данных для сертификата, а потом я захочу Authenticode такой же, надо будет к кому-то другому обращаться и ещё раз проходить проверку. И это странно. Ведь по-любому же перепродают из одного источника, и там, откуда берут сертификаты для сайтов, есть и для программ. Надо просто делать то же самое.

Очень понравилась услуга «Свидетельство о регистрации доменного имени».
Обычно используют: … Для получения товарного знакаИ у меня как раз логотип нарисованный готов, я изучаю вопрос, как всё сделать. Самый дешёвый регистратор из тех, кто продаёт перуанские домены и одновременно знает, как проверить российского ИП, ещё и за недорого свидетельство может сделать прямо в тему. Странно, домены имею у трёх регистраторов, но я раньше не знал, что такое бывает. Может, не обращал внимания. Но здесь это есть, и на видном месте, в том числе в панели управления у домена такая кнопка есть.

Техподдержка Доменуса отработала на отлично. Через банки между расчётными счетами деньги ходят традиционно долго, надо сканы платёжек с гарантийными печатями слать, чтоб сразу зачислили. При том, что я для них ещё вчера был неизвестно, кто, а тут заслал всяких сканов и претендую на услуги по несколько тысяч рублей под честное слово, что деньги будут, проверяли всего 4,5 часа. Заплатил и в тот же день купил, что хотел.

В общем, по мелочам — досадные недочёты, а то, что критично — хорошо.
OCTAGRAM
деньги PayPal UX Так и не смог зайти в микропортал для отправки документов для Корпоративного счёта PayPal, хотя вторая неделя прошла с Шага 1 согласно руководству и четвёртый день с Шага 2, хотя согласно руководству 2-4 рабочих дня с Шага 1. Но за эти две недели однозначно в Личном кабинете что-то изменилось. Раньше я в Центре разрешения проблем видел систему обращений в поддержку, где у меня всё по нулям, но такое было. А теперь я туда зайти не могу, перебрасывает в выглядящий иначе раздел. Нашёл в новом интерфейсе, где написать или позвонить в техподдержку, но там ничего нет. Только строка поиска по базе знаний, шапка, подвал и всё. Открыл консоль разработчика, там жалобы на нарушение CSP. Смог победить тем, что открыл не в новой вкладке, а сделал переход в существующей. Перейдёшь в позвонить, потом обратно в email, и что-то появляется под строкой поиска. Похоже, через HTML5 History API код перехода отрабатывает не так, как при открытии, и ошибка не проявляется. Почти. Чтобы обратиться, нужно выбрать тему и подраздел своей проблемы, и в этих выпадающих списках нет ничего кроме «Выберите тему» и «Выберите подраздел». С которыми перейти к написанию письма невозможно. Ну хоть по ссылке для звонка в техподдержку безплатный телефон поддержки отобразился корректно. Там был отображён шестизначный номер, который, если набрать, в техподдержке оперативно находят, кто звонит. Нашли, пообщались, быстро мне включили доступ на микропортал.

На микропортале довольно дотошные некоторые вопросы. Я первый раз в жизни вижу, чтоб хотели знать серию и номер свидетельства ИНН. И ИНН банка.
OCTAGRAM
деньги PayPal UX Подтвердил свой банковский счёт в корпоративном PayPal для вывода средств, но счёт PayPal до сих пор ограничен. Через меню-колокольчик попадаю в Центр разрешения проблем, где нет проблем. Не самым очевидным образом нашёл, как увидеть проблему. Там есть ссылка «Вернуться на страницу «Сведения об ограничении»». То есть, через меню-колокольчик я как будто бы перелетаю слишком далеко, и мне нужно вернуться чуть назад, чтобы увидеть. Пишут там такое:

Почему доступ к моей учётной записи ограничен?
Доступ к вашей учетной записи ограничен по следующей причине (причинам):
29 окт 2017: Нам необходимо собрать дополнительную информацию о вашей компании в целях соблюдения требований законодательства Российской Федерации. Чтобы предоставить данную информацию, перейдите на портал paypal-merchant.ru и войдите в систему с помощью своего электронного адреса и пароля PayPal. Следуйте дальнейшим инструкциям на странице.
(Номер вашего дела по этому вопросу — PP-███-███-███-███)

Ну хорошо, это ожидаемо, что без документов меня не пустят, а я помню, что я их не отправлял. Иду на этот сайт. Пытаюсь там залогиниться. Логин-пароль там вводить не надо, там какой-то OAuth с PayPal, так что я только подтверждаю вход во всплывающем окне с домена paypal.com. Ну как это обычно делается в OAuth. Система меня не пускает. Пишет:

Вы ещё не можете зайти в систему для подтверждения необходимой информации. Подождите несколько дней и попробуйте войти на сайт ещё раз. Если вы все еще не можете войти на сайт, свяжитесь с нами.
Э? Я же недели две назад регистрировался. Как может быть, что я до сих пор не могу? И, кстати, в Центре разрешения проблем по указанному номеру дела ничего не находится. Почитаю-ка я руководство.

Кстати, чтоб мне найти ссылку на него, пришлось новое приватное окно открыть и двумя разными путями попытаться зайти в открытие нового корпоративного счёта. Первый раз с главной страницы PayPal по ссылке «У вас бизнес? Откройте Корпоративный счет» зашёл сразу туда, где просят email для входа или регистрации, и всё. Во второй раз сначала зашёл в Решения для бизнеса. Ознакомьтесь с нашими продуктами, нажал там один раз «Открыть Корпоративный счёт», открылся прямоугольник с ещё одной кнопкой «Открыть Корпоративный счёт» и под ним ссылкой на искомый PDF. В основном (неприватном) окне, где я залогинен, с главной страницы PayPal перебрасывает внутрь в обзор счёта, и оттуда я где-то в очевидном месте эту ссылку не наблюдаю.
OCTAGRAM
Linux pe exceptions SEH Самая проблемная (как сейчас представляется) часть совмещения библиотек для разных OS — это исключения и сигналы, которые конвертируются в исключения разных языков программирования. Виндоуз в этом плане очень продумана, по крайней мере, 32-разрядная и более поздние. Там общая для всех языков программирования система структурной обработки исключений (SEH), поэтому самое сложное, что там нужно делать — это брандмауэр исключений. Например, в ActiveX объектах такое есть. Исключение ловится, конвертируется в информацию IErrorInfo, передаётся в COM, а функция возвращает неуспешный HRESULT. Потом, по другую сторону можно обратно сконструировать исключение другого языка программирования.

Но нас интересуют операционные системы вроде Линукса и БиЭсДи, и там всё гораздо сложнее из-за того, что функционал структурной обработки исключений отдан на откуп компиляторам, а ядро вызывает сигналы. А компиляторы — кто в лес, кто по дрова. Они заточены под то, что вся программа написана на одном языке программирования, и код инициализации ставит обработчики сигналов для всей программы, и только так оно работает, а возможность комбинировать разные языки программирования не учтена.
OCTAGRAM
Linux opensource Mercurial Китай Сайты, которые нужно знать китайскому поклоннику открытых исходников:
opencas.org
oss.org.cn

code.csdn.net
coding.net
git.oschina.net

Но при этом какой-нибудь tangram.baidu.com вполне может вести на банальный GitHub.

Думал, куда бы свалить с пидорского BitBucket. На международных CodePlex, BitBucket, Google Code, Assembla, SourceForge какой ни возьми, варианты SCM разные, и Mercurial тоже был. На трёх указанных китайских — нет. Беда. Глянул в китайскую вики, там тоже не видать своих сервисов.
OCTAGRAM
Linux Delphi Раньше я видел в действии только Делфи для Мак ОС Десять. Скомпилировал при помощи dccosx.exe консольный «Привет, мир!», всё прошло успешно, но на Мак ОС Десять, правда, не запустилось, потому что у меня был Тигр, а надо было хотя бы Леопард. Кому надо, зачем надо, так хорошо без него всё было, но как обычно, просто надо, и всё тут. На XP Safari 5 можно было установить, а на более новый Тигр — всего лишь Safari 2. И FireFox 26 на XP против FireFox 3.6 на Тигре. Про Делфи XE2 можно было сказать: «И ты, Брут?» Но примечательно, что компилировалось это всё дело без доступа к Мак ОС Десять, ни к Тигру, ни к Леопарду, ни к какой.

А вот на Линуксе я же помню, что вылезает, если с ЦентОСа на Дебиан перенести бинарник. Сразу то символ в glibc не той версии, то сегфолт, то ещё что-нибудь не заладится. Интересно, как с этим новый Делфи справляется. Ведь ему же не дают полапать конфигурацию операционной системы разработчика, и он не может к ней глубоко привязаться, как это любит делать всё автотулзовое и вообще чуть ли не всё линуксовое.

Собственно, пока я окончательный бинарник так и не смог получить, а только .o. То есть, так же просто, как с Мак ОСом, уже не работает. Если пытаться что-то сделать из IDE, хотя бы Build или Compile, без Run, при любом раскладе IDE требует подключить к paserver на Linux, а если нет, то и компилировать не будет. Попытался задействовать в качестве платформы paserver «Bash на Ubuntu», то есть, WSL, и не смог скопировать paserver туда. Помедитировал на вывод mount и ls / в этом bash, не нашёл ничего похожего на файловую систему Windows. Это действительно параллельная Вселенная. Можно, конечно, на сайт залить, а потом wget'ом скачать, но решил дождаться установки Creators Update, а пока пойти другим путём.
OCTAGRAM
Linux Delphi ada Почитал сорцы в linuxrtl, бросилось в глаза MarshaledAString вместо PAnsiChar. Открыл System.pas, нашёл там при включенном NEXTGEN такое:
_PAnsiChr = _PAnsiChar;
MarshaledAString = _PAnsiChr;
При этом _PAnsiChar не объявляется, то есть, он встроенный. Без NEXTGEN _PAnsiChr = привычному PAnsiChar. Напрашивается мнение, что из MarshaledAString пытаются лепить типа-не-указатель, который надо класть в System.TMarshal. Судя по тому, что WriteLn(X) и X[0] := '2' компилируются, природа этого типа пока ещё не совсем замаскирована.

Также огорчило, что до сих пор нет нормальных 32битных символов и строк. В языке Ада они уже 12 лет как появились как неотъемлемая часть стандарта. Как можно идти на Линукс без 32битных строк? В API открытых библиотек Юникод, сколько я видел, любой libidn возьми, всегда представлен 32битными строками. Открыл System.pas, увидел там type UCS4Char = type Cardinal для всех платформ, где Cardinal — это беззнаковое 32-битное целое, а type … = type … в Делфи делает новый тип, не совместимый со старым без приведения типа, аналог адского type … is new …

Ещё посмотрев по сторонам, нашёл StdDefTypes.inc , а в нём — type wchar_t = Int32

Ни методов TMarshal, ни попыток аналогично скрыть указатель вроде Marshaled32String, ничего такого. Высокопоставленные китайские чиновники с именами из иероглифов за пределами BMP, а также все причастные, которым текст с этими именами надо обрабатывать, не одобряют это.
OCTAGRAM
Linux ada mips Windows10 WSL Windows 10 Creators Update: что нового в Bash/WSL и Windows Console
В то время как Win10 Anniversary Update поставлялся с поддержкой Ubuntu 14.04, в новом обновлении Win10 CU теперь WSL поддерживает Ubuntu 16.04.То есть, если хочется писать на Аде под роутер на MIPSe, теперь не надо искать, как бы так обновить встроенную Ubuntu до 15, чтобы не сломать.

Главой целью создания WSL было уменьшить «разрыв» по ощущениям, когда запускаешь инструменты Windows рядом с инструментами командной строки и окружениями Linux. Когда мы выпустили WSL в Windows 10 AU, то поместили Linux и Windows рядом друг с другом, но всё ещё был большой «разрыв» между ними — хотя обе системы могли иметь совместный доступ к некоторым файлам, каждое из окружений было довольно сильно изолировано от другого. Пользователи часто говорили, что хотят иметь возможность запускать приложения Windows и консоли Bash, и запускать приложения Linux и Windows. Так что мы добавили эту функцию! В Windows 10 Creators Update вы можете запускать приложения и инструменты Windows из консоли Bash.
Как раз то, чего не хватало. А то хочется dcclinux64.exe вызвать из линуксовых скриптов, а никак, или хочешь прямо из ФАРа запускать mips-linux-gnu-gnatmake и не можешь, тоже не очень здорово. Да, я знаю, что можно через plink и XMing как минимум в одну сторону срастить, и у меня Windows 2003 и Debian в соседних доменах Xen так и живут. А тут-то из коробки теперь. Удивительно видеть, как Microsoft опережает Apple в том, чтобы поддерживать Linux.

Ещё одной частой просьбой сообщества была поддержка в консоли больше чем 16 цветов. Поддержка 256 цветов и более очень важна при работе с современными всё более сложными и насыщенными инструментами командной строки, шеллами и т. д. В Win10 Creators Update консоль обновилась и поддерживает полный, прекрасный 24-битный цвет!
Я даже побежал в MSDN смотреть, какое там новое Console API для этого дела. Но не увидел. Тут советуют начинать любить Escape-последовательности. Эм, а как же гасить панели во всяких ФАР Менеджерах, если мы не можем прочитать буфер и потом восстановить его? Или теперь предлагаете буфер на виртуальном экране ncurses хранить? Вот так поворот.

В общем, пошёл обновляться.
OCTAGRAM
Linux Delphi arc совместимость Посмотрел немного на Delphi для Linux. Компилятор командной строки называется dcclinux64.exe. И там ARC для ссылок на объекты, что было бы очень круто, если не отсутствие поддержки ARC в компиляторах для Windows и Mac OS X. Ну покажите мне такого человека, которой будет писать из-под Винды (и не из-под чего другого) на Линукс (и не подо что другое). Потому что если в целевых платформах затёсывается хоть одна не-ARC, это во всём общем коде становится нельзя положиться на его наличие, всюду вылезают лестницы try-finally, то есть, ARC, считай, что и нет, наоборот, только геморроя добавляется предусматривать постоянно оба случая.

Это напоминает поведение хозяина, который, чтобы собаке было не так больно, режет ей хвост по частям. Linux уже там, а Windows и Mac OS X — ещё здесь. Ожидается, что и Windows будет там, но ещё нет, и пока крутитесь, как хотите.

Для Delphi обычно параллельно выпускается комплементарный C++ Builder, зеркалирующий в C++ особенности Delphi вроде свойств объектов, неявных метаклассов или пресловутого ARC, и синхронизирующий ABI вплоть до наследования классов между языками. Но для Linux я никакого такого компилятора не увидел. Нет bcclinux64.exe, и из IDE, если создать новый консольный проект, нельзя выбрать целевую платформу Linux. Немного неожиданно, ведь кроме одного все компиляторы C++ Builder основаны на clang и LLVM, в том числе для Android, который почти Linux.

Забавно, что для Win32, наоборот, есть сразу два компилятора, bcc32.exe без ARC и bcc32c.exe с ARC. Там тоже режут хвост по кусочкам, но начинают с другого конца. Ох, копец.

Если вдруг ограничиться только Линуксом, только Делфи (без комплементарного Делфям C++, но всё остальное, конечно, можно, включая Аду GNAT и комплементарный Аде G++), и только из-под Виндоуз, тогда всё супер. Хоть в чём-то Делфи становится лучше Ады. А так — копец.
OCTAGRAM
Linux Debian В который раз наблюдаю забаву Дебиан: загадить весь /boot разными версиями ядра, ничего не удалять, дождаться, пока /boot утонет в мусоре, а потом не давать установить ни один новый пакет, пока эти конюшни вручную не очистишь.