Pull to refresh
142
0
Send message

Что ж, "а ларчик просто открывался". Действительно существуют разные нотации и интерпретации как читать, все как в мире человеков.

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

Вариант с четными буквами исключаем сразу: некоторые коды имеют установленный старший бит, а это уже не стандартное ASCII. Вряд ли организаторы закодировали там русский текст в UTF-8. Значит, перестановка.

Из перестановок наиболее простые - это реверс и ROL (первый слева бит идет в хвост, остальные соответственно сдвигаются влево). Других простых вариантов, которые бы оставили справа нули, я лично сходу не придумал. Ковырять в сторону логических операций тоже смысла мало, т.к. задача по задумке простенькая.

И это называется "расшифровать"?! Стыд и позор не знать терминологии. Публичную задачу можно было сформировать корректно, бррр, до сих пор пробирает. Это не шифр, а максимум стеганография

Стеганография - это когда скрыт сам факт передачи информации. А тут таки да, шифрование. Можно поспорить, что это просто кодирование, но нет: у нас тут есть и замена, и перестановка. У нас есть исходный текст, который кодируется в ASCII, затем происходит замена кодов другими (да, по тривиальному алгоритму, но все же). Затем даже есть перестановка! Тоже тривиальная, но все же.

Так что не стоит хаять сей прекрасный шифр: он хоть и прост, но вполне имеет право называться шифром.

Сложно представить, каким образом эта задача и её цепочка решений может помочь мне и остальным разработчикам в обычной работе.

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

Лично я изучал Little / Big endian один раз в качестве "любопытно знать" и с тех пор мне это пригодилось 0 раз вплоть до этого дня (чудо, что я вообще вспомнил). Между разработкой и Little / Big endian лежит очень много уровней абстракции.

Ну, тут не биг/литтл как таковой, поскольку в большинстве случаев порядок бит в байте что там, что там одинаковый. Но мне, помнится, приходилось читать логи некой древней АТС, в которой биты шли слева направо. Было весело. :)

Опять же, во многих сетевых протоколах надо уметь разбираться с битами. Так что это не совсем пустые навыки.

Я не буду навязывать конкретное решение, только дам свой пример: варианты кода с нарушением ООП / SOLID / code style (pep, black, eslint и т.д.).

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

Минимум времени и усилий от всех участников, все ошибки известны заранее, оценки формализованы и объективны.

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

Всем привет, вас ждет история, разрывающая стереотипы!

Здрасьте.

Многие до сих пор считают, что “девушка в IT — это горе в семье”.

Это и есть тот стереотип, который вы собираетесь тут разрывать? Ну так я вас разочарую: число людей, которые считают, что “девушка в IT — это горе в семье”, сильно преувеличено. Они - исключение, а не широко распространенный стереотип. Если они вообще существуют где-нибудь кроме вашего воображения (лично я таких в индустрии не встречал). Тем более сейчас, когда из каждого утюга рекламируются курсы "войти-вайти" с упоминанием фантастических для обывателя зарплат.

А у нас в компании есть живое опровержение этой идеи — наша руководитель отдела разработки Ксения Липская.

Живое опровержение выдуманной идеи. Потому что в реальности в айти нет никакого ценза по половому признаку. Я вот знаю нескольких женщин-тимлидов и руководителей отделов, и что? Вода мокрая, одеяло теплое, в айти работают женщины.

О том, как “девочка-девочка” учится на айтишника, уходит и возвращается к IT-истокам, секретах управления и увеличении скорости разработки — расскажет сама Ксения.

"Девочка-девочка"? Интересно.

Так обычно говорят о стереотипной "девочке", у которой в голове только платья, ноготочки, бровки-реснички-макияжик... Хммм... И эти люди нам разрывают стереотипы? Ну да, ну да...

А я всего лишь записал этот рассказ и задавал уточняющие вопросы ;)

"Я" - это кто? Статья написана от имени компании EvaTeam, в конце статьи автор тоже не указан (сейчас специально посмотрел). Как говорил Кролик, "я бывают разные!".

Вообще-то я собиралась идти в другую сторону и в школе зубрила естествознание и право.

Естествознание - это целая куча наук. Гугль вот тут мне подсказывает: "Естествознание – это наука о строении вселенной и законах, ей управляющих. Естествознание делится на две части: общее естествознание, включающее в себя физику, механику и химию; и частное естествознание, состоящее из астрономии, минералогии (сюда же относится и геология), ботаники и зоологии. "

Ну т.е. у нас тут не "девочка-девочка", как пишет неизвестный автор, а интересующаяся вполне себе серьезными науками личность.

Но на самом деле я всегда любила точные науки и информатику, мне это давалось хорошо.

Собственно, этого достаточно, чтобы быть айтишником. Половая принадлежность тут вообще ни при чем.

