LINUX.ORG.RU

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

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 ()

Вспомнить сериал

Форум — Talks

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

 

Frost ()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

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

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff ()

Ползаем по деревьям устройств

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

Совершенно неожиданно обнаружил себя копающимся в потрохах ядра, а именно — в древовидных структурах Devicetree, содержащих описание периферии, подключенной к системе (как правило, встраиваемой).

Не ожидал я такого потому, что подключенный к моему одноплатнику (Wandboard) пятидюймовый LCD-экранчик прекрасно работал с образом Ubuntu 14.04, скачанным с официального сайта. И перестал работать сразу, как я запустил там самосборный дистрибутив с распоследним ванильным ядром.

Целая неделя ушла на то, чтобы осознать причину: в очень нужном и полезном процессе принятия в апстрим ядра вендорских (тогда ещё Freescale, позже поглощённая NXP) патчей для платформы i.mx6, куда-то потеряли поддержку устройств вывода на вандбордах — ни сигналов на параллельной RGB-шине, ни управления питанием экрана, ни даже фреймбуфера /dev/fb0. И это при том, что были проверены и исключены все прочие возможные причины: конфигурация загрузчика, передаваемые ядру параметры, отсутствующие драйверы, дополнительные патчи или опции настройки ядра. Оставалась лишь одно — некорректная конфигурация Devicetree.

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

И не ждите, что ядро каким-либо образом отреагирует на DT-блоб, неточно или не в полной мере описывающий вашу аппаратную конфигурацию. В лучшем случае на плате ничего не сгорит ;)

Теперь про скриншот. Даже поверхностного взгляда достаточно, чтоб понять: это вам не Plug-and-Play™ :)

Итак, начиная с верхнего левого окна:

  • любимый Okular с открытой распиновкой LCD-модуля и парой висячих заметок
  • под ним — принципиальная схема одноплатника, по которой отслеживается, к какой физической ноге процессора подключен тот или иной сигнал
  • следующее окно — редактируемый .dtsi-файл (DeviceTree Source Include), в который добавляю нужные узлы дерева по аналогии с
  • тем, как это сделано в другой плате с экранчиком — SABRE Lite (окно вверху правее центра)
  • справа вверху — документация ядра с перечнем нужных узлов и параметров (Freescale i.MX DRM master device)
  • справа внизу — документация на процессор с описанием поддерживаемых режимов работы параллельного интерфейса графической подсистемы

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

Рабочая система — Gentoo, KDE5.

Спрашивайте ваши ответы. Особенно интересно будет перекинуться парой фраз с имевшими со всем этим дело.

>>> Просмотр (3840x2160, 1730 Kb)

 , ,

TwisteR ()

Так как сейчас правильно выделять память в приложении?

Форум — Development

По мотивам треда про calloc Calloc нынче ни на что не влияет что-ли? Без философий о том, кто ламер, кто не ламер и понимает современные технологии.

Чисто на практике. Хочется, чтобы:

Программа в процессе работы ГАРАНТИРОВАННО не падала от нехватки памяти при ее выделении и ее не прибивал OOM Killer (по крайней мере просто из-за выделения памяти), то есть, если в процессе работы обнаруживается ее нехватка, она могла бы сообщить об этом пользователю. Или хотя бы корректно завершиться, сохранив текущие данные.

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

Как правильно для этого работать с памятью? Естественно хотелось бы при этом, по-возможности, попроще и поуниверсальнее.

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

rustonelove

 

praseodim ()