LINUX.ORG.RU

Избранные сообщения shatsky

Ядро Linux в Eclipse CDT

Галерея — Скриншоты

Решил открыть в последнем (4.14) Eclipse CDT проект на C, использующий Makefile в свободной форме.

Что ж, проиндексировалось и открылось всё весьма быстро и, как видно, сам Eclipse в памяти занимает меньше 1 ГБ. И да, я могу вручную (ни о каком автоопределении целей, как это умеет remake, речи не даже идёт) добавить произвольные цели make (make targets) и собрать их (см. окно «Build Targets» справа).

Но на этом плюсы заканчиваются.

Eclipse не обрабатывает Makefile’ы и не строит базу данных компиляции в процессе создания проекта и потому индексирует тупо всё, что попадётся под руку. Это значит, что список включённых в проект файлов (часть модулей же обычно исключена из .config), равно как и #define’ы, ему априори неизвестны, и ни о каком точном рефакторинге говорить нельзя.

Более того, часть (включённого) кода в редакторе «сияет красным», и мне сообщают об ошибках, которых нет. Так, на снимке на 324-й строке fs/btrfs/async-thread.c Eclipse не может определить тип переменной work, хотя и ежу понятно, что это тип struct btrfs_work *, и этот тип определён в лежащем рядышком хедере. При попытке навигации к объявлению переменной work (хотя это локальная переменная в btrfs_work_helper()) мне предлагается 100500 кандидатов, разбросанных по всему проекту (диалог Open Declaration).

Вердикт – текстовый редактор, не более. Я, как давний пользователь и поклонник Eclipse, реально разочарован.

Несколько обязательных комментариев:

  • WM – WindowMaker
  • Тема оформления GTK3 – Greybird. К сожалению, только в «штатных» темах Adwaita, Greybird и Numix Eclipse выглядит удовлетворительно (в силу того, что разработчики SWT сделали ряд «хаков» для поддержки этих конкретных тем оформления), хотя, напр., поля ввода по-прежнему выглядят гигантскими. Сами разработчики рекомендуют попробовать отключить вышеупомянутые «хаки» (-Dorg.eclipse.swt.internal.gtk.noThemingFixes, см. bug 527729) и включить Clearlooks-Phénix, но, на мой взгляд, там работы ещё непочатый край: кнопки панели инструментов становятся раза в полтора больше и «уезжают» вправо.
  • Да, ШГ. Да, «кровь из глаз». Да, я всё это уже не раз слышал.

>>> Просмотр (1920x1200, 146 Kb)

 , ,

Bass ()

Мимимишная IDE для маленьких питонят - Mu

Форум — Talks

Наткнулся тут на очень добротно сделанный редактор для python для маленьких (и не только).

  • Мимимишный и весёлый интерфейс
  • Несколько режимов работы
  • Отладчик
  • Плоттер выхлопа в графики
  • Repl куда без него, тоже удобно сделан для совсем ничего не понимающих
  • Чекер с удобными подсказками

https://codewith.mu/en/tutorials/

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

Я не люблю питон и не особо его знаю, но иногда приходится что-то по мелочи делать, теперь буду делать в Mu. Хоть глаз радует :D

У меня доступна из реп debian testing.


А ещё ещё нашёл называется Thonny https://thonny.org

Выглядит как логичный переход с Mu когда основы языка будут понятны и захочется большего. Mu и пишет что он только для начала.

И того Thonny это

  • Асистент который к вашему же коду делает замечания
  • Строит дерево программы
  • Список переменных
  • Заметки
  • В целом гораздо больше средств отладки для большего понимания что происходит в коде
  • Удобный установщик пакетов
  • И многое другое

Ну, а после него или с ним или с обеими можно выбирать любой vim или emacs со всякими иными.

Наверное ещё есть. Но чёт интерес ковырять пропал. Короче всё ::)

 , , , ,

LINUX-ORG-RU ()

IOMMU уже доступен ПРОГРАММНО?!!! Опция iommu=soft в ведре

Форум — General

Копаясь в интернетах на тему IOMMU наткнулся на https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt в которой есть опция iommu=soft с неясным описанием. Также нашел форум https://bbs.archlinux.org/viewtopic.php?id=168555 , где говорится, что с этой опцией можно пробросить некоторые кривые устройства.

Также есть вот что:
CONFIG_GART_IOMMU:

Support for full DMA access of devices with 32bit memory access only
on systems with more than 3GB. This is usually needed for USB,
sound, many IDE/SATA chipsets and some other devices.
Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
based hardware IOMMU and a software bounce buffer based IOMMU used
on Intel systems and as fallback.

