LINUX.ORG.RU

Сообщения quwy

 

Скругленные углы экрана

Кто-нибудь может мне объяснить, какого хрена все современные телефоны имеют сабж? Чтобы что? Это чем-то удобно?

Особенно, если учесть, что конструкция корпуса зачастую без проблем позволяет вписать экран тех же размеров, но нормальной прямоугольной формы.

Выглядит как телевизор 50-х годов прошлого века, ей-богу.

 , ,

quwy
()

Об отношении преподов ВУЗов к студентам

Сегодня в процессе общения с женой совершенно случайно с удивлением узнал, что в их ВУЗе все без исключения преподы обращались к студентам исключительно на «ты». Да и вообще, по рассказам, тон общения был скорее характерен для совдеповской средней школы. Я – Учитель, ты – гОВНО. Вплоть до мелкого рукоприкладства, типа подзатыльника за разговоры на лекции.

Меня это немало поразило, потому как у нас все всегда было строго на «вы». А когда нужно было выдать звездюлей очередному раззвиздяю, делалось это скорее в выражениях, характерных для министра, отчитывающего своего зама в присутствии прессы. Ни о каком физическом воздействии даже речи быть не могло (ну, кроме случаев явной агрессии).

Стало интересно, а как вообще с этим обстоят/обстояли дела в учебных заведениях бывшего СССР? Поделитесь историями.

 , ,

quwy
()

systemd: гонка и дедлок зависимостей служб?

Всем привет.

Есть система с systemd, подключена к сети, адрес статический, прописан в /etc/systemd/network/ethX.link.

Есть сетевая служба, которая будучи запущенной до присвоения адреса сетевому интерфейсу, падает с ошибкой. И конечно же при каждом старте она падает, потому что запускается раньше, чем systemd присвоит интерфейсу статический адрес.

В параметре After службы прописан network.target, что, вроде бы должно исключать подобный сценарий.

Ну ладно, казалось бы, плевое дело, заменяем на network-online.target и радуемся.

А хрен там. После изменения зависимости, вся инициализация встает колом на две минуты, пока не закончится таймаут у этого network-online.

То есть, другими словами, пока network-online.target не прописана в данной конкретной службе в After, система стартует нормально (кроме этой службы). Но как только прописываю, сразу же двухминутный затык. И, самое главное, сама служба systemd-networkd-wait-online.service тоже начинает падать с ошибкой таймаута, хотя до этого вся была зелененькая.

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

 ,

quwy
()

Компьютер, на котором линукс не может...

…загрузиться даже в минимальной конфигурации.

Самый обычный NUC-подобный одноплатник на базе N4000, встроенный диск, по-видимому, – eMMC. Винда 10 ставится с пол-пинка, никаких F6-драйверов подсовывать не приходится.

Перепробовал из спортивного интереса с десяток дисрибутивов, ни один даже до командной строки не загрузился. GRUB с флешки стартует нормально, но после выбора варианта загрузки сначала идет долгий выхлоп с такими сообщениями:

[10.843768] mmc1: Reset 0x4 never completed.
[10.844991] mmc1: sdhci: =========== SDHCI REGISTER DUMP ===========
[10.844238] mmc1: sdhci: Sys addr: 0xffffffff | Version:  0x0000ffff
[10.844471] mmc1: sdhci: Blk size: 0x0000ffff | Blk cnt:  0x0000ffff
[10.844798] mmc1: sdhci: Argument: 0xffffffff | Trn mode: 0x0000ffff
[10.844943] mmc1: sdhci: Present:  0xffffffff | Host ctl: 0x000000ff
[10.845178] mmc1: sdhci: Power:    0x000000ff | Blk gap:  0x000000ff
[10.742115] mmc1: sdhci: Wake-up:  0x000000ff | Clock:    0x0000ffff
[10.742115] mmc1: sdhci: Timeout:  0x000000ff | Int stat: 0xffffffff
[10.742115] mmc1: sdhci: Int enab: 0xffffffff | Sig enab: 0xffffffff
[10.742115] mmc1: sdhci: ACmd stat:0x0000ffff | Slot int: 0x0000ffff
[10.742115] mmc1: sdhci: Caps:     0xffffffff | Caps_1:   0xffffffff
[10.742351] mmc1: sdhci: Cmd:      0x0000ffff | Max curr: 0xffffffff
[10.742587] mmc1: sdhci: Resp[0]:  0xffffffff | Resp[1]:  0xffffffff
[10.742824] mmc1: sdhci: Resp[2]:  0xffffffff | Resp[3]:  0xffffffff
[10.743869] mmc1: sdhci: Host ctl2:0x0000ffff
[10.743293] mmc1: sdhci: ADMA Err: 0xffffffff | ADMA Ptr: 0xffffffffffffffff
[10.944991] mmc1: sdhci: ===========================================
[10.958175] mmc0: Controller never released inhibit bit(s).
[10.944991] mmc0: sdhci: =========== SDHCI REGISTER DUMP ===========
[10.944238] mmc0: sdhci: Sys addr: 0xffffffff | Version:  0x0000ffff
[10.944471] mmc0: sdhci: Blk size: 0x0000ffff | Blk cnt:  0x0000ffff
[10.944798] mmc0: sdhci: Argument: 0xffffffff | Trn mode: 0x0000ffff
[10.944943] mmc0: sdhci: Present:  0xffffffff | Host ctl: 0x000000ff
[10.945178] mmc0: sdhci: Power:    0x000000ff | Blk gap:  0x000000ff
[11.042115] mmc0: sdhci: Wake-up:  0x000000ff | Clock:    0x0000ffff
[11.042115] mmc0: sdhci: Timeout:  0x000000ff | Int stat: 0xffffffff
[11.042115] mmc0: sdhci: Int enab: 0xffffffff | Sig enab: 0xffffffff
[11.042115] mmc0: sdhci: ACmd stat:0x0000ffff | Slot int: 0x0000ffff
[11.042115] mmc0: sdhci: Caps:     0xffffffff | Caps_1:   0xffffffff
[11.042351] mmc0: sdhci: Cmd:      0x0000ffff | Max curr: 0xffffffff
[11.042587] mmc0: sdhci: Resp[0]:  0xffffffff | Resp[1]:  0xffffffff
[11.042824] mmc0: sdhci: Resp[2]:  0xffffffff | Resp[3]:  0xffffffff
[11.043869] mmc0: sdhci: Host ctl2:0x0000ffff
[11.043293] mmc0: sdhci: ADMA Err: 0xffffffff | ADMA Ptr: 0xffffffffffffffff
[11.044991] mmc0: sdhci: ===========================================

100500 раз чередуются дампы SDHCI-регистров, связанные с mmc0 и mmc1.

В конце сообщение:

mmc0: Failed to initialize a non-removable card
Unable to find a medium containing a live file system

Я категорически не понимаю, почему он не может продолжить загрузку с флешки из-за того, что не смог проинициализировать eMMC. Хотя, с другой стороны, а что с там делать без главного накопителя, даже если бы он загрузился?

Что пробовал:

  • Другую флешку (хотя с этой ставил и винды и линукса уже сотню раз)
  • Другой порт (есть как USB2, так и USB3, но результат совершенно одинаков)
  • Переключаться в Legacy Boot
  • MBR-режим в rufus
  • DD-режим в rufus
  • tuxboot вместо rufus
  • Колдовал над iommu и intel_iommu в параметрах ядра в GRUB

В итоге не продвинулся ни на миллиметр.

Что еще можно сделать? Или полномочия линукса на этом – всё?

 , ,

quwy
()

Имена сетевых интерфейсов

Всем привет.

Почему у меня в одной системе (свежий Debian) сетевые интерфейсы именуются тремя разными способами?

