Pull to refresh
183
0.3
Константин Власов @CaptainFlint

Разработчик

Send message

Вы так пишете, как будто других вариантов расположения этой кнопки не существует. Всю жизнь её выносили отдельно и делали принципиально другой по форме, высоте и профилю. Какому придурку пришло в голову засовывать её в общий клавиатурный массив — это очень интересный вопрос, но все производители радостно подхватили эту несусветную дурь. А обзорщики уже считают, что раз не рядом с Del, то типа всё в порядке.

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

Эх, а я прожку писал, которая обнаруживает окошко, впечатывает туда пароль и жмёт OK… Надо будет поизучать.

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

а также в них нет кнопки закрытия, позволяющей завершить игровой сеанс

Это как? Чтобы выйти, перезагрузите компьютер? Или там надо набирать <Esc>:q!<Enter> ?

Какой может быть htop в винде. (WSL-гусары, молчать!) Да и KDE-шная тема довольно внятно просматривается.

Да там половину книги можно сплошняком цитировать. :-) И про взлом сейфов (и реакцию на это военного руководства), и про систему образования в Бразилии, и про особенности японского языка, и как он медосмотр проходил для армии, и про тринадцать подписей… Совершенно потрясающая книга!

Хотя из текста следует, что он что-то не понимал в обозначениях и решил просто уточнить.

Да, но уточнить не прямым вопросом, а более хитро. Если бы он просто спросил "что это такое?", это не потребовало бы всей последующей возни и уж точно не выявило бы эту неожиданную недоработку. В том и вся суть, что совершенно случайно невинным вопросом он умудрился ткнуть в самую критическую точку. (Хотя, честно говоря, это наводит на мысли, что там весь план мог быть настолько плохо проработанным, что куда ни ткни, выявишь недоделку…)

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

Цитата из оригинала

How do you look at a plant that isn’t built yet? I don’t know. Lieutenant Zumwalt, who was always coming around with me because I had to have an escort everywhere, takes me into this room where there are these two engineers and a loooooong table covered with a stack of blueprints representing the various floors of the proposed plant.

I took mechanical drawing when I was in school, but I am not good at reading blueprints. So they unroll the stack of blueprints and start to explain it to me, thinking I am a genius. Now, one of the things they had to avoid in the plant was accumulation. They had problems like when there’s an evaporator working, which is trying to accumulate the stuff, if the valve gets stuck or something like that and too much stuff accumulates, it’ll explode. So they explained to me that this plant is designed so that if any one valve gets stuck nothing will happen. It needs at least two valves everywhere.

Then they explain how it works. The carbon tetrachloride comes in here, the uranium nitrate from here comes in here, it goes up and down, it goes up through the floor, comes up through the pipes, coming up from the second floor, bluuuuurp—going through the stack of blueprints, downup-down-up, talking very fast, explaining the very very complicated chemical plant.

I’m completely dazed. Worse, I don’t know what the symbols on the blueprint mean! There is some kind of a thing that at first I think is a window. It’s a square with a little cross in the middle, all over the damn place. I think it’s a window, but no, it can’t be a window, because it isn’t always at the edge. I want to ask them what it is.

You must have been in a situation like this when you didn’t ask them right away. Right away it would have been OK. But now they’ve been talking a little bit too long. You hesitated too long. If you ask them now they’ll say “What are you wasting my time all this time for?”

What am I going to do? I get an idea. Maybe it’s a valve.

I take my finger and I put it down on one of the mysterious little crosses in the middle of one of the blueprints on page three, and I say “What happens if this valve gets stuck?”—figuring they’re going to say “That’s not a valve, sir, that’s a window.”

So one looks at the other and says, “Well, if that valve gets stuck—” and he goes up and down on the blueprint, up and down, the other guy goes up and down, back and forth, back and forth, and they both look at each other. They turn around to me and they open their mouths like astonished fish and say “You’re absolutely right, sir.”

