LINUX.ORG.RU

Сообщения BattleCoder

 

Телевизор

Форум — Linux-hardware

Привет.

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

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

Хочется без наворотов вроде smarttv/googletv/appletv (и что там ещё бывает?), но похоже, что уже поздно, уже не выйдет, оно везде? Я так понимаю, главный минус, что все эти звери несовместимы друг с другом? То есть если в доме преимущественно техника apple, хорошо бы и телек такой же, а если нет, то нет?

Мне интересно другое (и линукс как раз при этом) - чтобы что-то транслировать с ноутбука (или смартфона), будь то фильмы (разумеется, лицензионные!!11) или там фоточки семейные на большом экране, что нынче в моде? Много лет назад я это делал по displayport/HDMI порту (со звуком), а ещё раньше даже VGA/DVI (а звук как-то отдельно), не очень удобно, зато работало всегда.

Сегодня это уже не модно, теперь всё по воздуху? Насколько легко это всё работает вообще, есть ли грабли? Или брать банально любой, какой нравится или какой дешевле? Они все к домашней сети (будь то беспроводная wifi или проводная ethernet) автоматом подключаются?

Прочитал про какой-то DLNA, никогда этим до этого не пользовался. Вычитал, что это был какой-то стандарт, который уже успели отменить (в 2017 году)? Это означает, что телевизоры, произведённые после уже не обязаны его поддерживать? Есть вероятность, что DLNA сервер на ноутбуке (или вообще отдельный одноплатник для этого заиметь) я подниму, а зомбоящик не сможет его увидеть? Что касается всяких проприетарных протоколов передачи видео по воздуху - у меня сложилось впечатление, что все они несовместимы друг с другому (chromecast/airplay/miracast/что там ещё?) Или я не прав, и они работают также легко и просто, как любой wifi/bluetooth (offtopic: хотя вот с bluetooth гарнитурой я в своё время помучился, там всё не так чтобы идеально)?

А, кстати, USB/SD флешки везде втыкаются или не везде? ntfs/exfat они умеют читать обычно?

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

 , ,

BattleCoder
()

Блокировка рекламы на своём облаке

Форум — Admin

Привет!

Из образовательных соображений дабы удовлетворить своё любопытство решил сделать то, что давно откладывал, как-то не было особой нужды - а именно поднял свой VPN сервер (на базе strongswan) на облаке (в качестве примера на Digital Ocean, но выбор поставщика тут не принципиален).

Воспользовался вот этой инструкцией https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ikev2-vpn-server-with-strongswan-on-ubuntu-18-04-2

Понял две вещи. Во-первых, хостинг - это дороговато (в сравнении с готовыми «коробочными» решениями), будет сжирать на самом дешёвом тарифе $4-6 в месяц (не считая домена, без которого можно жить, ну или бесплатный поискать), в то время как самые дешёвые коммерческие VPN-сервисы предлагают за $2-3 в месяц (при заключении контракта на пару лет, важное уточнение, без него может и подороже). Во-вторых, это всего лишь один сервер в одном дата-центре, а коммерческие VPN предлагают кучу «плюшек», самое простое - 20-30+ стран на выбор. Например, мне был бы полезен хостинг в России (так как нахожусь за её пределами) на случай, если какой-то российский сайт не открывается (был какой-то сбой на госуслугах, например - вроде починили), а родне наоборот, где-нибудь в ЕС, чтобы те же новости читать. «Перебить» такое сложно, зато плюс к приватности (абсолютной приватность считать не будем, всё-таки у облачного провайдера физический доступ к чему угодно, что я у него покупаю, но это уже паранойа).

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

Два вопроса.

  • Первый достаточно глупый (ламерский), так как большого опыта в этом нет. Напомню, протокол IKEv2. Я устанавливаю в клиентское устройство самописный сертификат. После чего всё работает, но вылезает назойливое предупреждение (по крайней мере на Android точно) о том, что теперь мой трафик прослушивается. Почему это происходит, я понимаю (собственно, я сам его и якобы «прослушиваю»), а можно ли как-то от него избавиться? Надо как-то подписать мой сертификат каким-то корневым, уже установленным во все современные ОС? Как обычно серьёзные бизнесы делают, когда открывают свой собственный сайт в HTTPS, например? Куда они идут? Это платная услуга? Вряд ли буду это делать, просто хочу знать, если вдруг.

  • Второе - какие есть решения добавить «банерорезку» в это облако? Нужно ли устанавливать дополнительный http proxy server, или необязательно, можно средствами netfilter? Не хочется делать вообще всё вручную, может, есть где-то готовая инструкция, а ещё лучше, готовое ПО, умеющее такое? По аналогии с adfree для android - принцип той программы до безобразия прост - она добавляет в /etc/hosts все известные адреса, единственной целью которых является распространение рекламы… Блокируется не всё, но что-то.