И обсуждение здесь: https://forums.gentoo.org/viewtopic-t-835843-start-0.html

Это как так? Получается, что эта опция позволяет использовать функции ремапинга видеопамяти в процах AMD или полностью софтверный вариант в intel-устройствах?

У кого-нибудь завелось?

Очевидно, что эта байда (если работает без аппаратной поддержки) ппц как грузит проц и тормозит.

 , , , ,

ktulhu666 ()

Мой новогодний подарок всем любителям советского ретро

Форум — Talks

У меня в семье есть традиция. Новогоднюю ночь мы проводим, смотря по телевизору какой-нибудь хороший концерт. В моем детстве с этим проблем не было. В 90-е тоже более-менее, хотя качество этих концертов с каждым годом все больше ухудшалось. Сейчас все новогодние концерты превратились в зверинец, как я его называю. Абсолютный отстой с безголосыми певцами, поющими трусами и пошлыми шутками.
Но в 1999 году в новогоднюю ночь по 1-му каналу шел абсолютно потрясающий концерт «Лучшие из лучших», представляющий собой нарезку из «Голубых огоньков» и «Песен года» прошлых лет. Я буквально пару лет назад воссоздал его целиком, склеив по кусочкам из двух оборванных записей, но в целом представляющих полную версию этого концерта. Можете посмотреть его, он есть у меня в контакте.
К чему все это я. Я лучшего новогоднего концерта, пожалуй, за всю жизнь не видел. И очень хотел его продолжения. 20 лет ждал, но продолжение так и не появилось. А в этом году возникла мысль сделать аналогичный концерт, тем более что по телевизору смотреть, как всегда, будет нечего. И я его сделал! И он потрясающий! Поэтому я выкладываю его в общий доступ и дарю его всем ценителям советского ретро. Помимо моей страницы в контакте, вы его можете посмотреть и невозбранно скачать с моего собственного видеохостинга, который я недавно сам себе сделал.

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

Причем тут ЛОР?
Потому что это единственный форум, на котором я обитаю. И я здесь уже почти 11 лет. Я здесь многих знаю и меня многие знают. И поскольку это форум старый, то мы все здесь примерно одного возраста и я уверен, найдутся люди, которые солидарны со мной в любви к этому жанру. Это видео - мой новогодний подарок для них.

Почему не на Youtube?
Потому что Youtube сразу заблокирует это видео. Звуковая и видеодорожка принадлежат не мне, я просто смонтировал этот концерт. VK относится более толерантно к таким видео, а для тех, кто не зарегистрирован в VK и для большей сохранности я разместил его на своем собственном видеохостинге.

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

Будет ли продолжение?
2-я часть однозначно будет, на следующий новый год. Разумеется, если буду жив и если с компом все будет в порядке. :) 3-я часть - не знаю, 50 на 50, оценю и решу по результатам 2-й части. Мне хотелось бы, чтобы она была. 4-я часть - это уже вряд ли. Создавая такие концерты, самое важное - вовремя остановиться и не скатиться в шлак, чтобы все выпуски были не хуже друг друга. Я еще планирую сделать одиночный концерт с военными песнями, посвященный 75-летию Победы.

 , , , ,

Rinaldus ()

wine-esync

Форум — Games

Как можно заметить, wine активно эволюционирует. Лично для меня заметным прорывом стали csmt, dxvk, а теперь и esync.

Не вдаваясь в технические подробности esync можно описать так: это патч для wine, который заставляет приложения эффективней использовать центральный процессор, тем самым добавляя производительности. Тоесть если некая игра под wine использует процессор на 100%, то пользы от esync в ней не будет. Но в моём случае прирост в нескольких любимых играх составил +10-20% fps, что существенно повысило играбельность.

Что бы это заработало, надо немного повозиться:

  • накатить патч esync и скомпилировать wine. Для Arch Linux доступен PKGBUILD по адресу https://github.com/Tk-Glitch/PKGBUILDS
  • настроить параметры ОС, а именно увеличить значение file descriptors (в актуальных версиях Debian и его форках всё уже настроено как надо)
  • перед запуском wine установить системную переменную WINEESYNC=1

Мне компилять было лень, поэтому я поступил так:

  • установил wine-staging из официальной репы, для того что бы вместе с ним установились необходимые библиотеки для нормальной работы wine
  • скачал скомпилированый wine-esync в виде ранера от проекта Lutris, распаковал в обычный каталог и запускаю игры через него. Не забывайте установить WINEESYNC=1 и опционально либы dxvk. Адрес для скачивания готовых сборок - https://lutris.net/files/runners/