Есть и wlan0 и wlp2s0 и enx78e7d10046da.

Почему такой бардак, и как привести все к именованию строго по размещению?

В /etc/udev/rules.d/ пусто.

 , ,

quwy
()

Ну почему ардуинщики такие криворукие?

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

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

Чтобы не быть голословным. Классика! Ардуинщик обнуляет биты в регистре:

TCCRn |= (0<<CS02)|(0<<CS01)|(0<<CS00);
В данном случае придурку просто повезло, что от содержимого TCCRn ничего не зависит в дальнейшем.

Второй показательный пример, ардуинщик пишет обертку над чужой либой:

int Serial::available(void)
{
	return (unsigned int)(UART_RX_BUFFER_SIZE + UART_RxHead - UART_RxTail) % UART_RX_BUFFER_SIZE;
}

int Serial::read(void)
{
	UART_Receive_Byte(); // возвращает uint8_t
}
Два соседних метода просто гениальны. Вообще непонятно, он свою поделку запускал хоть раз?

Затянуть на восьмибитный кристалл FPU-рантайм безо всякой надобности? Да проще простого!

float Voltage=ADC/1024*1.1/DIVIDER;
...
if(Voltage < 10.5) {
  ...
}
// больше Voltage нигде не упоминается
Потом стонут, что их мигалка светодиодами в 32 килобайта не влезает.

Тут вообще непонятно, о чем в этот момент думал очередной дятел:

USICR = (2<<USIWM0);
Причем оно у него заработало! Но только потому, что бит в этом месте нужно было двинуть на одну позицию левее, чем USIWM0 (для чего объявлен в хидерах и описан в даташите USIWM1). Лишнее подтверждение работы вопреки стараниям кривых рученок.

Про такие мелочи, как запись в регистры битовых констант без сдвига, битовых констант от других регистров, магических хексов вместо битовых констант, и говорить нечего, это просто повально.

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

И вся эта пакость расползается по интернету, торчит на каждой ардуинопомойке, копипастится из проекта в проект. Жуть.

Ардуинщиков — в биореактор.

 , ,

quwy
()

Один пример авторитаризма в СПО

Многие поборники СПО вменяют проприетарщине авторитаризм. Мол, как захочит разраб, так и будет, и пофиг мнение юзверей.

Доля правды тут есть, но СПО в этом плане вообще ничем не лучше.

Простой пример из моей практики: переключение раскладки клавиатуры.

В винде событие переключения раскладки происходит в момент отжатия комбинации клавиш. Чтобы переключение происходило только по условному Crtl+Shift, а не, скажем, по Crtl+Shift+N.

Причем такое поведение специально реализовано только для переключалки языков, обычные хоткеи во всей системе работают по нажатию.

А в линуксе переключалка использует глобальный обработчик хоткеев и, соответственно, срабатывает при нажатии комбинации. В результате чего Crtl+Shift+N делает совсем не то, чего от него ожидаешь.

При чем тут авторитаризм в СПО? А при том, что эта проблема давно известна в виде бага xserver 865. Заметьте, не 100500865, а просто 865, что уже должно намекать на его возраст.

Более того, патч, устраняющий эту проблему, существует примерно столько же, сколько и сам баг. Но в апстрим его не принимают люди, которые в силу своей языковой среды переключателями раскладок просто не пользуются.

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

Ну и чем это лучше проклятой проприетарщины? Тем, что можно собрать свой пропатченый xserver? И либо патчить его после каждого обновления, либо заблокировать обновления для доброй половины системы?

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

P.S.

А в конце у меня три плейсхолдера для трех самых ожидаемых и одновременно самых глупых и непрошенных советов по озвученной проблеме:

1. Переключаю через CapsLock, сколько сочетаний клавиш есть с CapsLock? (C) @Kolins

2. один раз настроить локальную сборку пакета с патчем и всё. ну иногда может патч будет слетать (C) @caryoscelus

