All streams
Search
Write a publication
Pull to refresh
152
0
Send message
1) Если проект использует какую-то библиотеку, скорее всего из нее он вызывает всего несколько функций, но мы же не называем остальной код этой библиотеки мертвым и не удаляем его.

Ну вообще тут возможны варианты. Если библиотека статическая, то из нее будут выброшены объектные файлы, на содержимое которых нет ссылок. А если компилятор и линкер поддерживают IPO (interprocedural optimization), то выкидывание неиспользуемого кода будет жощще и из библиотеки будут выкинуты вообще все функции, на которые нет ссылок.

2) Если это наш код и он не нужен временно, его конечно можно удалить, но потом будет сложно искать его в истории контроля версий, т. к. для этого нужно помнить, где он был…

Дык /* многострочные комменты */ же ж!
Или блоки #if 0 / #endif, если речь о C или С++.

Мне тоже не нравится мертвый код, но приведенные выше соображения мешают избавляться от него «в безусловном порядке».

Нормально все.
Гораздо хуже, когда библиотека или фреймворк настолько суровые, что внутри себя используют огромную кучу всякого. В результате использование даже маленькой части функционала приводит к раздуванию кода.
Например, если в программе, использующей фреймворк Qt и собранной статически, просто открыть файл (QFile), то код моментально раздуется на несколько сот килобайт. А все потому, что в коде есть проверки на то, что имя файла — это не URL-адрес. А проверка на URL использует зашитый в программу список «известных сайтов». И хотя формально это не мертвый код, вряд ли он когда-либо понадобится среднестатистической программе.
Так клубы же были — владельцы обменивались друг с другом программами и даже кассеты по почте друг другу пересылали.
А к началу 90-х и кооперативы подтянулись, можно было по каталогу выбрать нужные программы и на кассету записать.
save_website() — позволяет копировать сайт целиком

Да-да, но только если сайт статический и не блокирует массовое скачивание. А вот если у него контент динамически в браузере формируется всякими jquery — тады ой.
Существует тест Роршаха — надо назвать, что ты видишь в кляксе, в которой в принципе и увидеть ничего реального нельзя. Но то, что человек видит определяется необъяснимыми внутренними процессами в его мозге. Интерпретации ответов подобраны опытным путем и никак, и нигде не объяснены.


Вы б хоть википедию почитали. То, что видит человек, вполне объясняется: наш мозг работает на ассоциациях, поэтому то, что он «видит» на картинках, скорее всего, связано с особенностями личности человека.

Здесь прямым текстом сказано, что в мозге слова содержатся в виде текста, почему так вышло, будет объяснено в описании эволюции мозга.


Нет, не сказано. Выдвигается предположение, что пациент проассоциировал важное для себя понятие с созвучным словом (видимо, чтобы не обращаться к нему напрямую).
Вы же в данном случае выдаете желаемое за действительное.
То есть в определении слова гусеница в мозге используется этот глагол, ведь все гусеницы изменяются в бабочку.


Ага, «что делать — гусениться». Прям так в мозге и записано. ?

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

Так же с помощью фМРТ исследований была создана семантическая карта головного мозга, из которой выходит, что крупные семантические группы слов (например, слова, связанные с едой, с действиями, с объектами, с домом), имеют в мозгу вполне конкретное представительство ссылка на статью.


Вот только это не представительство конкретного слова, а зона мозга, активирующаяся при представлении некого понятия. Например, «слова, связанные с едой» активируют зоны мозга, участвующие в оценке вкуса и запаха пищи. Я вам больше скажу: никакой фМРТ для этого эксперимента не нужен. Достаточно засунуть в рот испытуемого датчик, сказать вслух «желтый сочный лимон» — и датчик покажет повышенное слюноотделение.

Но это ведь не значит, что слово «лимон» хранится в слюнных железах, верно? Верно?

В зрительном воспоминании (внутреннем взоре) можно мысленно заменить одну текстуру (цвет) на другую (например, море на песок), т.е. текстуры в памяти имеют какое то внутреннее название.


Нет.

Закройте глаза и пусть кто-нибудь вам под нос сунет лимон — и вы себе сразу его представите. Никаких названий при этом не будет.

Масштабировать во внутреннем взоре нельзя.


В смысле — нельзя? Народные сказки про великанов — это оно и есть, масштабирование во внутреннем взоре с последующим пересказом. В реальной жизни великанов никто не видел.

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


Нет, не следует.
Налицо попытка натянуть реальность на надуманную теорию («мозг — это no-sql база данных с ключом в виде слова и со значением в виде набора метаинформации»).
Дальше, как я понимаю, будет попытка сделать далеко идущие выводы, опираясь на эту надуманную теорию. Спасибо, но нет.
Какая-то слишком сложная схема у вас описана. Целая карусель из звонков, номера пробиваются, имена сотрудников пробиваются — ну прям шпионские игрища.