Зачем хочу это сделать? Хочу все устройства (ipad/iphone и т.п.) пускать в интернет (что по wifi, что по мобильной сети) через этот VPN и посмотреть, как оно будет работать…

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

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

 , ,

BattleCoder
()

Отключаются беспроводные наушники (pulseaudio)

Форум — Linux-hardware

У моих беспроводных наушников (популярная вещь) есть такая штука - они сами отключаются якобы от неактивности. Чтобы сберечь батарею. Вроде полезная вещь, но в последнее время стала работать странно.

Причём только в связке с такой противной программой как MS Teams (их линукс-клиент вообще крайне криво с гарнитурами дружит, постоянно сюрпризы подбрасывает, всякие аналоги вроде Zoom всегда работали гораздо стабильнее).

Если смотрю, например, видео (в firefox на youtube или в smplayer) - наушники работают, звук идёт, не отключаются.

А вот в режиме конференции в Teams в самый неподходящий момент на середине разговора (я ли говорю, или просто слушаю, не важно) - отрубаются. Магия какая-то…

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

Наверное, сработает запустить любое длинное аудио/видео с громкостью на минимуме, но может есть более умный способ, заодно чтобы избежать постороннего «шипения»?

Вот как выглядит выхлоп pactl list

Card #1
        Name: bluez_card.FC_58_FA_2A_83_13
        Driver: module-bluez5-device.c
        Owner Module: 21
        Properties:
                device.description = "MPOW H19 IPO"
                device.string = "FC:58:FA:2A:83:13"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headphone"
                bluez.path = "/org/bluez/hci0/dev_FC_58_FA_2A_83_13"
                bluez.class = "0x240418"
                bluez.alias = "MPOW H19 IPO"
                bluetooth.battery = "80%"
                device.icon_name = "audio-headphones-bluetooth"
                bluetooth.codec = "sbc"
        Profiles:
                a2dp_source: High Fidelity Capture (A2DP Source) (sinks: 0, sources: 1, priority: 20, available: no)
                a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 40, available: yes)
                handsfree_head_unit: Handsfree Head Unit (HFP) (sinks: 1, sources: 1, priority: 30, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: a2dp_sink
        Ports:
                headphone-output: Headphone (type: Headphones, priority: 0, latency offset: 0 usec, available)
                        Part of profile(s): a2dp_sink, handsfree_head_unit
                headphone-input: Bluetooth Input (type: Bluetooth, priority: 0, latency offset: 0 usec, availability unknown)
                        Part of profile(s): a2dp_source, handsfree_head_unit

 , ,

BattleCoder
()

Узнать побольше данных про открытые приложением сокеты

Форум — Admin

Привет!

Есть невероятно криво написанное серверное приложение (гремучая смесь Scala и Java, JVM, в общем, приправленное кучей библиотек).

Есть там какая-то утечка. Открываются какие-то сокеты, и потом не закрываются. Когда они заканчиваются, оно предсказуемо падает с too many open files.

Это мало кого смущает в этом бессмысленном беспощадном мире облачных вычислений. Сервер просто заменяется каким-то демоном после того как перестаёт отвечать на запросы и всё. И работает дальше. До следующего падения.

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

Команда lsof -p pid выдаёт невероятное число строчек с «Can’t identify protocol».

java    (pid) (пользователь) *000u  sock                0,8       0t0 (номер) can't identify protocol

Если точнее, то

lsof -p pid | grep -c  "can't identify protocol"

Выдаёт огромное число, более 65000.

Что дальше тут можно раскопать? Как определить всё-таки протокол? Если это TCP, то можно ли как-то, например, узнать, удалённый IP-адрес и порт, к которому эта программа подключается, если это клиентский сокет? Или это может быть и серверный?

 , , ,

BattleCoder
()

CLI-приложения в веб-браузере?..

Форум — Development

Здравствуйте.

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

Есть ли какой-то продукт вроде полуготового конструктора CMS с возможностями расширения, который позволяет запускать произвольные консольные приложения (написанные в принципе на чём угодно), выдающие какой-то выхлоп в stdout/stderr, принимающие параметры из командной строки или из переменных окружения и сохраняющие какой-то результат, допустим, с ошибкой или без завершилось? Платный, бесплатный, закрытый, открытый… я бы все поглядел бегло.

Что-то вроде jenkins/travis, но не столь специализированный, но при этом расширяемый. Чтобы, допустим, программисты могли создавать новые «задачи», которые представляют с собой какой-то сценарий, выполняющийся от нескольких минут до нескольких дней… что добавляло бы новую сущность в неком списке на главной странице. И чтобы история запусков хранилась где-то, разумеется. И отслеживать текущий выхлоп stdout/stderr.

Чтобы это всё выполнялось в кластерном окружении, так вообще шикарно было бы. Допустим, большая подзадача могла бы маленькие создавать и запускать на других узлах… и дожидаться завершения.

Линукс тут при том, что работать на нём всё должно, разумеется.

 

BattleCoder
()

Failed to suspend system. System resumed again: No space left on device

Форум — Desktop

Привет!

Периодически и раньше возникала проблема, но сейчас вдруг стало чаще. Не засыпает система, пишет, якобы no space left on device.

swap 4 гигабайта, оперативка 16. Казалось бы, мало - но занято то всего около 1-2 гигабайт на момент «засыпания», должно хватать (да и сжиматься данные должны, если верить документации). Расширять до 16 (или больше) гигабайт жалко, SSD, более полезное применение найду (в идеале бы и 4 гигабайта сделать «динамическим временным удаляемым файлом на системном разделе»).

dmesg:

[383378.172143] PM: Using 3 thread(s) for compression
[383378.172145] PM: Compressing and saving image data (1445303 pages)...
[383378.172159] PM: Image saving progress:   0%
[383379.249826] PM: Image saving progress:  10%
[383380.380664] PM: Image saving progress:  20%
[383381.312427] PM: Image saving progress:  30%
[383382.223197] PM: Image saving progress:  40%
[383383.148374] PM: Image saving progress:  50%
[383384.010527] PM: Image saving progress:  60%
[383385.131115] PM: Image saving progress:  70%
[383386.506543] PM: Image saving progress:  80%
[383387.550700] PM: Wrote 5781212 kbytes in 9.37 seconds (616.99 MB/s)
[383387.772529] PM: Basic memory bitmaps freed
[383387.772530] OOM killer enabled.
[383387.772531] Restarting tasks ... done.
[383387.794876] PM: hibernation exit
[383387.794994] elogind-daemon[4390]: Failed to suspend system. System resumed again: No space left on device
[383387.796692] elogind-daemon[4390]: Error during inhibitor-delayed operation (already returned success to client): No space left on device
$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15835         956        9918         749        4960       13954
Swap:          4095           0        4095

На системном разделе (/, /var, /tmp) места тоже норм, с запасом, менее 50% занято. df -i тоже подозрительного не показывает (менее 30% на /var).

Куда ещё смотреть?

$ uname -a
Linux thinkpad-x230.local 5.3.9-gentoo #1 SMP Sat Nov 9 12:27:52 GMT 2019 x86_64 Intel(R) Core(TM) i5-3230M CPU @ 

openrc-0.41.2, elogind-241.3, pm-utils-1.4.1-r7

 , , , ,

BattleCoder
()

Выбор ноутбука для Linux в 2019

Форум — Linux-hardware

Да, знаю, не первый создаю эту тему, но во-первых, устаревают они быстро, во-вторых, ответа не нашёл. И в третьих, условия у меня немного другие.

Ноутбук нужен для работы, конпелять scala и гонять виртуалки.

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

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

Читал про последние ноутбуки с amd ryzen что хвалят, вопрос такой - а как у них с видеодрайверами? Помню эту вечную эпопею nvidia vs ati. В игрульки вряд ли буду играть, но хочется нормальной стабильной работы, нормального энергосбережения, подключения пары мониторов без глюков. С этим всё хорошо уже в 2019, или уже нет? С intel i5/i7 было более или менее (с интегрированной видеокартой).

Размеры лучше компактнее - ~ 12-14 дюймов, но без фанатизма. На «ультратонкость» положить, можно чуть толще, чтобы лучше охлаждался. Если съёмный аккумулятор - вообще хорошо.

Макбуком пользовался, но наелся - так и не смог привыкнуть к клавиатуре (хотя снёс богомерзкую макось и заменил на нормальный gentoo, profit!), а последние мне нравятся ещё меньше.

Ну и в идеале чтобы вообще не было предустановленных ОС (или чтобы уже был любой linux).

На что смотреть сейчас? Dell? HP? Lenovo? Что-то ещё?

Итог: пока решил начать с Lenovo, а там посмотрим.

P.S. Жаль, выбор с предустановленным Linux (или пустой, или вообще с FreeDOS) оказался неприлично маленьким, увы - ничего из того, что захотелось бы брать, рынок заполонил windows 10, 5 лет назад по-моему было поинтереснее.

 ,

BattleCoder
()

jstack и процессорное время

Форум — Development

Привет!

Сталкиваюсь с интересной проблемой. Примерно знаю как решить. Но чувствую, использую не совсем правильные инструменты.

Приложение периодически кушает слишком много CPU, пытаюсь понять, на что это время тратится. top с опциями -Hp <pid> очень помогает, НО - он даёт мне список нитей с номерами в десятичной системе счисления.

Я хочу узнать не номер, а название нити в JVM, следовательно, я лезу в jstack. Но там пишется nid в шестнадцатеричной системе счисления. Надо пересчитывать, на это тратится драгоценное время (да и не успеваю я уследить, они меняются). А в идеале бы мне чтобы jstack писал, сколько % процессора «кушает» та или иная нить в нужный момент времени сразу.

Есть что-то такое?

Updated: есть, в jvisualvm - плохо искал.

 , , , ,

BattleCoder
()

Где вы храните резервные копии?

Голосования — Голосования

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

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

  1. На внешнем жёстком магнитном диске (HDD) 249 (33%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Облака (Google/Dropbox/Yandex/...), бесплатный тариф 211 (28%)

    *******************************************************************************************************************************************************************************************************************************************************************************

  3. NAS (отдельное устройство) на базе HDD 170 (23%)

    **************************************************************************************************************************************************************************************************************************

  4. На том же компьютере, но отдельном накопителе 141 (19%)

    *************************************************************************************************************************************************************************************

  5. Не делаю (ещё) резервных копий 123 (16%)

    **************************************************************************************************************************************************************

  6. На том же накопителе, что и ОС (SSD/HDD) 67 (9%)

    **************************************************************************************

  7. Своё облако на своём компьютере 66 (9%)

    ************************************************************************************

  8. Облака (Google/Dropbox/Yandex/...), платный тариф 61 (8%)

    ******************************************************************************

  9. На внешней твёрдотельной памяти (SD/microSD/SSD/...) 57 (8%)

    *************************************************************************

  10. Оптические CD/DVD/Blu-ray/... диски 41 (5%)

    ****************************************************

  11. Своё облако на базе хостинга 39 (5%)

    **************************************************

  12. Другой вариант 35 (5%)

    ********************************************

  13. Магнитная лента 18 (2%)

    ***********************

  14. Гибкие магнитные диски (floppy) 13 (2%)

    ****************

  15. NAS (отдельное устройство) на базе NAND 6 (1%)

    *******

Всего голосов: 1297, всего проголосовавших: 753

 ,

BattleCoder
()

Уронил ноутбук - долго ли им ещё можно пользоваться?

Форум — Linux-hardware

Привет.

Линукс тут притом, что gentoo установлен на ноутбуке (thinkpad x230).

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

К сожалению, smartctl показывает плохие сектора на HDD. Вот я думаю, не повод ли это заменить его на SSD? Заодно памяти побольше добавить (сейчас 6 гигабайт оперативки, вроде максимально можно 16). Память memtest пока не проверял - наверное процессор-память живые, раз он грузится и работает?

Дисплей один раз уже матрицу менял (а ещё аккумулятор, но это совсем не в тему)... мог второй раз её повредить? Пока признаков не видно - но может себя проявить позже? Стоит ли рисковать с заменой HDD на другой HDD или SSD, или лучше сразу новый ноутбук покупать? (и бережнее с ним - это понятно) Что ещё может сломаться, HDD вроде самое хрупкое, что есть?

P.S. Ничего из новых не нравится, хочу старый оставить - оперативка + SSD должны хорошо его так ускорить - жаль, core i5 разгонять, наверное, некуда.

 , , , ,

BattleCoder
()

Куда делись омские линуксоиды?

Форум — Talks

Помню, на лоре был период, что что ни новость, то от омских линуксоидов. Самая активная региональная группа была www.linux.org.ru/tag/омские%20линуксоиды

Однако последняя новость аж два года назад, в далёком 2016 году.

Сайт http://omsklug.com по ходу всё.

Как же так? Всё, загнулось? Или все переползли на windows/mac?

 , ,

BattleCoder
()

Умные датчики температуры и влажности

Форум — Linux-hardware

Привет, лор. Полноценный «умный дом» я себе не хочу, да и некогда этим заниматься. И незачем, по правде говоря. Живём в съёмной квартире, из которой не сегодня-завтра пинком под зад, так что особо стены сверлить да провода кидать нельзя, да и не хочется.

Хочу скорее «для себя» разобраться, может, на будущее, когда мечта о «своём собственном доме» станет более осязаемой (с сегодняшними ценниками на недвигу не раньше, чем через 100500 лет, ну да это лирика).

Так вот, хочу я, например, совсем нехитрое дело - а именно датчики температуры и влажности. Допустим, по два - один снаружи на балкон прикрепить (естественно, чтобы дождь/снег/ветер ему нипочём были), второй внутри. И чтобы они по wifi (bluetooth наверное по расстоянию не потянет или через стену) могли передавать данные маленькому сервачку, а тот складывал бы их в БД, рисовал красивые графики, ну что угодно. Just for fun, автоматическое включение «обогрева помещения» мне не нужно, допустим.

Погуглил немного - самое дешёвое и простое - можно купить DHT22 https://www.adafruit.com/product/385 - но он не умеет в wifi, ну то есть он вообще максимально простой, его надо подключать к какой-то плате, правильно? И программировать вручную?

Либо можно купить модный датчик вроде xiaomi - https://www.aliexpress.com/item/New-Original-Xiaomi-Aqara-Temperature-Humidit... (стоит, кстати, практически столько же) - он якобы управляется, и даже приложения для телефонов есть, НО - я так понимаю, в обход приложения я ничего не сделаю - то есть он очень даже проприетарный, и я замучаюсь писать скрипт через обратный инжиниринг?.. мне бы что-нибудь максимально открытое.

Есть какой-нибудь датчик (водо- и пыленепроницаемый), у которого простой как пробка интерфейс по wifi? ну то есть чтобы я ему адрес в локальной беспроводной сети как-то выдал, а дальше http://192.168.1.111/temperature выдавал температуру в простом текстовом виде?

Linux тут итак понятно причём, думаю, даже пояснять не надо.

UPDATE: ах да, важное. Логично, что лучше бы это работало от батарейки, так как хочется сделать беспроводным. Правда, не знаю, надолго ли будет такой батарейки хватать... Подозреваю, что если передавать данные по wifi - то не очень - но стены сверлить нельзя. :-(

 ,

BattleCoder
()

New 17.0 profiles in the Gentoo repository

Форум — Linux-install

Прилетело вот такое в eselect news

2017-11-30-new-17-profiles
  Title                     New 17.0 profiles in the Gentoo repository
  Author                    Andreas K. Hüttel <dilfridge@gentoo.org>
  Posted                    2017-11-30
  Revision                  1

We have just added (for all arches except arm and mips, these follow
later) a new set of profiles with release version 17.0 to the Gentoo 
repository. These bring three changes:
1) The default C++ language version for applications is now C++14.
   This change is mostly relevant to Gentoo developers. It also
   means, however, that compilers earlier than GCC 6 are masked 
   and not supported for use as a system compiler anymore. Feel 
   free to unmask them if you need them for specific applications.
2) Where supported, GCC will now build position-independent
   executables (PIE) by default. This improves the overall
   security fingerprint. The switch from non-PIE to PIE binaries,
   however, requires some steps by users, as detailed below.
3) Up to now, hardened profiles were separate from the default
   profile tree. Now they are moving into the 17.0 profile
   as a feature there, similar to "no-multilib" and "systemd".

