Спасибо. Единственный вопрос начинающего криптографа. Взлом основан на слабой функции перестановки в sbox'e, из-за чего SubBytes имеет простой линейный вид. А в случае, если бы это был «true sbox», как бы изменилась выходная функция для P[i]?
Исследовать в Южно-Китайском море с помощью эксафлопсного компьютера совершенно нечего, это очевидно. Зато все теперь впитали, кто IT держава №1 в мире. Ну, а великая и могучая чем, интересно, ответит? Очередным залпом по диким племенам Месопотамии?
Насчет C# могу подсказать, без делегатов. Closure в C# невозможен, потому что там отсутствуют функции первого порядка, в отличие от js. Новичку понравится
Что делать нельзя? Ряд Фибоначчи считать используя рекуррентные соотношения?
Да. Рекурсию нужно объяснять так. Эта, типа, функция, которая вызывает себя. Но смотри следи за стеком, а то грохнется все. Ну есть еще типа хвостовая рекурсия, которой этот самый стек вообще по барабану, но с тебя хватит. Ты ж в html академию пришел, в конце концов
P.S. Кто-то скажет, что алгоритмы и структуры данных — это не чистый math. Ладно, допустим. Но попробуйте объяснить новичку в JavaScript что такое closure без ряда Фибоначчи. Что вы будете использовать, какой надуманный пример? Да вообще говоря, и рекурсию понять без этого невозможно. В учебниках обычно пишут про манипуляции со стеком и адреса возврата. Но разве это суть рекурсии? А тут мы уже вплотную подходим к проблеме останова, теореме Клини и прочим интересным вещам. Вот вам и math в чистом виде! А то — «я пишу 40 лет и никогда не знал, что такое синус». С чем вас и поздравляю.
Приедьте к нам в Малайзию и попробуйте пройти собеседование в более или менее приличную компанию без знания алгоритмов и структур данных. Погонят рваными тряпками. И это правильно. Сам насмотрелся на таких гаврил — приходит он, значит, и ты ему должен объяснять, почему здесь лучше сделать очередь с приоритетами, а не стек. От этого клинит реально. И не «немного дискретки», как выразился автор, а всю ДК, до изоморфизма графов включительно. Кто ниасилил — для вас творения Михаила Фленова из серии «ХХХХХ глазами хацкера»
Похоронили, да. И туда ему и дорога. И давайте уже будем честными сами с собой — дельфи так хорош не из-за непревзойденных качеств языка Object Pascal, от которого Вирт открещивается как только может, а из-за возможности лепить кнопки на форму. И какие это задачи, с которыми он справляется? Я хочу, например, иметь обобщенные списки и вообще полноценные коллекции объектов, хочу перемещаться по ним как положено, при помощи итератора, а не как этому вашему компилятору взбредет в голову. Если меня замучает ностальгия, я, так и быть, запилю что-нибудь на FreePascal (если совсем станет плохо — на трупопассале седьмом, но это уже будет клинический случай). И почитаю книгу пейсателя Фленова «дельфи глазами хацкера»
Поддержку, да, это хорошо. Хорошо то, что сегодня каждый школьник может организовать такую «поддержку» — взять JDBC, например и указать в строке подключения тип драйвера — DB/2. Я говорю о том, что хотел бы работать с такой базой, как DB2, а не с такой, как (слово «база рука» не поворачивается написать) мускул.
Да, точно, именно пересмотреть. И изменить. Именно это должен был сделать тот парень, программист на коболе, завесивший банковскую систему на 16 часов. Но произошло то, что произошло. Да и вообще, все закончилось хорошо. Никто не порезал таблиц с транзакциями, не выпилил оттуда юзеров с их счетами. Чистый вин.
Простите, но у вас тут терминологическая путаница. Я о классах и интерфейсах. Когда я пишу что-то вроде template class myClass, то это интерфейс. Но с какого перепугу он вдруг стал урезанным классом? Этот самый класс class T, который параметризует мой класс, тоже может быть параметризованным, и тогда я получу уже иерархию интерфейсов, причем без всякого наследования. А классы-то где, спросите вы. А их нету, выпилены за ненадобностью. Эти мои интерфейсы и знать о них ничего не хотят. И это все происходит, прошу заметить, на этапе компиляции, когда никаких «громоздких объектов» еще и в помине нет. И кто там чего у вас переосмыслил, понятия не имею. Это, может быть, те парни, которые 20 лет писали на чистом Си, затем решили перейти на С++, не поняли, для чего он нужен и спрыгнули обратно? Ну так туда им и дорога, пусть отдыхают в своем раю. Или пускай присоединяются к питонистам и рубистам — те тоже плевать хотели на понятие типа, но чувствуют себя отлично — интерпретатор избавил их необходимости думать.
Да? А вот некто Э.Танненбаум так не считает. Более того, на страницах своей книги он нет-нет да и упомянет в очередной раз, какая это замечательная концепция — представлять все в виде файла. Ведь тогда и интерфейс нужен единый — интерфейс доступа к файлу, т.е. тот самый, набивший всем оскомину с начала 70х open/creat/read/write/close. Но конечно, кто сейчас знает и помнит Танненбаума. Все знают парня, который нашел (т.е. быстро стырил и ушел) его MINIX и выдал за свое гениальное изобретение. И если в юникс никогда так не было, то покажите мне, пожалуйста, как в этом вашем юниксе, например, примонтировать внешнее устройство, не прибегая к вышеупомянутому интерфейсу. Буду очень благодарен.
Малайзийские компании делятся на две большие, никак не пересекающиеся ни по каким параметрам категории: собственно малайзийские и иностранные. Попасть в местную, конечно, проще: требования пониже, процесс трудоустройства занимает не так много времени. Но и зарплата соответственная. Процесс примерно такой: HR звонит вам и задает несколько общих вопросов: образование, опыт работы, языки и технологии и т.п. Затем он просит вас пройти онлайн-тест. Как правило, эти тесты — что-то вроде дилеммы осла, никак не могущего сделать правильный выбор, и результат почти не релевантен вашему уровню знаний. Например, по результатам одного из тестов, я показал хорошее владение ASP.NET, которую я на дух не переношу (как, впрочем. и весь этот микс дельфи и вижл васика, называемый дотнет). Затем, если все хорошо, вас приглашают на собеседование в офис (вариант — по скайпу). Там будут сидеть 2-3 серьезных мужчины и выворачивать наизнанку вашу подноготную. Молитесь, чтобы среди них не оказалось расового китайца. Почему? Вы просто не поймете его вопросов. Например, он может спросить: ват изе джава клас рут, ансеми, ансеми, что можно перевести как answer me please what is the root java class' name. Европейцы, как правило, относятся к нам хорошо и стараются на собеседовании не валить.
Это еще что. При прохождении собеседования в некоторых компаниях в Малайзии вас попросят написать что-то вроде сочинения на вольную тему, например «Что такое успех». На английском, естественно. И количество слов — 300 минимум. А потом ответить на вопрос «в чем ваши слабые стороны». Здесь главное — долго не думать, иначе они подумают, что у вас завышенная самооценка. Я, например, ответил: я не люблю работать после обеда, и это прокатило.
А кобол тут при чем? В этом вашем линуксе, в выражении
$ find. -type f -name "*.sh" -exec rm -fr {} \;
если вы забудете заменить первую точку на слэш, произойдет непоправимое. Это уже не выстрел в ногу, как в примере из статьи, это отстреливание шаров напрочь. И кто здесь виноват, bash, что ли?
Высокомерие и чрезмерно раздутое ЧСВ — визитная карточка IBM. Та же OS/400, которая крутилась на AS/400 — замечательно годный продукт, объектно-ориентированная ОС, полностью написанная на С++ (привет этому вашему Линусу), где, в отличие от ущербной философии Unix «все есть файл», исповедуется совершенно иная идеология — все есть объект, что, имхо, более естественно (по крайней мере, для программиста). И почему она умерла? Из-за снобизма руководства IBM, не пожелавшего идти по пути MS и Apple и тиражировать свою OC. И с DB2 та же ситуация — крутится она на банковских серверах как «БД для избранных», а все остальные юзают оракл (кто побогаче) или (тьфу, тьфу, не к ночи будь помянут) мускул. Особняком пока стоит postgres, но стоит уже давно, и до оракла ему, на мой взляд, еще далековато.
Маме памятник нужно ставить при жизни, и это не какая-то там фигура речи. Году в 99-м мне пришлось работать в одном банке на IBM AS/400. Приходилось писать исключительно на RPG, так как весь софт был на этом языке. Был там и кобол, но попробовать его так и не пришлось. Единственное, что доставляло — это DB2, работать с ней действительно одно удовольствие. На мой взгляд, почти совершенная реляционная база. Сегодня, глядя ежедневно на б-гомерзкий мускул, испытываю что-то вроде ностальгии по тем временам.
Точка не имеет времени. Точка вообще ничего не имеет, даже протяженность у нее нулевая. Это та абстракция, которая сводит с ума обывателя (конечно, если он даст себе труд задуматься над этим) — что-то не имеет длины, но при этом существует. Точка — это чистый объект из мира идей Платона. Как же вы, помилуйте, приписываете ей какое-то там время? Но для точки я могу, вообще говоря, составить какое-никакое хилое определение (Евклид, например, не заморачивался особо и отнес ее в разряд аксиом, чтобы не мучиться с доказательством). В случае же времени это в принципе невозможно. Единственный способ — это определить время через себя, но формальная логика запрещает делать это. Остается определить его через пространство. То, что я написал вам о движении, это, по сути, приравнивание производной ds/dt (чем и является скорость) к нулю. v = ds/dt, dt = ds/v, t = (1/v)Ids, где I — знак интеграла. 1/v при равноускоренном движении — это константа, нам вообще неинтересно, что собой представляет эта обратная скорости величина. Вот вам и время. Можно его мыслить в отрыве от пространства? Никак.
Время — это переменная, связывающая перемещение и скорость в преобразовании Лоренца
r1 = (r0+v*t)/sqrt(1-v^2/c^2),
где r1 и r0 — радиус-векторы в системах отсчета 1 0.
Если мы стоим на месте (v=0), то при r0=0 формула обращается в нуль. Наша траектория — точка, не имеющая протяженности. Вы скажете — я все равно могу измерить время. Да, конечно. Но как? Вы скажете: пока я здесь стоял, электрон прошел расстояние 1м в вакууме 50000000 раз. Это и будет измеренное вами время, в системе отсчета, связанной с электроном.
Но вот мы начинаем движение. Мы уже не можем игнорировать время, оно незримо присутствует. Каждый бесконечно малый промежуток времени dt генерирует малое перемещение dr (в нашей системе отсчета). Вот почему говорить о времени в отрыве от пространства бессмысленно, отсюда и термин пространство-время, введенный Эйнштейном.
Струны — это обобщение четырехмерного пространства-времени на большее количество измерений. Там речь идет о таких объектах, как многообразия Калаби-Яу, от которых крышу сносит почище самогона. Но я, например, легко могу представить математически, как можно наш 4х-мерный мир обобщить на большее количество измерений, Эйнштейн в свое время показал, как это делается, обобщив трехмерное пространство на четырехмерное пространство-время. Вообще, Вольфрам напоминает мне отечественного писателя М. Веллера. Писал себе, писал человек небольшие рассказики, которые кое-кто даже иногда читал. И вдруг, неизвестно с какого перепою, принялся создавать теорию всего. Вычитал где-то про энтропию, что она-де все время увеличивается, а значит, вселенную ждет тепловой кобздец. Его, видите, ли впечатлило название — второе начало термодинамики. Ну и давай применять его к чему не попадя, даже к супружеским отношениям. Бедняга Клаузевиц не мог этого, конечно, предвидеть в 19 веке, когда написал: Die Entropie der Welt strennt einem Maximum zu. Он просто хотел сказать, что разбитая чашка не собирается сама собой в целую, только наоборот. Фактически же он описал стрелу времени, еще до Больцмана. Но Веллеру этого мало. Он ведь хочет, чтобы его книги продавались. Вот и пишет по такому бестселлеру чуть ли не каждый год. Будете в книжном магазине с оказией, нарочно ознакомьтесь, не пожалеете.
Да. Рекурсию нужно объяснять так. Эта, типа, функция, которая вызывает себя. Но смотри следи за стеком, а то грохнется все. Ну есть еще типа хвостовая рекурсия, которой этот самый стек вообще по барабану, но с тебя хватит. Ты ж в html академию пришел, в конце концов
$ find. -type f -name "*.sh" -exec rm -fr {} \;
если вы забудете заменить первую точку на слэш, произойдет непоправимое. Это уже не выстрел в ногу, как в примере из статьи, это отстреливание шаров напрочь. И кто здесь виноват, bash, что ли?
r1 = (r0+v*t)/sqrt(1-v^2/c^2),
где r1 и r0 — радиус-векторы в системах отсчета 1 0.
Если мы стоим на месте (v=0), то при r0=0 формула обращается в нуль. Наша траектория — точка, не имеющая протяженности. Вы скажете — я все равно могу измерить время. Да, конечно. Но как? Вы скажете: пока я здесь стоял, электрон прошел расстояние 1м в вакууме 50000000 раз. Это и будет измеренное вами время, в системе отсчета, связанной с электроном.
Но вот мы начинаем движение. Мы уже не можем игнорировать время, оно незримо присутствует. Каждый бесконечно малый промежуток времени dt генерирует малое перемещение dr (в нашей системе отсчета). Вот почему говорить о времени в отрыве от пространства бессмысленно, отсюда и термин пространство-время, введенный Эйнштейном.