Проект esync: https://github.com/zfigura/wine/tree/esync
Readme с тех. подробностями: https://github.com/zfigura/wine/blob/esync/README.esync

Задавайте свои ответы )

 

necrus ()

Для тех, кто считает что апдейты не нужны: очередной удалённый рут для Андроида

Форум — Talks

https://arstechnica.com/information-technology/2019/10/attackers-exploit-0day-vulnerability-that-gives-full-control-of-android-phones/

0-day, фиксов пока нет.

В основном принёс для тех, кто кричал что апдейты не нужны и им и так хорошо на Хуяваях, Хяоми, Булингах и прочем интересном железе без апдейтов.

Exploits require little or no customization to fully root vulnerable phones. The vulnerability can be exploited two ways: (1) when a target installs an untrusted app or (2) for online attacks, by combining the exploit with a second exploit targeting a vulnerability in code the Chrome browser uses to render content.

 , , ,

grim ()

Еще одна жертва как бы двухфакторной аутентификации с sms

Форум — Talks

Предыдущая новость «у них» Главного по Twitter взломали, подменив SIM-карту

А это уже у нас https://habr.com/ru/post/468909/ - у человека перевыпустили sim-карту и угнали яндекс-почту и домен.

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

 , ,

praseodim ()

Вы любите питон вот за такое?

Форум — Talks

 

psv1967 ()

Butthurt driven development

Форум — Development

Навеяно Metaprog: выпуск прототипа (универсальная графическая среда программирования) (комментарий)

  1. Нужно чтобы была идея проекта. Анонсируем проект на ЛОРе - конечно же желательно какую-нибудь другую площадку, но как-то трудно представить замену со специфической бригадой анонимусов.
  2. Главное чтобы у проекта были противники и нужно их собрать треде анонса. Если от маломальского прогресса в проекте печёт в одном месте то обязательно найдутся и сторонники проекта - уж человек так устроен.
  3. Начинаем итерацию. Добавляем в свои треды побольше разнообразного фимоза - тогда к труднопреодолимым барьерам в развитии проекта, предсказываемым серьёзными рациональными типами, прибавятся и вполне себе преодолимые аля «да такой как ты даже хелловорлд на сях не соберёт». Собираем такие барьеры в список.
  4. Сортируем готовый список барьеров по преодолимости. Очень желательно чтобы такой список оканчивался ну совсем фантастическим достижением. Если это не первая итерация, то обновляем список из прошлой итерации. Ставим отметку «вы находитесь здесь».
  5. Преобразуем энергию бугурта в рабочий код, периодически с упорством и решительностью «подпитываясь» на форуме.
  6. Постим новость о новой версии со «списком хотелок» и пометкой «вы находитесь здесь»
  7. Next iteration
  8. ???????
  9. PROFIT

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

 

ados ()

Вычислительная фотография

Форум — Talks

https://vas3k.ru/blog/computational_photography/

случайно нашёл ссылку на просторах интернетов, прочитал до конца, и меня так торкнуло, как давно не торкало :)

TL;DR фотографы с зеркалками больше не нужны, любой лопатофон в недалёком будущем уделает их за счёт алгоритмов, нейросетей и хитрого железа, путём вычисления нужной фотографии, несмотря на убогую оптику и матрицу

дискасс

 , , , ,

Harald ()

Информация по t440p

Форум — Linux-hardware

Нашёл отличную документацию по покупке и апгрейду Lenovo Thinkpad T440p, который до сих пор ещё даст прикурить многим моделям по соотношению цена/качество.

https://octoperf.com/blog/2018/11/07/thinkpad-t440p-buyers-guide/

 , ,

Dimez ()

Правильный(???) стиль работы со строковыми данными на С

Форум — Development

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

К примеру, размеры mult1_str, mult2_str и equal_str известны, нужно выделить память под всю строку:

snprintf(
    buf,
    buflen,
    "%s miltilple %s equals %s",
    mult1_str,
    mult2_str,
    equal_str
    );