3. Ставишь переключение строго на lctrl+lshift (C) @Smacker

 , ,

quwy
()

Visual Studio Code

Народ, а кто может объяснить мне это нездоровое массовое увлечение сабжем, даже среди линукс-девелоперов?

В их же собственных доках, где-то прочитал однажды, что, мол, «VSCode – это не IDE, это просто редактор кода». Типа, не ждите от этой поделки ничего хорошего, просто смиритесь и страдайте.

Почти год приходится пользоваться этим позорищем по работе, и все это время не прекращаю охреневать от его внешней и внутренней убогости.

Интерфейс деревянный, все прибито гвоздями. Хотел добавить панель с парой кнопок и текстовым статусом, но даже из аддона это сделать невозможно. Там вообще нет такой сущности, как панель с кнопками в главном окне. Я еще удивлялся, почему половина аддонов норовит в статус-бар что-то добавить. Оказывается, что убогое API позволяет от себя что-то добавить только в статус-бар. Выглядит отвратно, юзабилити вообще на нуле.

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

Конфиги в JSON. По опыту этого и других продуктов полностью убедился, что если у программы конфиги в JSON, то перед тобой полная говнина. Исключений нет.

Подключение тулчейна – адский гемор. Не, наверное, гребаная node.js, которой сабж провонял насквозь, подключается с пол-пинка, я не проверял. Но чтобы настроить компиляцию и отладку банальной консольной утилиты на gcc, нужно потратить пол дня и так и не получить на 100% устраивающего результата. Потому что врапперы к дебаггерам – такое же деревянное говно, как и все остальное.

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

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

Кто-то не так дано тут доказывал, что не все, что написано на «электроне», тормозит, приводя в пример сабж. Так вот, чуда не случилось. Оно тормозит. На машине с i7, 32 GB памяти, и SSD-диском, тормозит иногда так, что хочется всех жабаскрипт-кодеров поприбивать нахрен.

А еще я подозреваю сабж в распространении такого ублюдочного явления, как dark theme во всем и вся. Железных доказательств у меня нет, но именно в этом продукте я в свое время стал слишком часто замечать это извращение на экранах коллег. А теперь оно лезет вообще отовсюду, часто вопреки не только вкусу, но и здравому смыслу.

 , ,

quwy
()

5% потерь на линке. Линукс оффлайн.

Собственно, сабж.

Просто констатирую факт. Остался без собственного интернета в другой стране. По-быстрому ломанул пару ХСВ. Уровни – так себе, -75dBm и ниже. Пинг весело пингует, пропуская примерно один из 20 пакетов.

НЕ ГРУЗИТСЯ ВООБЩЕ НИХРЕНА!

Точнее, что-то, конечно, удается загрузить, но это какой-то пипец на выпасе, ей богу.

Ах да. Винда дает ютуб смотреть (хоть и с затыками местами). Linux же через раз домен резолвит. Пять сраных процентов потерь.

И кто тут «сетевая операционная система» теперь?

 , , ,

quwy
()

Ubuntu terminal: нормальный буфер обмена

Всем привет.

После непродолжительного десктопствования под Убунтой возникло несколько адски выбешивающих моментов. Один из них – взаимодействие комплектного терминала и буфера обмена.

Это же какой-то алогичный вырвиглазный пипец! У терминала какой-то свой буфер для стандартных комбинаций копирования и вставки. Но если он сейчас пуст, то используется системный буфер. Но если в него что-то попало, то все: из системного буфера можно вставить только нестандартной комбинацией или мышкой. И до закрытия терминала уже ничего не изменить. Причем эти комбинации и мышка не работают в некоторых редакторах, например в mcedit.

Какой кретин это придумал?

Короче, посоветуйте или как эту дрянь отключить нафиг, или что установить вместо убунтовского терминала, чтобы без этих дебильных закидонов.

 ,

quwy
()