Кстати, о стереотипах — сложно ли девушке учиться на “мужскую” специальность?

А вот автор статьи старательно пытается пропихнуть повесточку и стереотипы.

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

В IT никаких ограничений для женщин нет, а следовательно, никаких "мужских" специальностей тоже нет.

В нашей группе из 50 студентов было 40 парней. Но 10 девочек на курсе — это немало!

Я вам больше скажу - это очень даже сбалансированно. Во многих вузах отношение примерно 1:10 (в технических - 1 девушка на 10 парней, в гуманитарных - бывает и наоборот, 1 парень на 10 девушек).

Пока ты так стремительно росла по карьерной лестнице, не сталкивалась ли с предвзятым отношением?

И вновь автор пытается накопать сексизм там, где его нет. "Ну скажи, что тебя ущемляли, скажи-скажи-скажи!!!".

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

Прежде чем "думать шире", неплохо бы подумать просто, по-обычному.

Какова наша цель? Судя по заголовку статьи - сокрыть данные.

Что нам предлагается? Слепить QR-код, в котором будет ссылка на чей-то левый сервер, на котором лежит нам секретный файл.

Другими словами, мы:

  1. Вместо сокрытия данных делимся ими с некой третьей стороной;

  2. Вместо сокрытия самого факта наличия информации размещаем где-то QR-код, который может прочитать любой желающий и скачать наш файл.

Как-то это непохоже на сокрытие информации, если честно.

Мы можем отсканировать QR-код и убедиться что послание мы действительно просто так не получим, для этого заходим снова в меню нашей проги, и в этот раз выбираем пункт Restore Backup.

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

Вообще, конечно, hyperbacked - программа интересная. Она предназначена для того, чтобы создавать твердые копии критически важных для человека данных, но при этом в зашифрованном виде. Давно хочу что-нибудь типа такого наваять, только не для распознавания камерой, а чтоб можно было отсканировать нормальным сканером и расшифровать. В QR-код, к сожалению, больше 2 килобайт запихать уже проблематично.

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

Да, это классика, и имеет классические же недостатки. Например, если галерея перекодирует файл в JPEG или WEBP, или изменит размеры изображения, или "оптимизирует" его, - данные будут необратимо утеряны. Ну и опять же, статистический анализ может такие файлы найти, особенно если внутри скрыто больше нескольких байт.

Но здесь хотя бы есть сокрытие информации, ура.

Единственный минус несколько большие расстояния между строками

Минус тут в том, что вместо разметки используется plain text.

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

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

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

  1. Частица "бы" вообще никогда не.

  2. Ваш способ ничем не удобнее практически любого другого способа обозначить заголовки в маркапе. Наоборот - появляются лишние почти пустые строки.

Например, вот способы обозначить заголовки разных уровней в creole markup:

== Крупный заголовок

=== Заголовок поменьше

==== Совсем маленький заголовок аж жуть

Здесь все вполне понятно, есть интуитивно-понятная иерархия, можно будет автоматически сгенерировать содержание документа. Ашоувас?

Стихотворения тоже можно вложить во включение с классом poem

Все можно вложить во включение, вопрос не в этом. Сам подход "отказаться от оформления и передавать смыслы" - непрактичен. "Смыслов" получается очень много, а людям, как правило, нужен весьма ограниченный набор оформительских средств.

Как только одно и то же оформление будет получаться в результате разных классов "включений", люди начнут упрощать себе жизнь. Зачем иметь отдельный класс для стихов, если все, что нужно автору текста - чтоб строки не слеплялись вместе?

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

И сразу получаем качественные, отполированные многими лбами грабли.

Дело в том, что "смысловых акцентов" много, очень много. Например, вот есть у нас стихотворение, мы его хотим оформить "по-правильному". Значит, у нас должны быть примерно такие "смысловые акценты":

  • стихотворная строка

  • строфа (несколько строк, создающих некий ритм)

  • заголовок, главы, подглавы (если стихотворение большое)

  • эпиграф (если есть)

  • подпись (если есть)

А для художественного текста нам понадобятся какие-то средства выделения слов или целых предложений:

  • полужирный шрифт (анафема!)

  • курсив (анафема!)

  • подчеркивание (анафема!)

Но использовать их напрямую нельзя - мы же не художники-оформители, нам надо смысл передать. Значит, начинаются танцы вокруг вопроса "а что хочет сказать автор?". Вот тут он жирный хочет [%%%]нуть - почему? Означает ли жирный, что автор подразумевает более громкое чтение? Или у него тут интонация особая? Или это просто пометка "важное, не забудьте"? А курсив - это что? Цитата? Примечание?

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