So they rolled up the blueprints and away they went and we walked out. And Mr. Zumwalt, who had been following me all the way through, said, “You’re a genius. I got the idea you were a genius when you went through the plant once and you could tell them about evaporator C-21 in building 90-207 the next morning,” he says, “but what you have just done is so fantastic I want to know how, how do you do that?”

I told him you try to find out whether it’s a valve or not.

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

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

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

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

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

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

А в чём логика добавления "физической" клавиатуры, если она по сути точно такая же сенсорная, как экранная? Плюшки физической — в том, что клавишу можно нащупать вслепую и без её срабатывания, а нажатие — ощутить тактильно.То есть одновременно оставили все минусы экранной клавиатуры, и притом уничтожили все её плюсы (интерактивность, расширенное экранное пространство, когда клавиатура не используется…).

Об этом я и говорю. Если реформы начала прошлого века лишь зафиксировали устоявшиеся нормы, то регулярность языковой грамматики — не заслуга конкретно Ататюрка, а более глубокое свойство. Но так это или нет, я не знаю.

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

Турецкий язык, как оказалось, очень алгоритмичен (возможно, другие тюркские языки тоже). Система словообразования и построения предложений в нём очень чётко формализована и на технический ум ложится совершенно шикарно. Правда по сравнению с русским/английским эта структура вся "задом наперёд", и мозги приходится выворачивать наизнанку. Как будто пытаешься в обратной польской нотации работать.
Хотя и в нём эта "алгоритмичность" не идеальна; есть и исключения, и неоднозначности… В общем, как в любом живом языке. Ну и кроме грамматики ещё слова учить приходится, само собой.

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

Возьмём для примера теоретическую базу darcs. Она вам понравилась? Ну так расскажите нам, в чём её суть! Чем подход к патчам в darcs отличается от подхода в git? Вы говорите, что в darcs история — это цепочка патчей. Ну так и в гите это цепочка патчей. Да, я знаю, что если влезть в потроха, то выяснится, что каждый коммит гита хранит целые файлы, но это всё скрыто, и с точки зрения пользователя каждый коммит представляется набором различий, патчем. И эти патчи можно просматривать, переносить поверх других коммитов, переставлять местами, уничтожать, разделять, сливать воедино… Вы говорите, что имеется некая алгебра. Хорошо, но что эта алгебра описывает, что она доказывает и что эти доказательства дают нам как пользователям? Вы пишете, что обеспечивается обратимость и коммутативность патчей. Но это же свойства самих патчей, а не системы хранения. Ведь любой патч обратим просто по своей природе; а коммутативность зависит от конкретного содержимого патчей, от того, меняют ли разные патчи одни и те же куски файлов. Если не меняют, патчи коммутативны, если меняют, то нет. И это свойство сохраняется независимо от того, в какой системе мы их держим: в darcs, в git, svn, mercurial, или просто в виде цепочки patch-файлов на диске. Так в чём же тогда заключаются особенности подхода darcs?

Честно говоря, я так и не смог уловить основного посыла. К сожалению, сам ни я ни Darcs, ни Pijul не пользовался, поэтому сравнить их с гитом не могу, но из статьи выглядит так, будто главное их преимущество для автора заключается в невозможности создания веток. Для меня же отсутствие функций всегда считалось недостатком системы, а не преимуществом. Собственно, в чём вообще проблема веток в гите? Он же не заставляет их использовать, хотите линейную историю — пожалуйста, ведите линейно. Хотите ветку, но в отдельном каталоге — git worktree к вашим услугам.

Про merge/rebase тоже не понял: возможности этих операций зависят не от системы контроля версий, а от состава патчей. Если патч конфликтует, то от перехода с git на darcs этот патч не перестанет быть конфликтным. rebase — это просто переналожение патчей с опциональной сменой порядка, только в darcs наличие этой функции преподносится как преимущество, а в git — как недостаток. Почему — неясно.

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

Information

Rating
1,819-th
Location
Белград, Белград, Сербия
Registered
Activity

Specialization

Software Developer
Senior