Апгрейд Debian 6

Всем привет.

Дошли руки до апгрейда очень старого сервера, который пахал без проблем много лет, но понадобился TLS 1.3 и все полетело под откос.

APT полностью неработоспособен. Архивные пакетные репы если и отвечают, все сертификаты давно протухли. Не работает вообще ничего. Попытки обновления сертификатов ничего не дают, кажется, из хранилища качаются уже с исчерпанным сроком работы.

Короче, хотелось хотя бы попытаться обновить поверх на свежую версию. Не получится – хрен с ним, поставлю начисто, но вдруг?

Есть варианты как это сделать с неработающим apt-ом? Или как завести apt, чтобы провести апгрейд штатно?

 , ,

quwy
()

Снова про Спектрум

Тут недавно отгремела одна тема про сабж. Я ее активную фазу прозевал, но есть несколько моментов, которые хотелось бы, так сказать, актуализировать. А заодно развеять один очень стойкий миф.

Самый главный вопрос топика - откуда в СССР взялись клоны этого самого спектрума. Вокруг него и будем плясать.

Если кто не сильно знаком с аппаратной архитектурой этого компьютера, то пара слов об основах будет не лишней. Собран сей агрегат был в основном на обычных микросхемах широкого потребления. Даже процессор не был каким-то «черным ящиком». Распечатанная на обороте бухгалтерских отчетов документация на него в странах загнивающего запада имела статус сортирного чтива у любого вовлеченного в индустрию инженера.

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

Теперь к сути мифа.

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

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

Я причастный к разработке электронных систем человек. И для меня эта история выглядит как кинолента «Хакеры» для заядлого линуксоида.

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

Бред собачий. Сверх-разумы, способные на такое, давно поработили бы нашу никчемную планетку со всеми Гейтсами, Масками и Джобсами вместе взятыми.

ЭТО ТАК НЕ РАБОТАЕТ. Нельзя в подобных условиях по осциллограммам отреверсить ничего сложнее одиночного триггера.

Теперь к главному вопросу. Как же все-таки смогли повторить? А ответ банальный: реверс-инженеринг на основе утянутых с запада спецификаций. Зная, КАК должно работать, всегда можно сделать то, что будет повторять данную логику.

Это как алгоритмическая задача из учебника по информатике. Если нужно отсортировать массив, то есть десяток способов: от «пузырька» до «quicksort». Результат всегда один, пусть и с разными затратами ресурсов. Отсюда, кстати, и количество вариантов клонов. Каждый реализовывал логику ULA немного по-своему, в целом повторяя оригинал, но почти всегда с некоторыми косяками, ведущими к несовместимости отдельных программ.

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

 

quwy
()

Как я хотел исхоники Android-программы поправить

Есть тут ведроид-девелоперы? Вы можете объяснить, что за херня творится с вашими инструментами?

Рассказываю.

Понадобилось сделать сабж, причем подходящего девайса у меня нет, поэтому проверка изменений предполагались в эмуляторе. Я раньше делал это, никаких особых проблем не помню, решил, что и тут справлюсь за пару минут.

Устанавливаю Android Studio в чистую как слеза виртуалку (Оффтоп 10, если кому интересно). Не на хост потому, что после всех этих студий систему проще выбросить, чем отмыть от всего установленного шлака.