До Ататюрка страна шла по пути других исламских стран: письменность на основе арабской графики, изучение Корана... И, естественно, обязательное для любого грамотного человека изучение арабского языка, ибо на нем писан Коран. По сути, арабский являлся (и является) для стран ислама тем, чем являлась латынь для Европы: неким общим языком, который стремятся знать. При этом грамматика арабского языка довольно экзотична для представителей других языковых групп.

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

Я к тому, что грамматика вряд ли поменялась, Ататюрк ее не реформировал (и вряд ли это вообще возможно). Поменялась терминология и, возможно, подход к изучению.

Если проанализировать степень изменений, произошедших с английским языком за последние 1500 лет и посмотреть на такой же период времени в будущем, то с очень большой вероятностью через 1500-2000 лет он будет так же разительно отличаться от настоящей его версии. 

Не факт ни разу.

Во времена Чосера язык развивался в сравнительно небольших комьюнити, довольно изолированных друг от друга. Язык никто не изучал в школе, чего нахватался - так и говоришь. Читать среди ширнармасс не умели. Книг не было. Радио, телевидения и дикторов - тоже. Поэтому язык вполне себе развивался без тормозов: начали в городе пришепетывать - через двадцать лет шепеляво говорит вся провинция.

Сейчас есть книги, СМИ, все грамотные. Более того, грамотно говорить и писать - престижно, ибо от этого зависит карьера. Поэтому можно предположить, что безудержное изменение языка а-ля средние века сейчас невозможно или хотя бы сильно замедлено.

Многие говорят, что английский язык постигнет грустная участь, заставив его закончить свои дни, как латынь или даже вовсе исчезнуть.

Это вполне реалистичный сценарий. В истории такие случаи бывали неоднократно: язык, некогда объединивший разные народы, постепенно становится неким престижным "высоким" языком, на котором никто уже не говорит. Говорить могут на его потомках и даже на совсем неродственных языках, а "высокий" язык остается языком литературы, науки, делопроизводства. С латынью именно это и случилось: сначала появилось разделение на "классическую" и "народную" латынь, а затем "народная латынь" эволюционировала в современные языки романской группы. Аналогичная ситуация была с шумерским: он использовался в Шумере в качестве языка официальных документов спустя целую тысячу лет после того, как шумерский язык вышел из употребления и заменился аккадским.

Сейчас разделение языка на "разговорный" и "литературный" идет в любом развитом языке. Литературный язык развивается медленно, разговорный - как получится. Это и есть предпосылки того, что в будущем они разойдутся до такой степени, что перестанут быть взаимопонятны.

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

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

В статье Гланцмана (на которую вы, кстати, никак не сослались) вообще слишком много допущений. В статье Миллера и Холта вызывает недоверие уже тот факт, что они смогли "перенести память" крысам при помощи препарата РНК, извлеченного из печени(!). Что-то я сомневаюсь, что можно будет пересадить английский с носителя языка, отрезав от него кусочек печени и сделав из него препарат РНК.

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

Мечта всех пятиклассников. 😁

Зачем обсуждать что-то, встречаться, спорить, если все может быть легко загружено в мозг человека, и позволить ему получить ответы на все свои вопросы?

Помнится, раньше фантасты рассуждали, что если появится некая "всемирная сокровищница знаний", к которой можно делать запросы и получать оттуда ответы, то вот тогда-то человек как начнет самосовершенствоваться! Как начнет силой мысли пронзать время и пространство! Ой-вей, что будет, что будет!

И вот у нас есть такая сокровищница - Интернет называется. И чем же заняты люди? Кота сбежавшего обсуждают и создают сайты о плоской Земле.

Так я и есть berez. И то, о чем я говорил - это что решалка за секунду нашла 101 решение. С чего вдруг взялась секунда на решение - непонятно.

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

Помнится, когда я с этим всем игрался, время полного обсчета довольно сильно менялось. Иногда единственный вариант решения вылезал быстро, иногда - после ощутимой задержки. Зависит это, естественно, от порядка обсчета. Возможно, решалку можно оптимизировать так, что она будет работать за доли секунды, но мне это было как-то не нужно.

Если брать по секунде на вариант

С чего бы так долго? У меня даже на старом Pentium 4 за секунду несколько десятков вариантов находило.

Сейчас запустил, проверил. Полный обсчет судоку №149 занял примерно 16 секунд на моем Ryzen 3700x, число вариантов ответа сходится - 26918. Лезть в старый код неохота, поэтому более точно время не скажу и дамп всех найденных вариантов в файл тоже привинчивать не буду.

И это однопоточный код. Если прикрутить многопоточность, то скорость обсчета вырастет в разы.

Код при этом тупой как пробка: обычный рекурсивный перебор с возвратом.

Полный перебор цифр‑кандидатов в свободных клетках таблицы судоку компьютер не потянет.

Чойта вдруг? Я вот сейчас глянул - решалка судоку, написанная мной аж в 2010 году, прекрасно решает судоку тупым перебором "в лоб". Естественно, если на поле только одна подсказка, то перебирать она будет долго, но при этом счетчик найденных решений будет постоянно расти. Чтобы найти 101 решение из вашего примера, ей на современном железе понадобилась - ну, может, секунда, не замерял. На стареньком железе умножаем время на десять, но в общем и целом тоже было вполне терпимо.

О том, что это шутка, символизирует "/s" в конце ("сарказм" на Реддите).

Помнится, процессоры в советских программируемых микрокалькуляторах (Б3-34, МК-61) были однобитными. Где-то у меня даже валялся один такой...

Я, как человек, говорящий на башкирском например, в целях сохранения и развития культурной составляющей, готов например отказаться от башкирского и перейти потихоньку на узтюрк или даже турецкий.

А каким образом отказ от использования родного языка поможет сохранить "культурную составляющую"? И какую именно?

Известны примеры, когда смена языка практически никак не повлияла на культуру народа. Скажем, до завоевания тюрками на территории нынешнего Узбекистана говорили на индоевропейском языке. После завоевания местные народы весьма быстро (по историческим меркам, конечно) перешли на тюркский, который постепенно развился в современный узбекский.

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

А вы как-нибудь на досуге попробуйте освоить дореформенную орфографию (которая с ятями и ерами). Ее всего-то сто лет назад подрихтовали.

Потому что там искусственно ограничили словарь (850 общеупотребительных слов). В результате в некоторых статьях вместо "сложных" слов используются фразовые глаголы (put off вместо postpone, come over вместо visit и т.п.). Формально все хорошо, а по факту такие конструкции расшифровать гораздо сложнее, чем понять смысл "сложного" слова.

"neuvostoliiton pyöräilijä", на 10 согласных 14 гласных

Гласных все-таки поменьше. Удвоенные гласные - это не две, это одна долгая. Опять же, i после другой гласной - это по сути согласный (ai = "ай").

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

катакана, хирагана (слоговые) и собственно кандзи (иероглифы) - и их использование изначально регулировалось скорее предназначением написаного или кто был уполномочен писать тем или иным образом.

Не совсем так.

Адаптация китайской письменности к японскому языку шла непросто, т.к. языки сильно разные. Чистыми иероглифами (кандзи) писать по-японски было практически невозможно из-за наличия у слов большого количества суффиксов. Вот эти-то односложные суффиксы и стали писать упрощенными иероглифами - хираганой. Катакану до 1946 года использовали для передачи звуков, обозначаемых кандзи, но потом для этого припахали хирагану, а катакана стала использоваться для передачи иностранных слов.

Кандзи для формальных вещей, аристократии, хирагана вроде как "женская" азбука и так далее

Кандзи для написания корней слов, хирагана - для передачи аффиксов, катакана - для передачи иностранных слов. Японская письменность практически всегда была смесью кандзи и каны. И нет, хирагана - не "женская" азбука. По легенде ее монах придумал (как и катакану, которая использовалась в качестве скорописи в монастырях).

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

Хангыль у корейцев используется практически везде (у северных - так вообще везде). В Южной Корее иероглифы используются в декоративных целях - на упаковках товаров, на вывесках, на всяких гадальных костях и молельных флажках. Читать их практически никто не умеет.

То есть иероглифы на основе китайских эта такая "латынь" для общения в письменном виде между определенными слоями в разных регионах и некой метрополией, духовной ли, или реальной не так важно.

Это заблуждение, вырастающее из мифа, что "иероглифами можно написать на одном языке, а прочитать их на другом". Везде, где использовалось иероглифическое письмо на основе китайского, оно использовалось вместе с китайским языком. Т.е. тексты писались на китайском, китайскими же иероглифами.

Естественно, это было сложно и "дорого" - писцы должны были не просто уметь писать, но еще и переводить с местного языка на китайский и обратно на лету. Поэтому предпринимались попытки адаптации китайской письменности к местным языкам.

В Корее, например, сначала добавляли к тексту на китайском особые значки, которые помогали читать иероглифы в нужном порядке (порядок слов в китайском и корейском разный). Во Вьетнаме добавляли "свои" иероглифы для всяких служебных слов, и в итоге их система письменности разрослась на дополнительные 500 знаков. Плюс во вьетнамском тоже порядок слов другой. В японском, как мы видим, добавили упрощенные иероглифы - кана.

В итоге "местные" системы письменности стали громоздкими, сложными, и нечитаемыми для китайцев. Для китайца они выглядели как для нас казахский: отдельные слова вроде понятны (трактор, колхоз), но общий смысл ускользает.

Вы не поверите, но иероглифы в китайском примерно в 80% случаев передают именно звук: https://www.shibushi.ru/tipy-ieroglifov-kluchi

1
23 ...

Information

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