Please migrate away from the 13.0 profiles within the six weeks after
GCC 6.4.0 has been stabilized on your architecture. The 13.0 profiles
will be deprecated then and removed in half a year.

If you are not already running a hardened setup with PIE enabled, then
switching the profile involves the following steps: 
If not already done,
* Use gcc-config to select gcc-6.4.0 or later as system compiler
* Re-source /etc/profile:
    . /etc/profile
* Re-emerge libtool
    emerge -1 sys-devel/libtool
Then, 
* Select the new profile with eselect
* Re-emerge, in this sequence, gcc, binutils, and glibc
    emerge -1 sys-devel/gcc:6.4.0
    emerge -1 sys-devel/binutils
    emerge -1 sys-libs/glibc
* Rebuild your entire system
    emerge -e @world

Switching the profile from 13.0 to 17.0 modifies the settings of 
GCC 6 to generate PIE executables by default; thus, you need to do 
the rebuilds even if you have already used GCC 6 beforehand.
If you do not follow these steps you may get spurious build
failures when the linker tries unsuccessfully to combine non-PIE
and PIE code.

В общем, всё в принципе понятно, я сделал всё до последнего шага, а именно до

emerge -e @world
. Насколько действительно необходимо это делать? Что будет, если я это пропущу, и буду обновлять мир также, как и прежде?.. что может сломаться? Не очень понимаю.