Открываю и собираю исходники без проблем, а вот эмулятор даже не запускается. Итак, считаем косяки.

  1. Штатный конструктор виртуальных девайсов не создает один из файлов, который нужен эмулятору (hardware_properties.ini). Вот так! Родной конфигуратор создает неработоспособный конфиг, который невозможно запустить без правки руками.

  2. После создания недостающего файла новая проблема: «This AVD’s configuration is missing a kernel file». И что-то про файл «kernel-qemu». Лезу в каталог образов, действительно, нет такого файла! Зато есть какой-то «kernel-ranchu64». Пробую переименовать. Вроде бы сожрало, но какого хрена я вообще должен заниматься это фигней?

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

  1. После подсовывания недостающих файлов пробуем запустить, получаем «x86 emulation currently requires hardware acceleration». Снова не запускается.

  2. Причем в логе ошибка, бэкенд-процесс уже завершился с exitcode, а в GUI весело продолжает заполняться прогресс-бар загрузки эмулятора. Ну не конченные?

  3. Читаем маны. Оказывается, теперь принято отлаживать под native в аппаратной виртуальной машине. Быстро-модно-молодежно. Однако мы уже и так внутри виртуалки. Кто-то уже поддерживает nested VM?

  4. Скрипя сердцем ставлю этот шлак на походный ноутбук. Прохожу все те же проблемы и снова вижу ошибку из п.2. Ах да, это же AMD. Гуглоиды так и не осилили виртуализацию под AMD. VMWare осилили, Oracle/VBox осилили, а гуглоиды не осилили. Молодцы, зато гномиков на собесах считать умеете лучше всех.

  5. Ладно, хер с вашим x86, раньше отлаживал под ARM. Медленно, но работало. Пытаюсь скачать ARM-образ системы и получаю фигу. Начиная с 8.0 доступны только x86-образы. Больше нет возможности ловить специфичные для платформы косяки в эмуляторе, только реальное железо, только хардкор!

  6. Ладно, хрен с вашим 8+ мне не критично, качаю образ 7.1, пытаюсь создать на его базе виртуальный девайс и… Правильно, БОЛТ! Эмулятор поддерживает только образы 8.0 и выше. Падло, как же я от тебя устал…

Итак, имеем замкнутый круг. Эмулятор не поддерживает версии ниже восьмой, но образы версий 8+ только x86 и не поддерживаются железом AMD и внутри виртуальной машины. Пришлось выискивать более древнюю версию всего этого барахла, где есть поддержка ARM-образов и со стороны эмулятора и со стороны ведроида. Вместо предполагаемого часа провозился весь день.

Я одного не понимаю. У гугеля же охренеарды денег. Набирают они тоже типа лучших из лучших. Какого они выкатывают в продакшн такое гумно? Некому тестировать? Или это такая попытка повысить порог входа в платформу, чтобы школоты было меньше? Как так-то?!

 , , ,

quwy
()

Гугломыло

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

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

Можно ли в FF отключить внедренные шрифты только для определенных сайтов, а не глобально?

 , ,

quwy
()

Назначение альтернативного сетевого интерфейса исходящим «на горячую»

Конфигурация: одноплатник в качестве роутера, бортовая сетевуха смотрит в кабельный интернет, в USB воткнут 4G-модем в качестве запасного канала. 4G-модем определяется как сетевой адаптер (не HiLink, если это важно).

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

Т.е. 4G-модем работает, через него бегает интернет, но только если на момент загрузки он был единственным адаптером. Если же загрузиться по-нормальному, то в таблице роутинга для модема присутствует только запись на маршрутизацию локальных адресов сотового оператора, вместо адреса шлюза – 0.0.0.0 (для сетевой платы, определенной первой, при этом все в порядке: есть и локальные маршруты и шлюз).

Погашение интерфейса сетевой карты удаляет из таблицы все записи, касающиеся ее адресов, но для модема все остается по-старому, т.е. вообще не остается ни одного шлюза.

Вот, собственно, и вопрос: есть ли какой-то инструмент, который перезаполнит таблицу маршрутов так, как происходит при загрузке системы, но с принудительным указанием «главного» интерфейса?

P.S. Я понимаю, что нужный маршрут до сотового шлюза можно добавить ручками/скриптом, но, например, адрес этого шлюза придется вытаскивать из кеша dhcp-клиента, потому что больше он нигде не фигурирует.

 , ,

quwy
()

Порекомендуйте дистрибутив для USB-FLASH

Всем привет.