варианты:
- махнуть шашкой и сделать килобайт на стеке ( ((( )
- ничем не размахивать и посчитать руками. (еще хуже)
- написать функцию которая будет вычислять длину «%s miltilple %s equals %s» без символов подстановки (уже лучше)
- отказаться от snprintf и собирать строку пачкой конкатенаций с аллокациями памяти и прочим...

А как делаешь ты?

 ,

ocr ()

Подскажите как писать код на C

Форум — Development

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

  • Как мне использовать key-value структуру данных? В других языках используется библиотека (Java) или встроенная реализация (Go). А что используют в проектах, написанных на C?
  • Как в проектах на C узнают длину массива, переданного как аргумент? Я знаю, что массивы передаются как указатели, а указать длину данных за указателем - невозможно. Нужно всегда передавать длину как аргумент? Я также понимаю, что можно создавать свои структуры, состоящие из указателя и длины, но как это грамотно сделать, чтобы потом не запутаться в типах и бойлерплейте? Возможно, есть нормальная практика, которой все следуют?
  • Единственный способ иметь в структуре несколько массивов - использовать указатели. Значит, память нужно выделять и очищать вручную. Значит, для работы с такими структурами нужно иметь функции-обёртки. Так все делают для создания нескольких массивов в структуре?

 , ,

elonmusk ()

Tox - всё? Новый форк небезопасен?

Форум — Talks

Да, я вылез из криокамеры и вместо оригинального репозитория на сайте https://tox.chat/ я обнаружил вот это:

1) Ссылку на какой-то новый проект (форк Tox'а): https://toktok.ltd/

2) Репозиторий этого нового проекта: https://github.com/TokTok

3) Понимание того, что старый разработчик Tox забил на свой проект и отдал его непонятным ребятам, которые сделали форк, обозвали его TokTok. Я даже толком не понял что такое TokTox? Приложение для iOS? Что это?

4) А потом я нашел вот это и понял, что разработчики TokTok вообще поехавшие: https://github.com/TokTok/c-toxcore/issues/426

Здесь один из разработчиков Wireguard (Jason A. Donenfeld) наехал на разработчиков TokTok с серьезными обвинениями по безопасности, а те лишь ответили что-то в духе «мы все это знаем, но стандартные протоколы шифрования не такие уж безопасные, как кажется - мы делаем лучше, вот здесь наш план, мы движемся к успеху».

5) При этом непонятно, что там со старыми клиентами, базирующимися на оригинальном ядре Tox: https://tox.chat/clients.html

Особенно интересуют qTox и Toxic, какое ядро они щас используют?

Вот так всегда в опенсорсе, как только какое-то благое начинание, так обязательно забросят или зафейлят. Вряд ли важность и значение хорошего мессенджера с шифрованием можно переоценить. Можно ли доверять новому Tox'у, если ребята используют свой самодельный протокол и не понимают что они делают? И когда пофиксят ту дыру в безопасности, про которую говорит Jason A. Donenfeld, ведь тикет открыт уже 2 года?!

Из альтернатив остается Jami (бывший Ring), да и все похоже? http://jami.net/

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

Перемещено jollheef из opensource

 , , , ,

anonymous ()

NVidia vs. AMD

Форум — Talks

По прогнозам в 2019 году Nvidia потеряет порядка 700 миллионов долларов прибыли от падения продаж видеокарт. Компания прекратила поставки видеокарт среднего сегмента в связи с их переизбытком. За 2018 год объем запасов видеокарт на складах вырос на 65% и достиг 1,4 миллиарда долларов. Избыток связан с массовой продажей карт криптошахтерами, завязавшими с добычей. Во время интервью GamesBeat Хуан Жэньсюнь обвинил в избытке видеокарт на складах компанию AMD. По словам Женьсюня, карты RX 580 заполонили рынок, подрывая продажи карт Nvidia. По прогнозам аналитиков, Nvidia удастся разгрузить склады не раньше 2020 года.

Пока идей о снижении цен никто не выдвигал. И уж тем более низкие продажи карт не связаны в ценой. Доходы, полученные от продаж карт майнерам, были восприняты как должное, и не должны были снижаться. Вместо новых видеокарт игроки предпочитают сидеть на старой видеокарте, либо приобретают карты на вторичном рынке. Снижать цены на видеокарты нельзя, потому что это не понравится инвесторам и приведет к падению акций. Устраивать распродажу себе в убыток это все равно, что воровать у самого себя. По логике Хуана, AMD не должна была выпускать на рынок большое количество своих карт, чтобы Nvidia успела распродать свои запасы. Возможно, виной всему жадность инвесторов и компании.

Источник: overclockers.ru

 ,

Gonzo ()

Десктопные мамки mATX с Vt-d

Форум — Talks

Ищу десктопную плату, удовлетворяющую следующим требованиям:

  • формат micro-ATX
  • наличие классического набора десктопных интерфейсов (включая USB 3.0), 2 цифровых видео-выхода
  • высокое качество исполнения (элементная база, надежность)
  • нормальная поддержка ACPI, чтобы работал суспенд и прочие плюшки в линуксах
  • сокет 1155 под процы Ivy Bridge
  • поддержка Vt-d

Подскажите, есть ли в природе такие платы?
Смотрел в сторону асусов на Z77, с ними очень хитро... Intel формально поддерживает Vt-d на Z77, но не сертифицировал фичу для асуса и они ее или не поддерживают вовсе или разлочивают в биосе для галочки, а DMAR-таблицы кривые все равно.
Платы Intel брать не хочу, элементная база сильно ущербная и суспенды часто не работают. Всякие Asrock и Gigabyte вроде работают отдельные модели, но инфа только по полноразмерным ATX и не уверен в них в плане долговечности. На серверных платах ущербные интерфейсы. Чипсет C202/C204 не держит интегрированную графику, а C206/C216 не встречается на mATX.

 , , ,

Lordwind ()

Как поставить linux на dvd плеер?

Форум — Linux-install

Достал я недавно DVD-плеер BBK DV915HD полностью рабочий. Я как-то слышал, что в dvd-плеере тоже есть ОЗУ, процессор перепрошиваемая прошивка. Сейчас dvd-проигрыватели уже неактуальны, а вот поставить какой-нибудь линукс (или какую-нибудь NetBSD неважно, главное чтоб работало) было бы неплохо. Этот плеер с HDMI и USB входом.

Снимок в корпусе

Снимок со снятой крышкой

Процессор: MT1389FE

ОЗУ: Hynix HY57V641620FTP-7 ( 64Mbit (4Mx16bit))

ПЗУ: AT26DF161 (возможно 16 МБ)

Снимок платы

Контроллер двигателя DVD (необязательно) - AMtek AM5888S L/F G68623H

Снимок задней стороны

Возможно ли? Поставить полноценную ОС и желательно с X'ми чтоб у всех знакомых глаза округлились?

 , , ,

gtk3 ()

Твиттер РИП, да здравстует Мастодон!

Форум — Talks

для тех кто в танке:

месяц назад сделал твитер с 10 постами с «шоукейсом» моего гитхаба, 0 просмотров 0 фоловеров, да я нигде твитер не скидывал

пару недель назад сделал акк на мастодоне с «хело ворд» скриншотиками 8 фолловеров и куча лайков
+живая беседа там, а не с ботами твитера
+я удивился кто там сидит, разработчики довольно известных движков(у меня в фоловерах ogre3d разраб, который другим уже занимается) и всяких стим-поделий, сайтиков, много кто

держу в курсе

 ,

missxu ()

Тренировочный пример на python с TensorFlow, несовместимость версий

Форум — Development

Добрый день! Я изучаю машинное обучение по книге «Глубокое обучение. Погружение в мир нейронных сетей». В книге приводятся примеры кода на Python с использованием библиотеки TensorFlow, и я столкнулся с тем, что у меня они не работают так, как надо. Приведён следующий пример: http://dpaste.com/046D84P

Он не запускается, поскольку

  • функция tf.initialize_global_variables() была объявлена deprecated и удалена
  • класс tf.train.GradientDescentOptimizer() требует параметр - скорость обучения learning_rate.

Я внёс в код коррективы: заменил initialize_global_variables() на global_variables_initializer(), добавил параметр 1 для класса GradientDescentOptimizer. Получилось вот что: http://dpaste.com/1QKP7K7 (изменения в строках 21, 17).

Под TensorFlow 1.8 из pip, Python 3.6.5, код не работает: на каждом шаге я вижу:

Эпоха 100: nan, k=nan, b=nan
, где номер эпохи меняется, а вот nan не меняется. В книге была мельком написана фраза: «на данный момент (конец 2016 года)», что натолкнуло меня на мысль поставить как можно более древний TensorFlow. В pip самая ранняя доступная версия - 0.12.1 от 30 декабря 2016. Я вкатил её, но получил абсолютно тот же самый результат: nan вместо ответов. Я не знаю ни Python, ни TensorFlow, и планировал некоторые обрывки знаний по ним подтянуть в ходе разбора примеров из книги (примеров всё равно не так много, смысловое ядро книги - в области математики и теорвера), и, кроме того, мне хотелось бы вживую увидеть результаты, поиграть с параметрами. Подскажите, пожалуйста - в чём может быть проблема, и как мне следует поступить? Я могу попробовать вкатить ещё более древний TensorFlow, но мне видится маловероятным, чтобы это помогло. Может, в самом коде есть какие-то ошибки? Заранее спасибо за помощь.

 ,

Norong ()

А нужны ли все эти ваши гринтреды, корутины, I/O асинхронщина

Форум — Development

и прочие 'костыли/недотреды' на современном то железе и операционных системах в 2018+ годы?

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

Зачем усложнять рантаймы и писать нечитаемою асинхронщину? Зачем пользоваться убогими Node.js, Golang и тому подобным?

 , , ,

mimimimi ()