В реальности все проще. Звонит мрачный молодой человек «из службы безопасности» и начинает затирать какую-нибудь дичь про «финансовый номер телефона» или «необычную транзакцию». А дальше его цель — вызвать панику и выудить сведения о том, сколько денег с вас можно поиметь.
Номер звонящего — левый (обычно московский), свои фамилию-имя он называет от балды. Все рассчитано на рядового пугливого обывателя.

Из нескольких десятков звонков мне только один раз позвонила «приятная девушка». И та начала заикаться и характерно «хэкать», когда я начал с ней во всем соглашаться: да-да, это я добавил второй номер телефона; да-да, на имя Петрова Сидора Матрасыча; да-да, все верно, я уверен.
Там можно спрятать информацию, о том, что этот jpeg не такой как все.

Много где можно спрятать информацию, что джипег не такой, как все. Начиная с имени файла («маша_и_медведь_(37_утюгов).jpg») и заканчивая кучей всякого (сегменты комментариев, сегменты аппликейшен дата, тот же Exif с кучей полей). Нам по сути-то надо всего один флажок закодировать.
Только зачем?
Получатель что, не знает, в каком из файлов искать скрытую информацию? Да пусть во всех подряд ищет, благо это делается не руками, а программно. Откуда удалось извлечь, там она и была (а чтоб мусор не извлекался — контрольную сумму приделать).
Если в России некоторые правонарушения предусматривают только денежные штрафы, то в Индии все статьи предусматривают возможное лишение свободы. В этой части индусы жестче нас.

Это у них традиционное. Например, видел в вагоне метро табличку: за плевок на пол могут дать некислый штраф или до 2 (кажется) лет.
Геометки что?
Если мы все еще о JPEG'ах, то там геометки — это часть блока Exif. Запихать в него скрытую информацию можно. По сути это получается ровно то же самое, что и вот в этом комменте (только храним не в APP4, а в APP1, и нужно еще вписаться в ограничения формата Exif).
Ну формально-то да, стеганография получается — спрятали же. С другой стороны, наличие в жопеге левых блоков легко детектируется автоматически.
То есть спрятать картинку от жены получится легко, а вот от кровавого кейджиби — нет. Наоборот, наличие в графическом файле большого количества неграфической информации моментально привлечет внимание.

А так идею можно развить — например, прятать информацию в дополнительных потоках MKV. А можно еще проще (если прячем от жены) — переименовать jpeg в dll или exe и хранить где-нибудь в Program Files. ?
На 64 символа можно всю мнемоническую фразу написать.
Собственно, это одна из рекомендаций по созданию сильных паролей. Например, Avast такое рекомендует (раздел «The revised passphrase method»).
Такой пользователь будет и пароли везде одинаковые использовать.

Это если нет менеджеров паролей.
Если менеджер паролей таки есть (а их уже придумано множество), то все сразу меняется: пользователю ничто не мешает для каждого ресурса использовать свой уникальный пароль.
Кстати, накалякать свой менеджер паролей не так уж и сложно. Не за полчасика, конечно, но за пару дней — вполне. Зато будет свой, гарантированно без закладок.
Ну так а смысл тогда городить огород с хэшированием? Генерируем мнемоническую фразу для ресурса, берем первые две-три буквы от каждого слова и вбиваем их в качестве пароля:
лошадь со скрепкой — лошсоскр — kjicjcrh
Вот именно.
Схема хорошо работает для вас — т.к. вы используете сложные мнемонические схемы и вообще в курсе, какие у вашей схемы ограничения.

Но возьмем обычного ленивого пользователя. Без суровой дисциплины с его стороны то, что вы предлагаете, будет довольно хлипкой защитой. Еще и неудобной.
Разница в том, что знание Васиного пароля для сайта А не дает нам информации о пароле для сайта Б (ну, если Вася не совсем обалдуй, конечно). А вот знание мнемонической фразы может дать ключ вообще ко всей схеме создания паролей.

Поясню: у пароля и у мнемонической фразы разные цели. Цель пароля — чтоб не подобрали (т.е. он максимально рандомный и, соответственно, труднозапоминаемый). Цель мнемонической фразы — чтоб ее полегче запомнить. И вот тут люди склонны запоминать не набор разных фраз (своя для каждого ресурса), а придумывают некую схему генерации таких фраз. Что и понятно: если бы человек легко запоминал рандомные уникальные фразы, то почему бы ему сразу пароли не запоминать?
Одна из радостей хранилки паролей — в том, что новые пароли добавляются легко и их не надо держать в голове. В результате можно для каждого ресурса использовать уникальный рандомный пароль.
А вот когда пароли генерятся по мнемонической фразе или каким-то другим параметрам, приходится эту фразу как-то запоминать. Уникальных фраз не напридумываешься, поэтому люди обычно вырабатывают некую универсальную схему и следуют ей. Например, можно везде использовать одну и ту же фразу, просто добавить в нее имя ресурса: «лошадьсоскрепкойдляхабра».
Устойчивость этой схемы довольно низкая. Стороннему наблюдателю достаточно один раз увидеть фразу и понять принцип ее составления — и все. У него есть доступ ко всем ресурсам, где использовалась эта фраза.
Все так.
Но это не значит, что неудобство — это безопасность. :)
Неудобно вам сделать удалось. Но насколько ваша схема безопасна?