Такая ситуация: есть ноутбук с отвалившимся контроллером дисков, винт не видит в упор. Но с флешки грузится без проблем.

В общем сабж. Но хотелось бы не R/O-режим, а чтобы настройки сохранялись, но при этом обращения к диску были минимизированы настолько, насколько это возможно, особенно на запись.

Решение чисто развлекательное, поэтому из софта кроме браузера и медиаплеера ничего не нужно.

 ,

quwy
()

dhcp-клиент бросает попытки получить адрес, если сервер не доступен 30 секунд

Всем привет.

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

В результате в момент, когда мой сервер начинает запрашивать адрес по DHCP, сеть провайдера еще не доступна.

И вот вместо того, чтобы слать запросы до победного конца, эта хрень после всего пяти попыток, длившихся 31 секунду, отваливается, и пока не дернешь ее руками, адрес запрашивать больше не пытается.

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

Где задается количество запросов или время на получение адреса при выполнении ifup?

 ,

quwy
()

Почему все продукты гугла — отстой?

А потому, что после подсчета всех светофоров в городе и обоснования формы канализационных люков, места в бестолковках ни на что путнее уже не остается.

Взять, например, их долбаный андроид. Версия 6.что.то.там. Для работы с гарнитурой не приспособлена категорически.

Вот какой носитель хипстоза межушного ганглия додумался до того, что разговор, принятый кнопкой на BT-гарнитуре, после завершения той же кнопкой (или по отбою от собеседника), разблокирует, сука, телефон?

Телефон в кармане лежит! Нафига его разблокировать? Чтобы он своим сенсорным экраном творил все, что рандом на душу положит? Нахрена?

Да и вообще, после подключения гарнитуры постоянно обнаруживаю телефон разблокированным в кармане. У этих [censored] вообще тестеры есть? Я молчу про UX-специалистов, но банальных тостеров на свои гребанные миллиарды нанять вообще не судьба?

P.S. Кроме нытья пост преследует цель найти прогу под чертов ведроид, которая блокирует телефон тотально и бесповоротно до тех пор, пока я собственным пальцем не нажму аппаратную кнопку разблокировки. Вот чтобы чертов аппарат был всегда черным. Даже при входящем звонке! Пока не нажму на кнопку, не смей даже подсветку включить! Есть такое?

 , , ,

quwy
()

Удаленное управление ведроидом с ПК?

Собственно, вопрос в сабже.

В гугель-плее по такому запросу миллион клиентов к разным радминам (т.е. управление с ведроида, а не самим ведроидом), эмуляторы ленивки для телеков/видиков и прочая фигня. А нужно тупо что-то типа VNC-сервера.

Я в курсе, что есть TeamViewer Host, но во-первых как-то палевно давать доступ к звонилке левым чувакам, а во-вторых, зашкварно гонять через пол планеты трафик, чтобы зайти на девайс, лежащий в соседней комнате.

Что посоветуете?

 , ,

quwy
()

Не подхватывается статика из /etc/network/interfaces для wlanX

Armbian/Ubuntu, при настройке точки доступа на базе одноплатника возникла проблема в очень неожданном месте.

Собственно, сабж. Полный игнор каких-либо настроек статического IP, пока не передернешь интерфейс. Если прописать из комстроки, все подхватывается, если сделать ifdown/ifup — тоже. Но после загрузки все глухо с вероятностью 95% (изредка таки подхватывает).

Сосбственно вопросы: какого черта и что делать?

Нагуглил, что это или ошибка типа race condition в новомодном systemd, или что сетью теперь рурит некий network manager, который кладет на настройки /etc/network/interfaces большой и толстый. Можете подтвердить/опровергнуть?

И попутно близкий вопрос: как отключить нафиг wpa_supplicant? Он мешает работе hostapd, приходится прибивать его через killall, что как-то не по-людски, имхо.

 , ,

quwy
()

RSS подписка на новые темы