Не нарушает ни того, ни другого. Статическая компиляция Qt 5.6.3, у которой лицензия LGPL v2.1, предполагает возможность обновления версии библиотеки, т.е. если пользователь потребует, ему нужно предоставить объектные файлы и инструкцию по сборке с другой версией Qt, чтобы не нарушить лицензию. Т.к. пользователь один и ничего такого он не требует — лицензия не нарушена.
OpenSSL имеет свою собственную лицензию, похожую на Apache 1.0 (с середины 2017 года — саму Apache 2.0), и проблемы со статической линковкой там были только со старыми версиями и только если линковаться с GPL-кодом.
Пользуясь случаем, прошу перенести geektimes.com/post/258278 и geektimes.com/post/258274 обратно на Хабр в «Схемотехнику», потому что DIY там был для галочки, а все остальное потерялось при прошлом перезде.
К сожалению, на данный момент красивого, работоспособного и читаемого кода уже недостаточно, он должен быть еще и безопасным, а с этим все очень плохо и в С, и в С++. Преимущество Rust именно в том, что компилятор не даст выстрелить себе в ногу или голову, а все места, в которых стрелять все таки нужно заставит пометить как unsafe. Ясно, что если писать «на регистрах» и заниматься арифметикой указателей, то весь код будет пестрить этими unsafe и сильно лучше чем в С не будет, но уже на следующем уровне абстракции Rust становится заметно лучше языков с неявным владением, неявным и неконтролируемым временем жизни объектов, побочными эффектами в самых неожиданных местах, молчаливым приведением типов, мутабельностью по умолчанию, сырыми указателями, целочисленным переполнением и прочими особенностями С и его наследников, которые мы знаем и любим.
Я тот самый суровый нордический парень с бородой, пытающийся наладить безопасность прошивок того самого хипстеровского макбука и я вам откровенно заявляю: писать сколько нибудь безопасный код много, быстро и недорого на С невозможно, даже если обвешаться статическими анализаторами, АСАНами, УБСАНами и десятком других утилит, помогающими находить ошибки в на вид совершенно безошибочном коде.
Да, мы используем этот язык 30+ лет, да, по нему достаточно специалистов, да, его придется изучать и с ним придется работать, но я вас заклинаю: если можете, пожалуйста, не пишите на нем ничего, связанного с безопасностью, он для этого подходит примерно как ножи для жонглирования — есть люди, которые умудряются еще и штуку инжира кушать, жонглируя ими, но в основном все заканчивается очень плохо. История с уязвимостями всех без исключения ядер современных ОС, написанных на С-подобных языках — отличное тому подтверждение.
Забыл добавить: массовый resizeColumnToContents — весьма небыстрая операция, и если у вас много элементов в дереве (тысяч тридцать, например), она может занимать пару секунд даже на хорошем железе.
Вешать такие операции на collapse/expand — опять же отличный вариант выбесить пользователя тормозами.
Автоматически это делать нельзя и вот почему: ширина колонок в виджете может настраиваться пользователем, и как только пользователь эту ширину настроил — менять ее уже не нужно, потому что это дико бесит. Особенно дико это будет бесить когда у вас не две колонки, а штук десять, и все элементы двигаются туда-сюда просто потому, что какую-то ветку свернули.
В некоторых областях нынче очень не хватает джуниоров просто потому, что порог входа высоковат. Та же разработка прошивок, тут тебе и ассемблер с чистым С, и голое железо, и EFI с Linux на миллион строк кода каждая, и прочее вот такое. При этом простых IDE и утилит из разряда «нажми на кнопку — получишь результат» там не было, нет и не будет, наверное, лет 50 еще.
В итоге джуниором туда идут только самые стойкие оловянные солдатики, с которыми потом и работаем. И это все при том, что тут достаточно обычного компьютера для старта.
Дело там не в версии МЕ, а в версии Intel Platform Support Code, вместе с которым поставляется и МЕ в том числе. Поддержка инженерных и квалификационных семплов обычно заканчивается значительно раньше, чем поддержка релейных процессоров, и потому код для них из PSC просто выкидывается. Можно, конечно, попробовать портировать его из старой прошивки в новую, но это масса работы ради непонятно чего, гораздо лучше будет либо оставаться на последней поддерживаемой версии, либо сменить процессор на нормальный. Замена МЕ\контрольной суммы\адреса\т.п. — точно не выход.
Вообще раз уж мы тут заговорили про ES и QS — читатель, я вас заклинаю, не покупайте их никогда, а если даром дают — отдайте назад. Вот эта проблема с PSC — это вершина айсберга, и там могут встречаться такие странные глюки в самых неожиданных местах, что лучше с ними не связываться вообще никогда.
За информацию спасибо, конечно, только заголовок надо исправить на «драйвер SPIFFS не совместим с чипами PUYA P25Qxxxx, обстоятельства выясняются», а то сейчас он читается так: «в новых ревизиях чипа ESP8266 найден баг, из за которого он перестал писать вообще на любые SPI flash», что, понятно, ложь и провокация.
Кстати, головки собраны от отличных производителей — Torx, Phillips, Spanner и др.
Автор жжот. Это не производители вовсе, это типы головок у винтов, для которых в наборе имеются биты.
Инструмент лучше выбирать самому, и брать надо сразу нормальный, а не очередной китайский набор 1000-в-1 известного качества и цен. От себя лично посоветую отвертки Wiha PicoFinish или Precision ESD, они хоть и дорогие, зато и работать с ними — одно удовольствие.
Для разного рода нестандартных винтов хороши наборы от iFixit, и хотя там качество похуже, чем у Wiha, но зато битов море разных.
Проблема тут мне видится вот в чем: доклады бывают, если совсем огрубить, двух видов. Первый — это когда в докладе представлены какие-то нетривиальные результаты исследований, которые кроме как из доклада этого взять просто неоткуда. В этом случае вообще по барабану качество презентации, слайдов, мимики, жестов и взглядов — ценность информации перекрывает все недостатки. Да, возможно некоторые доклады было бы слушать приятнее, если бы докладчик умел презентовать их лучше, но все прекрасно понимают, что требовать вершин ораторского мастерства от технарей — довольно странно.
Второй вид — это когда никакой толком информации в докладе нет, и там либо мнения какие-то чьи-то, либо банальности, либо другая какая-нибудь ерунда. Такие доклады не стоят потраченного на них времени независимо от ораторского уровня докладчика. Да, я понимаю, что на TED Talks люди на полном серьезе говорят о том, что «нас, оказывается, неправильно учили завязывать шнурки, я сейчас вам всем открою глаза на то, как правильно», но такие доклады, по моему мнению — мусор в любом случае, пусть там докладчиком хоть сам Цицерон.
Теперь про фору американских спикеров — ее нет. Да, тут людей учат в ораторскому искусству в школе, и потому тут практически нет людей, которые совсем не могут говорить со сцены, но мнение о том, что они тут все прямо на голову выше — ошибочное, и связано с тем, что они говорят на другом языке, который для вас является иностранным, и потому вы его слушаете и воспринимаете совершенно иначе, чем родной. Они тут и ошибаются тоже довольно много, и пауз ненужных в речи у них достаточно, а что руками машут задорнее — тут так принято. В общем, на мой взгляд, подавляющее превосходство американских докладчиков над российскими — это ошибка восприятия.
Почему на форумах выступают спикеры — это вопрос к устроителям форумов. Нравится ребятам слово — вот и используют. Мне не нравится, и я его использую в том смысле, в котором оно мне ближе.
Заменять русское слово иностранным, на мой взгляд, стоит тогда, когда подходящего слова либо не нашлось, либо оно слишком широкое по смыслу. Слово же «спикер» — оно по смыслу значительно шире, чем русское слово «докладчик», при этом доклад свой можно не только читать, но и выступать с ним, чего мы и хотим добиться. Вам не нравится налипший на это слово советский колорит («доклады членов 30 съезда КПСС вызвали бурные и продолжительные аплодисменты»), но он постепенно уходит в прошлое, а вот «спикер» в значении «докладчик» как было неприятным англицизмом, так и остается. Если через 10 лет с него уберут пометки жарг. и неол. в словаре — ну что ж, народ сказал свое слово, пусть будет.
Спорить о нюансах языка можно долго, и в спорах подобного рода редко рождается истина, т.к. язык — он у каждого свой, на самом деле, и то, что мы понимаем друг друга хоть как-то — уже большое достижение. Хотите спикера, пусть будет спикер, но найдутся люди, которые будут голосовать против употребления этого слова (особенно в смысле «это как докладчик, только лучше, на уровне американских») специально предназначенной для подобных случаев кнопкой.
За заголовок можно минусовать не читая, при этом статья довольно неплохая и советы дельные, только вот авторы зачем-то издеваются над русским языком.
Более того, подразумевается, что «докладчик» это чем-то хуже, чем «спикер», хотя на самом деле спикер — это вообще любая ерунда, которая относительно членораздельные звуки издает (PC speaker сразу на ум пришел), а докладчик — это человек, представляющий доклад. Получается в итоге смешно, превращаем то, что нужно, в ерунду какую-то, попутно надругавшись над языком. Не надо так.
Замечу, что подпись исполняемых файлов в Windows и UEFI — в формате PKCS#7 v1.5 (а точнее, его MS-модификации по имени Authenticode), и использует она упомянутую в статье X.509 v3 certificate chain, так что проверка такой подписи — это тоже работа с сертификатами X.509.
Если руки дойдут — напишу про это все статью как-нибудь, потому что там тоже, как оказалось, масса подводных граблей и темных углов.
МЕ работает от дежурного напряжения, и потому может исполнять свой код даже на «выключенном» компьютере. Ясно, что для взлома его все-таки потребуется включить, зато потом можно творить свои темные дела и на «выключенном». Согласен с тем, что заголовок несколько громче, чем следовало бы, но ради содержимого я готов это простить.
Статья — огонь, Хабр — торт, всем причастным — респект и уважуха.
Ждем статей про внутренее устройство железа и прошивки МЕ, уверен, что вам всем есть что рассказать о них.
Добавлю из своего прошивочного погреба: для проталкивания Rust в эту нишу нужно очень сильное давление со стороны производителей CPU, потому что именно они пишут львиную долю кода прошивок и пока они не захотят сменить C на более безопасный язык — ничего с места не сдвинется.
В Google товарищи, которые занимались coreboot, решили написать свою собственную реализацию фазы DXE (проект u-root) на Go, и у них оно может выстрелить, т.к. ресурсов достаточно, но пока индустрия вся это не поддержит — ничего не изменится, и пока даже намеков нет на какой-то прогресс в этой области.
Понятно, что любой путь начинается с первого шага, но пока даже на этот шаг (в случае с Rust таким шагом будет добавление драйверов на нем в сборочную систему EDK2, чтобы можно было начать их собирать там же, где собирается все остальное) времени ни у кого нет.
Модель своего ноутбука подскажите, потому что снимать дамп нужно утилитой Intel Flash Programming Tool, а она не запустится если ее версия не совпадает с мажорной версией ME.
Ребят, хоть кто-нибудь дамп прошивки в этом непонятном состоянии сделать догадался? Если тут есть кто-то с этой проблемой несохраняющихся настроек, способный загрузить Windows, напишите модель своего ноута, я расскажу как сделать дамп.
Без дампов это бесполезно расследовать, потому что гадание на кофейной гуще.
Если хотите гаданий, их есть у меня:
1. Линукс каким-то образом в очередной раз испортил прошивке NVRAM своей загрузочной записью, которую создал efibootmgr. Я про него устал уже проедупредждать, но похоже, надо делать это в каждом коментарии — авось кого-нибудь это остановит.
2. Драйвер spi_nor.c даже при простом поиске подключенных к нему чипов зачем-то пытается снять защиту от записи с некоторых из них, которую он не ставил и трогать не должен. Получается очень странная функция spi_nor_scan(), меняющяя состояние чипа. При этом чип, скорее всего, стартует с поставленным битом, а прошивка затем при записи пытается сбросить его через NEG, в результате только ставя его обратно. При этом для сброса на дефолты нужно полное обесточивание чипа (т.е. отсоединение батареи), либо установка этого бита вручную.
Короче, попробуйте для начала вынуть жесткий диск (чтобы не грузиться в этот линукс со странным драйвером) и батарею вынуть на минуту (не CMOS, а основную). Если после этого настройки начнут сохранятся — тут всяко второй вариант, а если не начнут — то может быть и первый, и что угодно еще.
OpenSSL имеет свою собственную лицензию, похожую на Apache 1.0 (с середины 2017 года — саму Apache 2.0), и проблемы со статической линковкой там были только со старыми версиями и только если линковаться с GPL-кодом.
И посты тов. dlinyj пернесите назад, заодно.
«У меня не было светодиодов, поэтому я сделал простую встроенную видеокарту и показываю их через HDMI»
Я тот самый суровый нордический парень с бородой, пытающийся наладить безопасность прошивок того самого хипстеровского макбука и я вам откровенно заявляю: писать сколько нибудь безопасный код много, быстро и недорого на С невозможно, даже если обвешаться статическими анализаторами, АСАНами, УБСАНами и десятком других утилит, помогающими находить ошибки в на вид совершенно безошибочном коде.
Да, мы используем этот язык 30+ лет, да, по нему достаточно специалистов, да, его придется изучать и с ним придется работать, но я вас заклинаю: если можете, пожалуйста, не пишите на нем ничего, связанного с безопасностью, он для этого подходит примерно как ножи для жонглирования — есть люди, которые умудряются еще и штуку инжира кушать, жонглируя ими, но в основном все заканчивается очень плохо. История с уязвимостями всех без исключения ядер современных ОС, написанных на С-подобных языках — отличное тому подтверждение.
Вешать такие операции на collapse/expand — опять же отличный вариант выбесить пользователя тормозами.
В итоге джуниором туда идут только самые стойкие оловянные солдатики, с которыми потом и работаем. И это все при том, что тут достаточно обычного компьютера для старта.
Дело там не в версии МЕ, а в версии Intel Platform Support Code, вместе с которым поставляется и МЕ в том числе. Поддержка инженерных и квалификационных семплов обычно заканчивается значительно раньше, чем поддержка релейных процессоров, и потому код для них из PSC просто выкидывается. Можно, конечно, попробовать портировать его из старой прошивки в новую, но это масса работы ради непонятно чего, гораздо лучше будет либо оставаться на последней поддерживаемой версии, либо сменить процессор на нормальный. Замена МЕ\контрольной суммы\адреса\т.п. — точно не выход.
Вообще раз уж мы тут заговорили про ES и QS — читатель, я вас заклинаю, не покупайте их никогда, а если даром дают — отдайте назад. Вот эта проблема с PSC — это вершина айсберга, и там могут встречаться такие странные глюки в самых неожиданных местах, что лучше с ними не связываться вообще никогда.
Инструмент лучше выбирать самому, и брать надо сразу нормальный, а не очередной китайский набор 1000-в-1 известного качества и цен. От себя лично посоветую отвертки Wiha PicoFinish или Precision ESD, они хоть и дорогие, зато и работать с ними — одно удовольствие.
Для разного рода нестандартных винтов хороши наборы от iFixit, и хотя там качество похуже, чем у Wiha, но зато битов море разных.
Второй вид — это когда никакой толком информации в докладе нет, и там либо мнения какие-то чьи-то, либо банальности, либо другая какая-нибудь ерунда. Такие доклады не стоят потраченного на них времени независимо от ораторского уровня докладчика. Да, я понимаю, что на TED Talks люди на полном серьезе говорят о том, что «нас, оказывается, неправильно учили завязывать шнурки, я сейчас вам всем открою глаза на то, как правильно», но такие доклады, по моему мнению — мусор в любом случае, пусть там докладчиком хоть сам Цицерон.
Теперь про фору американских спикеров — ее нет. Да, тут людей учат в ораторскому искусству в школе, и потому тут практически нет людей, которые совсем не могут говорить со сцены, но мнение о том, что они тут все прямо на голову выше — ошибочное, и связано с тем, что они говорят на другом языке, который для вас является иностранным, и потому вы его слушаете и воспринимаете совершенно иначе, чем родной. Они тут и ошибаются тоже довольно много, и пауз ненужных в речи у них достаточно, а что руками машут задорнее — тут так принято. В общем, на мой взгляд, подавляющее превосходство американских докладчиков над российскими — это ошибка восприятия.
Почему на форумах выступают спикеры — это вопрос к устроителям форумов. Нравится ребятам слово — вот и используют. Мне не нравится, и я его использую в том смысле, в котором оно мне ближе.
Заменять русское слово иностранным, на мой взгляд, стоит тогда, когда подходящего слова либо не нашлось, либо оно слишком широкое по смыслу. Слово же «спикер» — оно по смыслу значительно шире, чем русское слово «докладчик», при этом доклад свой можно не только читать, но и выступать с ним, чего мы и хотим добиться. Вам не нравится налипший на это слово советский колорит («доклады членов 30 съезда КПСС вызвали бурные и продолжительные аплодисменты»), но он постепенно уходит в прошлое, а вот «спикер» в значении «докладчик» как было неприятным англицизмом, так и остается. Если через 10 лет с него уберут пометки жарг. и неол. в словаре — ну что ж, народ сказал свое слово, пусть будет.
Спорить о нюансах языка можно долго, и в спорах подобного рода редко рождается истина, т.к. язык — он у каждого свой, на самом деле, и то, что мы понимаем друг друга хоть как-то — уже большое достижение. Хотите спикера, пусть будет спикер, но найдутся люди, которые будут голосовать против употребления этого слова (особенно в смысле «это как докладчик, только лучше, на уровне американских») специально предназначенной для подобных случаев кнопкой.
Более того, подразумевается, что «докладчик» это чем-то хуже, чем «спикер», хотя на самом деле спикер — это вообще любая ерунда, которая относительно членораздельные звуки издает (PC speaker сразу на ум пришел), а докладчик — это человек, представляющий доклад. Получается в итоге смешно, превращаем то, что нужно, в ерунду какую-то, попутно надругавшись над языком. Не надо так.
Если руки дойдут — напишу про это все статью как-нибудь, потому что там тоже, как оказалось, масса подводных граблей и темных углов.
Ждем статей про внутренее устройство железа и прошивки МЕ, уверен, что вам всем есть что рассказать о них.
В Google товарищи, которые занимались coreboot, решили написать свою собственную реализацию фазы DXE (проект u-root) на Go, и у них оно может выстрелить, т.к. ресурсов достаточно, но пока индустрия вся это не поддержит — ничего не изменится, и пока даже намеков нет на какой-то прогресс в этой области.
Понятно, что любой путь начинается с первого шага, но пока даже на этот шаг (в случае с Rust таким шагом будет добавление драйверов на нем в сборочную систему EDK2, чтобы можно было начать их собирать там же, где собирается все остальное) времени ни у кого нет.
Без дампов это бесполезно расследовать, потому что гадание на кофейной гуще.
Если хотите гаданий, их есть у меня:
1. Линукс каким-то образом в очередной раз испортил прошивке NVRAM своей загрузочной записью, которую создал efibootmgr. Я про него устал уже проедупредждать, но похоже, надо делать это в каждом коментарии — авось кого-нибудь это остановит.
2. Драйвер spi_nor.c даже при простом поиске подключенных к нему чипов зачем-то пытается снять защиту от записи с некоторых из них, которую он не ставил и трогать не должен. Получается очень странная функция spi_nor_scan(), меняющяя состояние чипа. При этом чип, скорее всего, стартует с поставленным битом, а прошивка затем при записи пытается сбросить его через NEG, в результате только ставя его обратно. При этом для сброса на дефолты нужно полное обесточивание чипа (т.е. отсоединение батареи), либо установка этого бита вручную.
Короче, попробуйте для начала вынуть жесткий диск (чтобы не грузиться в этот линукс со странным драйвером) и батарею вынуть на минуту (не CMOS, а основную). Если после этого настройки начнут сохранятся — тут всяко второй вариант, а если не начнут — то может быть и первый, и что угодно еще.