Не хочется пересобирать действительно всё - может, достаточно пересобрать то, что необходимо - какие-то средства сборки, библиотеки?.. Что ещё, кроме gcc, binutils, glibc?

 , ,

BattleCoder
()

Отказы после собеседований

Форум — Talks

В очередной раз отказали после очередного собеседования. https://cs5.pikabu.ru/images/previews_comm/2015-10_2/1444202707160485704.jpg

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

1. Просто не отвечают на письмо/резюме/отклик через форму на сайте. Иногда отвечает бездушный робот, иногда вообще нет ответа. Этот случай не обсуждаем - допустим, там стоит проверка на вшивость, и её не прошёл, должным образом ответить руководство не считает нужным, если у чувака, к примеру, 5 лет опыта вместо 10, нет нужного гражданства, не знает нужного языка, или просто рожей не вышел - ОК. Как такового «общения с компанией» ещё не было, поэтому обижаться в принципе не на что.

2. Прошёл (на выбор) либо одно собеседование с HR, либо + техническое собеседование, либо даже тестовое задание (от пары часов до пары вечеров, бесплатное, естественно - оплачиваемых я ещё не встречал). И всё. Тишина, молчание. Ни ответа, ни привета. Иногда некоторые особо наглые конторы после такого хамства пишут спустя этак пару месяцев-лет с предложением «откликнуться на горящую вакансию, потрясающее предложение и т.п.» - естественно, после чего идут лесом.

