Ночи доброй, ЛОР. Давно на жабе уже пишу, а задумался об этом только сейчас, но, скорее всего, это и к другим языкам относится. Вот есть у нас List<T>, у него есть 2 реализации, LinkedList и ArrayList. Насколько я помню ещё из С, мы можем производить т.н. арифметику указателей в случае с массивом (ArrayList), т.е. память под него выделяется одним куском, в то время как LinkedList, насколько я понимаю, может быть раскидан по всему адресному пространству, просто каждая нода содержит указатель на next, если таковой имеется. Главный вопрос: Правильно ли я понимаю, что в ситуации, когда у нас доступно, допустим, 8 кб памяти и мы пытаемся создать List с данными на 6 - мы можем вывалиться в ООМ в случае с ArrayList из-за фрагментации этой самой памяти? И верно ли утверждение, что в случае с LinkedList такого не произойдет, потому что ему на фрагментацию положить? Заранее спасибо. /cast stevejobs
Ночи доброй, ЛОРовцы. Предыстория такова: Есть Gnome Disks, который всем хорош, но не умеет показывать S.M.A.R.T. для nvme SSD накопителей. Что интересно, smartmontools эту инфу с диска без проблем вытаскивает. Значит в принципе такая возможность есть. С помощью товарища смог собрать gnome-disk-utility через meson с ninja, но у меня несколько вопросов возникло.
1) Процесс сборки тащит за собой кучу зависимостей, которые нигде больше не нужны. Можно ли как-то запилить это в изолированную среду (контейнер, например) при этом организовать возможность запуска собраного бинарника на хосте и отладку?
2) Может инструменты подскажите для удобной работы. Я в коде то шарю, но я Java / Android разработчик и у нас всё через JetBrains $product name с гуёвыми плюшками. CLI меня не пугает, но gdb выглядит уж совсем хардкорно.
Соб-но, сабж. К сожалению СО ноутбуков делают из говна и палок и потому при активной работе (сборка проекта, эмулятор в фоне) процессор валится в троттлинг. Подтверждается это сообщениями в dmesg вида
[24915.441030] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1)
[24915.441031] CPU2: Core temperature above threshold, cpu clock throttled (total events = 1)
[24915.441033] CPU2: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441035] CPU6: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441073] CPU1: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441074] CPU7: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441075] CPU3: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441075] CPU5: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441076] CPU4: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441077] CPU0: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.444037] CPU6: Core temperature/speed normal
[24915.444038] CPU1: Package temperature/speed normal
[24915.444039] CPU5: Package temperature/speed normal
[24915.444039] CPU2: Core temperature/speed normal
[24915.444040] CPU2: Package temperature/speed normal
[24915.444040] CPU6: Package temperature/speed normal
[24915.444069] CPU4: Package temperature/speed normal
[24915.444070] CPU0: Package temperature/speed normal
[24915.444071] CPU7: Package temperature/speed normal
[24915.444072] CPU3: Package temperature/speed normal
[25356.170042] CPU1: Core temperature above threshold, cpu clock throttled (total events = 352)
[25356.170043] CPU5: Core temperature above threshold, cpu clock throttled (total events = 352)
[25356.170045] CPU5: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170047] CPU1: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170084] CPU0: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170084] CPU4: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170086] CPU2: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170086] CPU6: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170087] CPU7: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170088] CPU3: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.187038] CPU1: Core temperature/speed normal
[25356.187039] CPU5: Core temperature/speed normal
[25356.187040] CPU7: Package temperature/speed normal
[25356.187041] CPU4: Package temperature/speed normal
[25356.187042] CPU0: Package temperature/speed normal
[25356.187043] CPU3: Package temperature/speed normal
[25356.187043] CPU5: Package temperature/speed normal
[25356.187044] CPU1: Package temperature/speed normal
[25356.187048] CPU6: Package temperature/speed normal
[25356.187048] CPU2: Package temperature/speed normal
Скажу так, один ноутбук из-за перегрева я уже сдал в магазин, но судя по всему такая проблема у всех (троттлился даже макбук 17го года), потому зайду с другой стороны: Насколько вредно для железки пару десятков раз за день улетать в такие температуры? Я имею ввиду долгосрочную перспективу.
Сабж. 2 штуки Hynix HMA81GS6AFR8N-UH. Сняты с HP ProBook 450 G5 по причине апгрейда до 32ГБ. Б/У 1.5 месяца. Цена одной такой планки в DNS составляет 5 599, отдам 2 за 7500. Москва only. https://image.ibb.co/i2Jv66/photo5453933907402664113.jpg
Привет, ЛОР. Сидел себе сейчас в интернете, ничего не предвещало беды, и вдруг ноутбук просто погас. Без каких-либо логов / ошибок / экранов, етс. Есс-но мне стало интересно, wtf? Но после загрузки я не нашел ничего интересного в логах. Всё, что удалось откопать - это выхлоп команды
last -x | less
И выглядит он вот так
vsulimov tty2 /dev/tty2 Fri Jan 5 13:35 still logged in
runlevel (to lvl 5) 4.14.11-300.fc27 Fri Jan 5 13:35 still running
reboot system boot 4.14.11-300.fc27 Fri Jan 5 16:35 still running
vsulimov tty2 /dev/tty2 Fri Jan 5 13:32 - crash (03:02)
runlevel (to lvl 5) 4.14.11-300.fc27 Fri Jan 5 13:32 - 13:35 (00:02)
reboot system boot 4.14.11-300.fc27 Fri Jan 5 16:32 still running
Есть загадочный reboot с датой в будущее и после этого вызов runlevel (to lvl 5) с последующим crash. Я такое впервые в своей практике вижу, гугл не помог. Подскажите, где можно логи подёргать? Пока горяченькое, так сказать.
Собственно, сабж. Наступила зима и пришла проблема в виде статики. Что бы я до этого не лапал при касании ноутбука всё равно получается разряд. Меня беспокоит один вопрос: можно ли подобным повредить ноутбук? В разных вариациях, если задеть металлический корпус, если задеть разъём и т.д.
Заранее спасибо за ответ и скастуйте тех кто шарит плес.
Привет, ЛОР. Есть сабже ноут, сама по себе модель очень новая, потому поставил туда федору. С некоторыми костылями все работает нормально, но, при подключенных наушниках есть постоянное (хоть и едва заметное) шипение. Проблема явно на уровне ОС, потому что до полной загрузки этого нет. Может кто-нибудь сталкивался с подобным и вообще, куда копать? Гугление ничего толком не дало, кроме какого-то параметра tsched=0 в конфиг пульсы, который не помог.
Утра, ЛОР. Вляпался я в 2017 году в одну неприятную историю. Снял квартиру в Москве в начале лета (дорого, красиво, всё было). Никогда бы не подумал, но в квартире были гребаные тараканы (рыжие, они же прусаки). Хозяин, естественно, сделал мину, дескать впервые о проблеме слышит, однако разговор с соседями быстро всё расставил на места. 2 вызова СЭС, обмазывание квартиры всякого рода веществами, ловушки, фипронил... Ничего не дало результата. Возможность осуществить повторный переезд появилась только сейчас, новую квартиру нашел, но у меня дикая паранойя по поводу перевозки этого дерьма в новое жилище. Есть какие-то практические советы? Насколько я понимаю, яйца эти твари откладывают в оотеках, их сложно не заметить пакуя вещи в чемодан. А вот пропустить единичную нимфу вполне можно (но тут вроде на руку половой способ размножения и одна особь в колонию не превратится). В общем, я в отчаянии, ЛОР. Нужны практические советы, как переехать и не обосраться.
Вечера, ЛОР. Приключилась у меня грустная история. Был Dell Latitude E5570 в топе, вертелся на нём линукс и не знал я проблем. Но, за пол года ноутбук 2 раза побывал в сервисе, сначала замена диска, потом мат. плата, в итоге ноутбук списан. Мне нужна новая рабочая лошадь, а доверие к деллу пробило дно. На работе ThinkPad T460s, ULV проц конечно слабоват на фоне HQ ряда, но работать более чем можно, да и таскать такой легкий ультра/ноутбук намного приятнее. Хочу взять себе X1 Carbon 5го поколения, но отзывы о железке разнятся. Судя по арч вики не работает там только сканер пальцев (не критично). Соб-но, есть пользователи сабжа, что можете сказать? Интересует как софтверная совместимость, так и физические характеристики (не разболталось ли чего со временем, скрип, люфт, другие HW косяки)
Привет, ЛОР. Волей случая занесло меня в back-end разработку и требуется универсальный инструмент-гуя для работы с базами (postgreSQL). Попробовал pgadmin, но выглядит ущербно и ставится с вагоном костылей. Может кто знает годную тулзу, которая умеет в более менее автокомплит query и красиво рисовать результат запроса / всю схему БД. Datagrip стоит слишком жирно.
Привет, ЛОР. Есть Fedora 26, Google аккаунт подцеплен через GOA и, как следствие, Google диск подцепился в nautilus (как я понимаю, оно ездит через gvfs). На диске лежит база данных для KeepassX, но есть одна проблема, почему-то сам KeepassX открывает её в режиме Read-Only. У меня вопрос: Сталкивался ли кто-то с подобным и как это можно обойти? Другие файлы нормально открываются в RW (Текстовые файлы, документы для LO), а база нет.
Доброй ночи, ЛОР. Хочу излиться в тред о наболевшем. За плечами 3 года разработки под Android. Я успел поковыряться в огромном количестве проектов на фрилансе, поработать в стартапе, Rambler&Co и сейчас тружусь в HeadHunter. Однако один вопрос мне доселе не даёт покоя, и чем больше я в него зарываюсь, тем хуже становится - это архитектура. К слову, на каждой конференции хипстерские дядьки со сцены в очередной раз говорят, что они нашли её, серебрянную пулю, и вот сейчас-то заживем! А на деле получается какой-то треш, потому что притянут за уши Dagger, RxJava, [еще пачку говно-библиотек], а потом получается, что проект с Hello World'ом весит 15 метров и работает только с multidex. Сам по себе Google до недавнего времени никаких best practices в этом направлении не давал. Activity / Fragment в Android - это скорее велосипедный каркас с lifecycle адом.
Возьмем в пример классический MVC. Вроде всё круто, да вот только киллометровая логика data source'ов переезжает туда и вообще Controller получается раздутым. Отдельно стоит упомянуть тот момент, что при повороте экрана в Android Activity пересоздается, и ваша недавно запущенная асинхронная задача уходит в ад... И вот придумали MVP/VIPER. Код выглядит действительно чище, вкупе с даггером получается очень даже красиво, НО. Каким бы идеальным его не делали, почти каждый, прстите, обосрется на повороте экрана. Умирает Activity / Fragment, вместе с ним умирает Presenter, граф зависимостей даггера... и проблем становится больше, чем преимуществ от такого подхода. К чему это я: за всё это время у меня сложилось впечатление, что красивый код и работающий код - это немного разные вещи. В попытке реализовать всё по паттернам упираешься в особенности платформы, под которую, собственно, пишешь и начинается такое велосипедостроение, что аж жуть. Собственно вопрос: а что думает ЛОРовец на этот счёт?
Привет, ЛОР. Есть такая проблема: На ноутбуке некорректно работает подсветка клавиатуры. Есть одно сообщение в dmesg логе, которое явно намекает, в какую сторону нужно копать.
[ 8170.613269] dell_laptop: Setting old previous keyboard state failed
Более того, я смотрел сорцы этого самого dell_laptop модуля и оно там вываливается только в единственном случае. Баг заводил, меинтейнерам на почту писал - толку 0. Хочу сам поковырять, но понятия не имею как дебажить это дело. Соб-но буду благодарен за вереные наводки по принципу чек листа, что нужно иметь и что делать. Дистр Fedora 25, других забутать возможности нет.
Утра, ЛОР. Наверное, это самый эпичный баг, с которым я когда-либо сталкивался. Суть в чем, подключаю к ноутбуку внешний монитор, все работает, все круто. Раскидываю окна как мне удобно, отключаю внешний монитор и... ничего не происходит! Я ожидаю, что все окна сгруппируются на один единственный экран, но нет. Более того, дальнейшее копание показало, что баг куда круче, чем я думал. Даже после отключения монитора он остается в Settings -> Display и xrandr видит и определяет его как connected. Вопрос: Сталкивался ли кто-нибудь с подобным, хотя-бы идеи куда копать / как чинить? P.S. другой дистр не предлагать, ввиду невыявленной особенности адекватно на моем ноутбуке работает только федор.
Добрый ночи, ЛОР. Я в отчаянии, если честно. Есть Dell Latitude e5570, в роли диска у которого выступает m2 SSD от Liteon. Проблема просто взрывает мне мозг. На всех дистрибутивах кроме Федоры я наблюдаю такое поведение: лампочка активности диска постоянно горит и SMART репортит очень опасные температуры (79-85 градусов), такое происходит на убунте, минте, арче, манжаро, но НЕ происходит на Fedora. Я просто мозг сломал в попытке понять, что в ней такого особенного и почему там нету этой проблемы. Я хочу использовать отличный от Федоры дистр, но не могу. Я писал на офф форум дела, долбил их гребанный саппорт - ничего. Я даже нашел человека с таким же ноутбуком и такой же проблемой (https://forums.linuxmint.com/viewtopic.php?t=231090). Но совсем не нашел ответа на свой вопрос. Помогите, ребят, куда копать, что смотреть, хоть какую-нибудь наводку. Логи могу дать какие надо.
Привет ЛОР, есть сабж ноутбук, была поставлена Ubuntu 16.04, сама по себе модель сертифицирована самим Canonical как полностью совместимая, однако... Меня смущает то, что во время работы индикатор активности диска постоянно горит, прям 100% времени и смарт рапортует неадекватно высокие температуры (SSD формата m2, смарт показывает 79-85 градусов цельсия). Вопрос: Как можно проверить, что с IO все впорядке и эти 2 вещи - просто баг / косяк чего-либо? P.S. Лампочка на венде точно вела себя адекватно, а вот смарт не знаю, ибо простояла венда всего пару часов.
Привет, ЛОР. Имеется такой велосипед: Относительно древняя Ubuntu, которая стоит на шифрованном диске (запрос пароля на анлок диска при буте и шифрованный /home), хочется ... переехать на другой дистр (конкретно Manjaro), при этом сохранив /home, все остальное не важно. Вопрос: Возможно ли в принципе и если да, как правильно сделать? В хомяке сотни гигабайт важных данных, бекапить сейчас некуда. Если как-то поможет - текущая разбивка
Не успело лето наступить, а я уже упоролся. Дал один ехидный друг мне таску. Написал мне на греческом что-то в подобии стихотворной формы и попросил что-бы я в такой же складной форме это на русский перевел. Но вот зараза, переводчик не помог, а сам я в этой балалайке ни-ни. Выручай, ЛОР.
Αν τον #name κόψεις τα ποδια και τα χερια να κόψεις τα δυο θα πεθάνει απο την ανια Μην μπορώντας να γράφει τον κώδικα
Сап, ЛОР. Собственно начал отваливаться apt-get, возможно, ребут его лечит, но ребутаться по несколько раз в день не вариант, потому хочется разобраться в ситуации. При установке любого пакета получаю следующее
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Вывод lsof /var/lib/dkpg/lock показывает следующее
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
aptd 2232 root 9uW REG 252,1 0 11797247 /var/lib/dpkg/lock
aptd 2476 root 9u REG 252,1 0 11797247 /var/lib/dpkg/lock
Прибите процессов с этими двумя PID проблему не решило, как можно оживить apt без ребута машины?
UPDATE: Cам разобрался, нужно было грохать эти процессы через
kill -9 <PID>, ожил, родимый.
Привет, ЛОР. Есть такая проблема: При открытии окна терминала шелл по дефолту находится в хомяке пользователя (и это то, что мне нужно), однако, при открытии новой вкладки терминала шелл оказывается в той же дирректории что и предыдущая вкладка, и это не удобно. Я нашел в гугле способы сделать запоминание пути, но не нашел способа выпилить эту фичу, как можно исправить, ЛОРовцы?