В некоторых странах популярны замки, захлопавающиеся без ключа. С ними проблемы оставить ключи нет, вот только у тех кто к ним не привык это случается непроизвольно.
Переводить с иностранного языка на родной значительно проще чем наоборот. И, если сейчас переведенные русскими редакторами английские посты нередко представляют из себя жуткий треш, то что же ожидать от переводов на английский? Вот если ТМ будет нанимать редакторов из англоязычных стран, знающих русский язык на достаточном уровне, тогда другое дело.
В 9-м пересчитывать CRC32 для всего образа достаточно долго. Вместо этого можно заранее посчитать CRC от начала до первого битого байта, и сразу после последнего битого. Второе можно сделать, «отмотав» CRC от конца до нужного места (я использовал github.com/theonlypwner/crc32). Зная эти два значения, можно пересчитывать CRC только для 3-х битых байтов, что гораздо быстрее:
from binascii import crc32
from struct import pack
value = 0x7ffcce87
target = 0xea4af7fe
for i in range(0x1000000):
data = pack("I", i)[:-1]
crc = crc32(data, value)
if crc == target:
print("FOUND: %s" % data.hex())
Двоеточие вплотную к символам кого-то может запутать. ".:", например, вообще выглядит как шрифт Брайля. В оригинальной статье такой проблемы нет, так как символы находятся а темном фоне.
Если поставил слишком большое время за задачу и руководитель это заметил, то он мог потребовать выполнить эту задачу повторно при нем. И если ты выполнял ее намного быстрее, то время корректировали, а время, затраченное на повторное выполнение шло в плюс руководителю в качестве задачи «Контроль сотрудника».
Плохо искали. Кстати в той статье на хабре, на которую вы ссылаетесь в первом же абзаце, также используется «дополнение». «Набивка» здесь плохо подходит по смыслу.
Тут сразу напрашивается feature request. Иногда в коде встречается слишком много inline функций. Приходилось разбирать бинарник где чуть ли не в каждой десятой строчке был заинлайнен деструктор строк. Удобно было бы скрыть их все автоматически. В идеале их хорошо бы вообще вынести отдельно, но это уже более сложная задача.
В любом случае, code folding, как мне кажется, это не трансформация кода. Дерево же при этом не меняется, просто скрываются отдельные его части при отображении.
Можно было бы, используя стандартную опцию "map to another variable", избавиться от них. Но это не всегда удобно при отладке, может быть ошибочно и к тому же невозможно откатить не пересоздавая функцию заново.
https://repology.org/
Энергосбережения же.
В оригинале:
Judge — фамилия автора книги, который, в свою очередь, является приятелем Бретта.
За такой перевод надо значок «Надмозг» выдавать. Не сразу догадался что в оригинале там было «assembly».
КДПВ нужно было брать из третьего задания =)
Тут сразу напрашивается feature request. Иногда в коде встречается слишком много inline функций. Приходилось разбирать бинарник где чуть ли не в каждой десятой строчке был заинлайнен деструктор строк. Удобно было бы скрыть их все автоматически. В идеале их хорошо бы вообще вынести отдельно, но это уже более сложная задача.
Есть "Collapse/uncollapse item" (https://www.hex-rays.com/products/decompiler/manual/interactive.shtml). Не то ли это что вам нужно?
В любом случае, code folding, как мне кажется, это не трансформация кода. Дерево же при этом не меняется, просто скрываются отдельные его части при отображении.
Почему невозможно? Есть же "unmap variable": https://www.hex-rays.com/products/decompiler/manual/cmd_map_lvar.shtml