3. Встречается уже реже - отказ присылают, но или какой-нибудь стандартный копипаст, или ответ в стиле «ты лох», полный унижения.

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

5. Ну случай, когда берут - я не рассматриваю, тут всё понятно.

Знаю, тут обитает много и HR и технарей, которые проводят собеседования. Мне просто любопытно, почему гораздо чаще встречается вариант 2, и так редко вариант 4? Это что, так сложно, черкнуть парочку строк, что «вы крутой, но вакансию мы уже закрыли», «нашли кого-то покруче», «мы разорились, передумали искать кого-то», «к сожалению, вы не подходите» и т.п.?

И ещё вопрос. А часто ли бывает такое, что специалист «переобученный»? Ну, слишком опытный senior 20+ лет, в бюджет не укладывается, в то время как вам нужен джун? Что вы таким обычно отвечаете? Или в этом случае тоже второй пункт?

 , , ,

BattleCoder
()

Freelance и налоги в чужой стране

Форум — Talks

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

Первое - это конечно же налоги. Нагуглил статейку https://habrahabr.ru/post/327130/ от которой уже волосы становятся дыбом. И от количества букв, да и от содержания. Ну и нюансы, которые там не описаны, и я даже не знаю, у какого именно юриста я их должен спрашивать.

1. Я гражданин РФ, но в настоящее время проживаю не в РФ, более того, я не налоговый резидент РФ, так как живу более 183 дня в году за пределами.

2. В общем-то у меня есть постоянная работа, с которой я плачу НДФЛ, работаю по EU Blue Card, то есть я налоговый резидент другой страны, где не являюсь гражданином (и перспективы получения гражданства весьма туманные).

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

4. Однако я не уверен, противоречит ли это миграционному законодательству (любые сюрпризы могут быть). ^_^ По идее нет, если с каждой заработанной копейки я заплачу налог - от меня государство должно отстать. Но вот как его платить - это отдельный квест. Должен ли я оформлять ИП? Имею ли я вообще право оформлять ИП, не имея гражданства? Могу ли я оформить ИП на супругу (у неё есть право работы по ВНЖ, и она как раз безработная)? Или этот ИП всё равно будет ничтожным, если работать всё равно буду я, могут ли к этому придраться?

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

6. Ну и вопрос более технический, ежели юридический, хотя это как посмотреть. Вот предположим, что я зарабатываю, на условном upwork 100$ в месяц, это не основной доход, чисто ради раскрутки профиля, выводить его сразу не хочется (смысла нет, да и комиссию чтоб меньше платить), логично было бы выводить, к примеру, раз в год, когда накопится 1000-2000$. Предположим для усложнения, что сегодня я налоговый резидент одной страны, а завтра другой. В какой момент я налоги должен платить (и какой стране)? :) В момент вывода или в момент заработка? Ну и не уверен, насколько долго там вообще можно деньги держать, если они срочно не нужны.

7. Может, правильнее всё-таки в РФ оформить ИП (пусть я в ней не проживаю)? Потому что гражданство то у меня никто не отберёт. :) тьфу-тьфу. Правда, вряд ли мне позволят платить 6% налога, скорее процент будет повышенный за «нерезиденство», но какой именно - я не уверен. Главный минус - не хочется честно заработанных американских президентов менять на рубли ради вывода... (а потом конвертировать в другую валюту всё равно) либо обналичивать доллары хотелось бы как есть, либо сразу в евро хотя бы, так как в них трачу... Да и комиссии наверняка больше при переводах в российские банки, нежели в европейские (тут не узнавал).

8. И последнее, но не по значению. До тех пор пока не получу ПМЖ в стране проживания, основная работа = гарантия. Если захочу уволиться и полностью перейти на удалённую работу (тут принципиально не важно, freelance 15-20 часов в неделю разные халтурки, или 40 часов full time на одного и того же клиента - разумеется, второй вариант предпочтительнее) - теряю ВНЖ. Или - есть какой-то способ оформить ИП и его всё-таки и держать ради подтверждения легального нахождения в стране?

 , , ,

BattleCoder
()

LVM PV Size not usable 4,00 MiB

Форум — Admin

Не то, чтобы мне было жалко системе лишних четырёх мегабайт, просто хочу понять, как оно работает.

  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               vg
  PV Size               40,00 GiB / not usable 4,00 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              10239
  Free PE               7935
  Allocated PE          2304

С чего вдруг?

40.00 GiB = 40960 MiB, если поделить на PE Size, получается 40960/4=10240, так почему он мне пижет Total PE 10239 и один PE зажал, сделав 4 MiB not usable? Это для какого-то резерва? Я просто думал, not usable может быть, если бы, к примеру, PV Size был размера не кратного PE Size, «хвост» остался бы.

 

BattleCoder
()

PDF и формы с кириллицей

Форум — Development

В очередной раз спустя сколько-то лет попался PDF-файлик с формами, дай, думаю, заполню - английские буквы нормально заполняются, а вот кириллица - нет. Не только кириллица, а любые неюникодные символы просто «проглатываются». Нашёл баг, которому ВОСЕМЬ ЛЕТ https://bugs.freedesktop.org/show_bug.cgi?id=17913

Восемь лет не могут исправить. Думаю, opensource такой opensource. Потом думаю, программист я, или где? Правда, к сожалению, java, в C++ не силён, но не беда, надо подтягивать свои навыки, кое-что вспомнить, кое-что освоить, не сложно.

Что же там не так происходит? PDF файл со шрифтом Helvetica, который якобы не поддерживает кириллицу, но должен ведь. Валидный PDF или невалидный, но закрытый adobe reader его ведь читает. (там в примере есть минимальный пример с формами https://bugs.freedesktop.org/attachment.cgi?id=19393 )

Больше всего полезной информации даёт четвёртый комментарий. Якобы poppler работает как надо (к слову, помню, раньше в okular pdf-формы на русском нормально редактировались, то есть когда-то (>8 лет назад что ли?) сломали... Либо может там шрифт был всё-таки другой (узнать теперь невозможно). Якобы adobe reader такой умный, что подставляет другой шрифт.

Проблема где-то тут, в «void Annot::layoutText» https://cgit.freedesktop.org/poppler/poppler/tree/poppler/Annot.cc#n4046

В некой таблице CharCodeToUnicode https://cgit.freedesktop.org/poppler/poppler/tree/poppler/Annot.cc#n4123 нету значений для ключей, которые соответствуют русским буквам.

Кстати, если программой для просмотра шрифтов открыть шрифт Helvetica - он и правда не умеет в русские буквы. Следовательно, правильный способ работать с такими pdf-файлами - подменять шрифт при попытке редактирования форм и при попытке печати/сохранении?

P.S. Совсем ламерский вопрос - есть ли в C++ волшебная команда, чтобы распечатать stack trace? Хочется проследить цепочку вызовов...

P.P.S. Если кто хочет помочь в отладке - как это делаю я, беру тот pdf по ссылке и вызываю для него команду pdftotext - это быстрее, чем okular/evince запускать.

 ,

BattleCoder
()

Список опций модуля

Форум — Desktop

Привет.

Решил попробовать поиграться с опциями модуля ядра i915 (intel), вдруг там что интересное есть. Естественно, захотел почитать документацию. И не нашёл.

Установлен пакет gentoo-sources, есть папочка /usr/src/linux/Documentation. По ключевому слову «i915» в ней абсолютно ничего. Гугл тоже не отвечает ничего внятного на запрос «linux kernel i915 documentation».

Тем не менее, опций, прямо-таки не мало.

ls /sys/module/i915/parameters/
disable_display     enable_cmd_parser  enable_fbc             enable_ips    enable_rc6     invert_brightness  lvds_use_ssc  nuclear_pageflip  preliminary_hw_support  use_mmio_flip
disable_power_well  enable_dc          enable_guc_submission  enable_ppgtt  fastboot       load_detect_test   mmio_debug    panel_ignore_lid  reset                   vbt_sdvo_panel_type
edp_vswing          enable_execlists   enable_hangcheck       enable_psr    guc_log_level  lvds_channel_mode  modeset       prefault_disable  semaphores              verbose_state_checks

Понятно, что большинство мне не нужно. Но хочется любопытство удовлетворить. Вот что такое modeset я знаю, к примеру, disable_display - могу догадаться - а остальное?

Есть исходники в /usr/src/linux/drivers/gpu/drm/i915/ - предполагается там копаться? :) доков нет?

 , ,

BattleCoder
()

Возможно ли запретить автоматические Modeline в Xorg?

Форум — Desktop

Есть ноутбук, есть у него дисплей. По каким-то неведомым мне причинам он сообщает неправильный список разрешений X-серверу.

xrandr

Screen 0: minimum 320 x 200, current 5760 x 1200, maximum 8192 x 8192
eDP1 connected 1920x1200+3840+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1920x1200     59.88*+
   2880x1800     59.99 +
   2048x1536     60.00  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   1600x1200     60.00  
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94 
1920x1200 - это единственное приемлемое, его бы и хотел оставить. Вообще пропорции дисплея 16/10, легко посчитать, что почти любое из разрешений (например, 1920x1440) - это 4/3, соответственно, при попытке выставить его, появляются чёрные полосы по бокам.

Мне это совершенно ни к чему. Не знаю, из какого libastral xorg берёт такие разрешение, несовместимые с размерами и даже пропорциями дисплея - хотел бы запретить вообще всё, кроме 1920x1200 (которое руками пришлось высчитывать и выставлять, добавляя Modeline в xorg.conf, такого даже в списке не было!)

Так вот, Modeline в xorg.conf я добавил, а как удалить от греха подальше все остальные Modeline, который он автоматом генерирует, такой умный?

Находил в гугле какой-то Option «UseEDID» «false» - нет такого в man xorg.conf - подозреваю, что такая опция, если и была, то тупо игнорируется сейчас (xorg-server-1.18.3).

Также обнаружил, что у xrandr есть опция --delmode. Но она не работает.

xrandr --delmode eDP1 "640x480"
X Error of failed request:  BadAccess (attempt to access private resource denied)
  Major opcode of failed request:  139 (RANDR)
  Minor opcode of failed request:  19 (RRDeleteOutputMode)
  Serial number of failed request:  40
  Current serial number in output stream:  41

С sudo точно также.

Какие ещё трюки есть в запасе у опытных лоровцев?

Может, я зря голову ломаю, и надо баг создавать на xorg?.. Если да, то помогите сформулировать - это к чему вообще относится, к xrandr, к xorg? что-то ещё?

А если на wayland какой-нибудь заменить, будет лучше? или хуже? или также?

P.S. Почему хочу убрать - вот выставил я разрешение в KDE один раз, ок - всё работает. Но если подключаю второй монитор/проектор - разрешение на ноутбуке «сбивается», выставляет 2880x1800, становится слишком мелко. Бесит. Хочу, чтобы он вообще не знал других разрешений, кроме тех, кто назову.

 , ,

BattleCoder
()

Firefox, GTK+, KDE и курсор мыши

Форум — Desktop

Кто знает, как исправить? Раньше то ли работало, то ли не обращал внимания. Мелочь, а неприятно. Одинаково не работает как в kde4, так и в kde5. Возможно, раньше работало с qtcurve, а потом перестало почему-то.

В чём неприятность: какой курсор в KDE я бы не выбирал, когда я его навожу на GTK+ приложение (такое как firefox), он становится маленьким чёрным, видимо, стандартным из X. Хорошо хоть не крестиком (и не исчезает совсем).

При этом в остальном тема GTK+ выглядит однородно с KDE-приложениями. Не считая диалога открытия файлов, но это отдельная история.

Находил в интернетах старые треды 200<X> годов... и ничего из того, что пробовал - не работает. Возможно, просто неактуально.

 , ,

BattleCoder
()

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