Допустим, мы знаем, что Вася использует ваш скрипт, и знаем его мнемоническую фразу для некого сайта. Задача: подобрать пароль к сайту Х.
Что-то мне подсказывает, что количество вариантов для перебора будет сильно меньше, чем при тупом брутфорсе.
Вот образование так устроено, что не проверишь сам, так или не так(а времени на это нет, а дальше все упрется в то что Ваше понимание вещей и предметов не такое каким быть должно)

А что вы проверять собираетесь в курсе, скажем, программирования?

В итоге все что вы выучили до квантовых компов думая что теперь вы можете себя назвать разбирающемся в классических компьютерах оказывается нужно так же как нам нужна история Руси сегодня(почти никак).

Квантовые компьютеры — это прекрасно, но до их повсеместного использования еще как до Луны на карачках. А пока светлое квантовое будущее не наступило, придется вам работать с обычными компьютерами, неквантовыми.
И вообще, вуз вам дает общую подготовку, чтобы вы могли дальше развиваться сами. В этом и есть смысл высшего образования. А если вы ожидали, что после выпуска из вуза сразу будете высококлассным специалистом по самым передовым технологиям — ну добро пожаловать в реальность, шопаделаешь.
И кстати, история Руси сегодня таки нужна хотя бы для того, чтобы не вляпаться в какую-нибудь псевдоисторическую хрень. А то разговариваешь, бывает, с инженером, ну умный — молодец просто, слов нет. А потом он — хоп — вскрывается и начинает тебе затирать про великих русских предков, летавших на межзвездных виманах 70 тысяч лет назад… И вроде хороший же человек, ан дурачок.
Но и никто вас не просил это воспринимать как образовательный материал.

Это образовательный материал независимо от моего восприятия и чьих-то просьб. Автор об этом сообщает в самой первой строке:
«Начинаю серию статей с простым объяснением всяких фундаментальных вещей с иллюстрациями».


Мне было приятно за чаем это почитать, не смотря, на крайне очевидные мифы.

Это вам мифы очевидны. А тут вот в комментарии выше товарищ предлагает использовать статью в обучении детей. Причем, судя по профилю, он является преподавателем специальных дисциплин. У детей нет критического мышления, они за чистую монету примут все эти фантазии на историческую тему.

Я к тому, что сказки — это сказки, а научпоп — это научпоп. Не надо их путать, а то потом вырастают плоскоземельцы, фоменковцы и прочие поклонники альтернативщины.

Также, а как автор должен словить «баланс», если нет практики?

Практиковаться, естественно. Для начала — на небольшой аудитории, готовой дать конструктивную обратную связь. И только тогда, когда получается уже хоть что-то вменяемое, следует писать для широкой аудитории.

У автора, как мы видим, подход совсем другой: обратную связь он не просит, публикуется сразу на ресурсе с большой аудиторией, в своем телеграм-канале просит статью «шерить». Т.е. автор себя начинающим не считает.

Вот все недовольные за минусуют, автора и что тогда? Убили желание, светлое стремление. Ничто не проходит бесследно.

С одной стороны — да.
А с другой стороны — возможно, тем самым мы спасем от профанации множество людей.

И если уж начистоту, лично мне автор не кажется тем, кто при первых же неудачах складывает лапки и горько плачет. У него твиттер, у него канал в телеге, у него планов громадье на будущие статьи.

Важно помогать расти друг другу, а не вопить, что кто-то не прав.

Некоторые вещи нужно сначала остановить, а уже потом помогать друг другу.

Что касается помощи — нельзя помочь тому, кто помощи не хочет. Я надеюсь, автор прочитает комментарии, сделает для себя выводы, и его следующие статьи будут прекрасны. Тем более, что предпосылки для этого есть: хороший, легкий слог, ненапряжный юмор, иллюстрации…
Не каждый человек хочет изучать пересказ научной статьи или учебника истории, не говоря об оригинале.

Знаете, есть популяризация (например, научпоп — научно-популярное), а есть профанация.

Популяризация — это когда некие знания рассказываются простым и понятным языком. При этом всякие тонкости, глубинности и излишества или не упоминаются, или упоминаются вскользь. Так вот, в работе популяризатора главное — это именно найти баланс: что нужно рассказать, о чем достаточно упоминания вскользь, и о чем вообще говорить не надо. Умение складно рассказывать и весело шутить — это плюс, но это не главное.

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

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

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

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

Information

Rating
4,795-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity