Говорю же - он там "изкаропки" уже было т.к. приехало из финки где уже давно был тональный набор. Фины просто уже всякие IDSL ставили и потому снимали со станций довольно новое оборудование и вместо того, что бы просто выкинуть - продавали в менее развитые страны в плане телефонии. Так в Питере появились парочка довольно современных по тем временам станций и одна из них рядом с домом моих родителей.
У меня одноклассник весь свой дом по радиоточкам заставлял слушать "зачетный музон" (обычно тяжелый рок) - ну любил он усилители паять... Эхи как-то не зашли. Зато когда, наконец у дома моих родителей построили новую АТС и дома появился телефон, то оказалось на АТС какое-то довольно свежее оборудование (с какой-то финской АТС приехало по слухам) и оно поддерживало и тональный набор в паре с импульсным.... прошло еще не мало лет перед тем как связисты просекли, что у них уже целые районы "быстрым" набором нахаляву пользуются, ввели, блин, плату - копейки какие-то, но уже не халява... жлобство - ведь им то оно ничего не стоило.
Да все так, и некоторые дистрибутивы даже сразу такое ядро ставят со связкой SHIM -> GRUB -> kernel+initrd. Первый при этом подписан ключом от M$, который есть в UEFI практически любого компа. Shim же умеет работать с о своей связкой ключей которая уже содержит ключик для GRUB и ядра. Только вот такой велосипед на 13 колесах и прячет под капотом большинство дистрибутивов.
Но при этом из UEFI можно грузить сразу ядро или даже несколько версий ядер (UEFI в принципе содержит вполне полноценный boot loader). И если нужный ключик доложить в хранилище ключей UEFI то можно грузить да;е в режиме Secure Mode (c проверкой подписи).
Собственно я даже скриптик для UBUNTU накидал для реализации автоматического обновления бутлоадера UEFI при получении нового ядра или удаление старого через стандартный менеджер пакетов (apt): https://github.com/slytomcat/UEFI-Boot
Опасность в том что верификация фактически по двум известным байтам. А загрузка с флешек может быть включена по дефолту и пользователь про это может даже не знать.
В UEFI есть Secure Boot - там все уже вполне серьезно с проверкой того что загружается (хотя и это не всегда правильно реализовано).
все так только ядро нужно специально собранное и желательно подписанное, что бы secure boot и все такое.... Правда еще и ключик для верификации подписи нужно в UEFI занести (что иногда и не так просто бывает).
Ну экскурс в BIOS - полный провал. Лучше было его и не делать вовсе. Никакой такой загрузки с дисков BIOS вообще не подразумевает. BIOS не знает файловых систем в принципе (в отличии от UEFI - тот FAT32 знает и может драйвер любой другой FS подрузить). BIOS тупо загружает первый сектор с самого первого (по приотритету загрузки) диска и передает ему управление. Далее все зависит от того, что там написано в первом секторе. И да - никто не мешает в первые 512 байт написать загрузчик следующих секторов диска, который позволит реализовать первичную загрузку уже не так сильно ограниченную одним сектором (так, например, GRUB умеет делать). Ну а далее при желании можно и GPT разметку заюзать и загрузится уже с любого диска (забыв про MFT секцию первого сектора как про страшный сон). Вот только такая загрузка - жутко небезопасна... и вся верификация - это проверка двух байтов в конце первого сектора - если там правильная последовательность бит, то такой сектор автоматически считается правильным, грузится и запускается...
Ну эволюция тоже костылями во всю пользуется.... только за миллионы лет эти легаси костыли уже неустранимы и работают. Есть очень прикольный костыль: пучок нервных волокон который идет от мозга до языка.... через ключицу! Привет жаберно-ходящим рыбам, которые выбрались миллионы лет тому назад на сушу быстрее плавниково-ходящих. И это не только у приматов, это у всех животных включая жирафа, и тех самых динозавров с шеями длинной по 20+ метров...
Так замки те были на выход из школы или внутри школы. Там трудно было какую-то статью пришить. Мы их вскрывали для "свободы передвижения", а не для получения какой-то выгоды.
Пару раз ночью вставал писать код, который пару дней не мог понять как написать, а вот посреди ночи дойдет - потом не заснуть. Встаю, пишу, коммичу, иду дальше спать. Мои коммиты в 3-5 ночи уже никого на роботе особо не удивляют. Но и по времени прибывания в офисе у нас никогда ни у кого вопросов не возникает (разве что когда по СКУДу набегает 50+ часов в неделю - просят не усердствовать).
Так бенч это и есть - стопятьсот раз передать копией/указателем и померить время и память. Передать копии в 10 разных функций или 10 раз в одну - суть не меняется.
Говорю же - он там "изкаропки" уже было т.к. приехало из финки где уже давно был тональный набор. Фины просто уже всякие IDSL ставили и потому снимали со станций довольно новое оборудование и вместо того, что бы просто выкинуть - продавали в менее развитые страны в плане телефонии. Так в Питере появились парочка довольно современных по тем временам станций и одна из них рядом с домом моих родителей.
Это уже с мобильника. Со стационара и с таксофона - 08. Правда оно одно время и на мобильнике 08 было, но не долго.
У меня одноклассник весь свой дом по радиоточкам заставлял слушать "зачетный музон" (обычно тяжелый рок) - ну любил он усилители паять...
Эхи как-то не зашли. Зато когда, наконец у дома моих родителей построили новую АТС и дома появился телефон, то оказалось на АТС какое-то довольно свежее оборудование (с какой-то финской АТС приехало по слухам) и оно поддерживало и тональный набор в паре с импульсным.... прошло еще не мало лет перед тем как связисты просекли, что у них уже целые районы "быстрым" набором нахаляву пользуются, ввели, блин, плату - копейки какие-то, но уже не халява... жлобство - ведь им то оно ничего не стоило.
Да все так, и некоторые дистрибутивы даже сразу такое ядро ставят со связкой SHIM -> GRUB -> kernel+initrd. Первый при этом подписан ключом от M$, который есть в UEFI практически любого компа. Shim же умеет работать с о своей связкой ключей которая уже содержит ключик для GRUB и ядра.
Только вот такой велосипед на 13 колесах и прячет под капотом большинство дистрибутивов.
Но при этом из UEFI можно грузить сразу ядро или даже несколько версий ядер (UEFI в принципе содержит вполне полноценный boot loader). И если нужный ключик доложить в хранилище ключей UEFI то можно грузить да;е в режиме Secure Mode (c проверкой подписи).
Собственно я даже скриптик для UBUNTU накидал для реализации автоматического обновления бутлоадера UEFI при получении нового ядра или удаление старого через стандартный менеджер пакетов (apt): https://github.com/slytomcat/UEFI-Boot
Опасность в том что верификация фактически по двум известным байтам. А загрузка с флешек может быть включена по дефолту и пользователь про это может даже не знать.
В UEFI есть Secure Boot - там все уже вполне серьезно с проверкой того что загружается (хотя и это не всегда правильно реализовано).
Это да - там нужно уметь в С или даже в ассемблер, а тут уже даже в микроконтроллеры молодежь питон тянет...
Но главное актуальность таких вирусов падает - сейчас найти комп с BIOS режимом загрузки становится все сложнее и сложнее.
все так только ядро нужно специально собранное и желательно подписанное, что бы secure boot и все такое.... Правда еще и ключик для верификации подписи нужно в UEFI занести (что иногда и не так просто бывает).
Перестать создавать файлы с безумно длинными именами.
Ну вот реально не понимаю зачем в названии файла нужно умещать "Войну и Мир"....
А какие такие проблемы с бранчами git-а? Можете пояснить?
Только EFI приложение не на bare metal стартует. Там по сути EFI окружение с кучкой готовых интерфейсов.
Ну экскурс в BIOS - полный провал. Лучше было его и не делать вовсе.
Никакой такой загрузки с дисков BIOS вообще не подразумевает. BIOS не знает файловых систем в принципе (в отличии от UEFI - тот FAT32 знает и может драйвер любой другой FS подрузить). BIOS тупо загружает первый сектор с самого первого (по приотритету загрузки) диска и передает ему управление. Далее все зависит от того, что там написано в первом секторе. И да - никто не мешает в первые 512 байт написать загрузчик следующих секторов диска, который позволит реализовать первичную загрузку уже не так сильно ограниченную одним сектором (так, например, GRUB умеет делать). Ну а далее при желании можно и GPT разметку заюзать и загрузится уже с любого диска (забыв про MFT секцию первого сектора как про страшный сон).
Вот только такая загрузка - жутко небезопасна... и вся верификация - это проверка двух байтов в конце первого сектора - если там правильная последовательность бит, то такой сектор автоматически считается правильным, грузится и запускается...
Но остальной материал - вполне годно.
Ну эволюция тоже костылями во всю пользуется.... только за миллионы лет эти легаси костыли уже неустранимы и работают.
Есть очень прикольный костыль: пучок нервных волокон который идет от мозга до языка.... через ключицу! Привет жаберно-ходящим рыбам, которые выбрались миллионы лет тому назад на сушу быстрее плавниково-ходящих.
И это не только у приматов, это у всех животных включая жирафа, и тех самых динозавров с шеями длинной по 20+ метров...
Да их (unit-тестов) уже ~2 тыщи - все одно пятую точку не успеваю от стула оторвать, а они уже прошли или упали....
Так замки те были на выход из школы или внутри школы. Там трудно было какую-то статью пришить. Мы их вскрывали для "свободы передвижения", а не для получения какой-то выгоды.
Блин ну и шляпа этот хабровский редактор - все переносы строк в коде съел.
Мне с setup() и teardown() очень нравится такой финт:
Пару раз ночью вставал писать код, который пару дней не мог понять как написать, а вот посреди ночи дойдет - потом не заснуть. Встаю, пишу, коммичу, иду дальше спать.
Мои коммиты в 3-5 ночи уже никого на роботе особо не удивляют. Но и по времени прибывания в офисе у нас никогда ни у кого вопросов не возникает (разве что когда по СКУДу набегает 50+ часов в неделю - просят не усердствовать).
Черт, и почему я пишу Go?
А музончик то зачетный ИМХО.
Так бенч это и есть - стопятьсот раз передать копией/указателем и померить время и память.
Передать копии в 10 разных функций или 10 раз в одну - суть не меняется.