Почему японцы грохнулись о Луну

Появи­лись подроб­но­сти, поче­му же япон­ский зонд не смог нор­маль­но при­лу­нить­ся. Ошиб­ка была очень обид­ная — баг в соф­те. Дело в том, что зонд про­ле­тел над греб­нем глу­бо­ко­го лун­но­го кра­те­ра, и пока­за­ния высо­то­ме­ра вдруг «запры­га­ли» вверх-вниз. Управ­ля­ю­щий ком­пью­тер решил, что высо­то­мер сбрен­дил, и отклю­чил его пока­за­ния, став пола­гать­ся на дан­ные от аксе­ле­ро­мет­ров и гиро­ско­пов, кото­рые ста­ли рас­хо­дить­ся с реаль­но­стью всё боль­ше и боль­ше. Кон­чи­лось тем, что зонд прак­ти­че­ски повис на высо­те пяти кило­мет­ров, думая, что он дол­жен при­лу­нить­ся с секун­ды на секун­ду. В один момент у него закон­чи­лось топ­ли­во, он заку­выр­кал­ся и с высо­ты пяти вёрст со всей дури грох­нул­ся о Луну.

Поче­му не пой­ма­ли такой баг при тести­ро­ва­нии? Пото­му что в послед­ний момент им поме­ня­ли место посад­ки, и кра­те­ров с таки­ми харак­те­ри­сти­ка­ми они до это­го не встре­ча­ли.

Обид­но 🙁

Гугл сломался?

У меня одно­го гуг­ло­пе­ре­вод­чик с англий­ско­го на рус­ский в послед­нее вре­мя выда­ёт какие-то сепуль­ки и кле­е­гла­зые хля­бо­тря­сы?

А Яндекс-пере­вод­чик нор­маль­но:

Пере­во­дил как раз части Соуэл­ла для ран­не­го поста, обра­тил вни­ма­ние.

Лопух, а не дальнобойщик

Целую неде­лю зани­мал­ся сво­им полу­при­це­пом: докра­ши­вал, дова­ри­вал, досвер­ли­вал и допа­и­вал. Нако­нец-то почти всё доде­лал — за одним неболь­шим, но очень непри­ят­ным исклю­че­ни­ем.

При­це­пы поло­же­но не толь­ко надёж­но сцеп­лять с тяга­чом, но и под­клю­чать на них све­то­тех­ни­ку: стоп-сиг­на­лы, габа­ри­ты, пово­рот­ни­ки, и про­чая. На боль­шин­стве стан­дарт­ных аме­ри­кан­ских полу­при­це­пов исполь­зу­ет­ся плос­кий четы­рёх­кон­такт­ный разъ­ём (flat four plug): мас­са, левый пово­рот­ник, пра­вый, габа­ри­ты. А где стоп-сиг­нал? Стоп сиг­нал — оба пово­рот­ни­ка вклю­ча­ют­ся сра­зу. Так что стан­дарт­ный аме­ри­кан­ский полу­при­цеп пока­зы­ва­ет пово­рот одним из стоп-сиг­на­лов. А фонарь зад­не­го хода тут отсут­ству­ет как класс.

На моём пика­пе семи­кон­такт­ный разъ­ём. Ну, я поду­мал, что он более про­дви­ну­тый, раз­лы­сил лоб и уста­но­вил в полу­при­цеп зад­ние фона­ри с при­це­па как у боль­ших боро­да­тых даль­но­бой­щи­ков. Что­бы, пони­ма­ешь, и фонарь зад­не­го хода был и пово­рот­ни­ки были ж0лтенькие — так в моём пони­ма­нии эсте­тич­нее и пра­виль­нее, чем сто­па­ми сиг­на­лить. И уго­дил в фига­чеч­ную — ибо три допол­ни­тель­ных кон­так­та добав­ля­ют толь­ко лиш­ний про­вод с +12 (вклю­чать, напри­мер, в бук­си­ру­е­мом доме на колё­сах свет), кон­такт для элек­тро­ме­ха­ни­че­ских тор­мо­зов и фонарь зад­не­го хода. А выде­лен­ных пово­рот­ни­ков там как не было, так и нет.

Очень обид­но ста­ло, в первую оче­редь — на себя. При­це­пил сей­час так, что­бы сиг­на­лить сто­па­ми, а пово­рот­ни­ки у меня сей­час так, полу­ча­ют­ся… для мебе­ли.

Одна­ко быст­ро выяс­ни­лось, что не я один такой. И что, ока­зы­ва­ет­ся есть такая шту­ка, кото­рая из двух про­во­дов для пово­рот­ни­ко­в/стоп-сиг­на­лов дела­ет три — два пово­рот­ни­ка плюс стоп-сиг­нал. Но она сто­ит денег, во-вто­рых, боит­ся вла­ги, а в‑третьих, в интер­не­тах пишут, что у неё внут­ре… нет, не неон­ка, а обыч­ное реле, и что она из-за это­го очень пло­хо рабо­та­ет со све­то­ди­о­да­ми — надо нагру­зоч­ные рези­сто­ры вешать.

Я начал думать, и в прин­ци­пе-то не долж­но же быть так слож­но — нель­зя ли тут обой­тись тупо логи­че­ски­ми эле­мен­та­ми XOR и AND с обвяз­кой? AND — если оба пово­рот­ни­ка вклю­че­ны, то это не пово­рот­ни­ки, а сто­пы. А если толь­ко один (XOR) — то пово­рот­ник.

Но тут же осо­знал, что не полу­чит­ся — а как быть, если при тор­мо­же­нии вклю­чить пово­рот­ник? Тогда ведь во вре­мя отклю­че­нии при мига­нии одно­го из пово­рот­ни­ков XOR решит, что он один такой вклю­чён — и зажжёт пово­рот­ник про­ти­во­по­лож­ный, потен­ци­аль­но созда­вая нехо­ро­шую ситу­а­цию на доро­ге. И что теперь? Мик­ро­кон­трол­лер, что ли, туда запи­хи­вать, с отсле­жи­ва­ни­ем состо­я­ний? «А пять секунд назад нача­ли тор­мо­же­ние, зна­чит, теперь пре­ры­ва­ние одно­го рас­смат­ри­вать как пово­рот­ник»? Нет, я могу, конеч­но, но… блин.

Мне даже инте­рес­но ста­ло, а как же в кон­вер­те­ре они эту про­бле­му реши­ли. Неуже­ли там мик­ро­кон­трол­лер? Что-то я недо­пет­ри­ваю, долж­но всё быть про­ще.

PS: Рос­кош­ное соче­та­ние тегов, рас­кош­ное. Люб­лю, когда так полу­ча­ет­ся — сра­зу мно­го все­го.
PPS: Инте­рес­но, мож­но ли моди­фи­ци­ро­вать разъ­ём так, что­бы сто­пы не посы­лать на пово­рот­ни­ки? Тогда я бы сто­пы брал с кон­так­та для элек­тро­ме­ха­ни­че­ских тор­мо­зов.

Наушники

Огне­стрель­ное ору­жие — доволь­но гром­кая вещь. Охот­ни­чьи вин­тов­ки шумят аж на 140–150 деци­бел, поэто­му уши по-хоро­ше­му надо защи­щать. Но в тире оно понят­но как посту­пать, а как быть на охо­те? В подав­ля­ю­щем боль­шин­стве слу­ча­ев дичь слы­шишь преж­де чем видишь. Наде­ва­ние беру­шей начи­сто отру­ба­ет этот важ­ней­ший источ­ник инфор­ма­ции.

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

Дан­ной моде­лью (Walker’s Razor) был, к сожа­ле­нию, пол­но­стью разо­ча­ро­ван. Да, окру­жа­ю­щие зву­ки уси­ли­ва­лись; да, мне было слыш­но даже как листья пада­ют.

Но я вооб­ще не мог понять, отку­да этот звук про­ис­хо­дил — такое ощу­ще­ние, что звук моно­фо­ни­че­ский. Кру­тишь баш­кой, а ниче­го не меня­ет­ся. Что за чорт. Отка­зать.

При­дёт­ся искать дру­гие.

Чо за бред (сисадминское)

Име­ем сер­вер 2012R2 с дву­мя сете­вы­ми кар­точ­ка­ми с адре­са­ми 192.168.253.20 и 10.20.0.26.

Вот так выгля­дит таб­ли­ца марш­ру­ти­за­ции:

Т.е. шлюз по умол­ча­нию у нас 192.168.252.1, с мет­ри­кой 356, а сеть 10.20.0.0/24 — локаль­ная, и обра­ще­ние к ней идёт через интер­фейс 10.20.0.26, мет­ри­ка 257.

Теперь вопрос — что дол­жен пока­зы­вать traceroute до адре­са 10.20.0.24?

Разум­но пред­по­ло­жить, что напря­мую — через сете­вой интер­фейс с адре­сом 10.20.0.26, сеть-то пря­мо на лин­ке, да?

АВОТХРЕН.

Тра­фик до мест­ной сети идёт через шлюз по умол­ча­нию. Мой сисад­мин­ский бубен уже лежит частя­ми на полу, но побе­дить это я не смог (а надо).

Работа над ошибками

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

Вот я заме­рял сна­ча­ла сину­со­и­ду, выда­ва­е­мую обыч­ной сетью. И всё на этой кар­тин­ке было пре­крас­но, поэто­му мето­ди­ку для изме­ре­ния выхо­да инвер­те­ров я не менял. А надо было.

Наи­бо­лее полез­ным был ком­мен­та­рий dimon_w, кото­рый сра­зу понял, что что-то не так с зем­лёй щупа. В обыч­ной аме­ри­кан­ской розет­ке три кон­так­та, зем­ля (обыч­но сни­зу), фаза (если зем­ля сни­зу, то спра­ва) и ноль (сле­ва, если зем­ля сни­зу). Куда цеп­лять зем­лю от щупа? Я поду­мал, что логич­но цеп­лять зем­лю щупа, вне­зап­но, на зем­лю розет­ки. И для изме­ре­ния стан­дарт­но­го сете­во­го напря­же­ния это рабо­та­ет. Но если отклю­чить зем­лю ИБП от зем­ли в розет­ке, выдер­нув шнур, то кон­такт зем­ли на розет­ке ИБП насто­я­щей зем­лёй уже не явля­ет­ся. Поэто­му осцил­ло­граф начи­на­ет пока­зы­вать какую-то хер­ню. «Зем­ля» на инвер­те­ре каким-то обра­зом свя­за­на с нулём, но пёс его зна­ет, как, поэто­му щуп надо было вешать на ноль.

И если так и сде­лать, то ужа­сы, демон­стри­ру­е­мые ИБП Сай­бер­Пау­эр уже не так страш­ны. Там вполне ожи­да­е­мый меандр:

Фор­ма эйпи­сиш­но­го выход­но­го напря­же­ния мне, прав­да, по-преж­не­му нра­вит­ся боль­ше:

Но вооб­ще раз­ни­ца меж­ду ними не настоль­ко дико вели­ка, как я «наме­рял» ранее.

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

Взлом резервных копий смартфонов iPhone

Для нача­ла немно­го тео­рии.

Как хра­нят­ся паро­ли в опе­ра­ци­он­ных систе­мах, веб­сай­тах, и т.д. Не откры­тым тек­стом, разу­ме­ет­ся. Они хра­нят­ся в виде хешей. Хеш — это стро­ка опре­де­лён­ной дли­ны, полу­ча­е­мая при обра­бот­ке вво­да (паро­ля в дан­ном слу­чае) хеш-функ­ци­ей. До недав­не­го вре­ме­ни (да и сей­час кое-где) исполь­зо­вал­ся алго­ритм MD5. Так, хеш MD5 сло­ва «password» пред­став­ля­ет собой стро­ку 5f4dcc3b5aa765d61d8327deb882cf99.

Поэто­му когда ты логи­нишь­ся на веб­сайт, пароль обра­ба­ты­ва­ет­ся алго­рит­мом MD5, и срав­ни­ва­ют­ся хеши. Если на выхо­де 5f4dcc3b5aa765d61d8327deb882cf99, то всё нор­маль­но. Вин­да дела­ет немно­го по-дру­го­му: хеш гене­ри­ру­ет­ся пря­мо на кли­ен­те, и пере­сы­ла­ет­ся не пароль, а сра­зу хеш. Это цуцуть без­опас­нее. Ещё хеш солят, но про это в дру­гой раз.

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

Я уже дав­но люб­лю про­грам­му кото­хеш (hashcat) для взло­ма паро­лей. У неё исклю­чи­тель­но высо­кая про­из­во­ди­тель­ность, так как она исполь­зу­ет видео­кар­ту для рас­чё­тов вме­сто цен­траль­но­го про­цес­со­ра. Нет, она и про­цес­сор может исполь­зо­вать, про­сто на видео­кар­те быст­рее, там этих про­цес­со­ров тыся­чи, а хеши­ро­ва­ние исклю­чи­тель­но хоро­шо рас­па­рал­ле­ли­ва­ет­ся.

Сло­ма­ем MD5 хеш 5f4dcc3b5aa765d61d8327deb882cf99:

hashcat.exe ‑m 0 ‑a 3 hash.txt ?l?l?l?l?l?l?l?l

И мень­ше, чем за секун­ду всё сло­ма­но.

На моей уже ста­рень­кой 1070GTX поиск хешей MD5 про­ис­хо­дит со ско­ро­стью око­ло 8 мил­ли­ар­дов ком­би­на­ций в секун­ду.

Даже если сме­нить пароль на более слож­ный, типа P@$$w0rd, то 8‑значный пароль взла­мы­ва­ет­ся в обо­зри­мые сро­ки, даже на не очень новом желе­зе — за несколь­ко дней.

НО. Подоб­ные сро­ки — они для паро­лей, хеши­ро­ван­ных MD5. От кото­ро­го вез­де отка­зы­ва­ют­ся как могут. Он счи­та­ет­ся крип­то­гра­фи­че­ски нестой­ким: во-пер­вых, он под­вер­жен кол­ли­зи­ям (т.е. два совер­шен­но раз­ных паро­ля могут дать оди­на­ко­вый хеш), а во-вто­рых он име­ет недо­ста­точ­ную вычис­ли­тель­ную слож­ность. Т.е. тот факт, что даже на моём ста­ром желе­зе я могу пере­би­рать восемь мил­ли­ар­дов паро­лей в секун­ду — он из-за это­го про­ис­хо­дит.

А недав­но я попро­бо­вал сло­мать бекап смарт­фо­на Apple. Для тёщи, кото­рая рас­ко­ка­ла теле­фон вдре­без­ги, успев, прав­да, неза­дол­го до сде­лать ему бекап. Но вот беда — она забы­ла пароль от бека­па! Она толь­ко зна­ла, что пароль вось­ми­знач­ный.

Хеш паро­ля для айфон­но­го бека­па берёт­ся в фай­ле Manifest.plist. Этот файл скарм­ли­ва­ет­ся вот это­му сай­ту, напри­мер, и тебе дают хеш.

Так вот хеш там — какой-то про­при­е­тар­ный. И име­ет настоль­ко высо­кую вычис­ли­тель­ную слож­ность, что на моей видео­кар­те кото­хеш пере­би­ра­ет ком­би­на­ции со ско­ро­стью… 83 вари­ан­та в секун­ду. Надо отдать долж­ное чув­ству юмо­ра раз­ра­бот­чи­ков кото­хе­ша: во вре­мя рабо­ты оно пока­зы­ва­ет, сколь­ко вре­ме­ни оста­лось до пере­бо­ра всех вари­ан­тов. Так вот в дан­ном слу­чае оно гово­рит, что рабо­та про­грам­мы закон­чит­ся после сле­ду­ю­ще­го Боль­шо­го Взры­ва 😀

Вот так вот Плот­нег лосос­нул тун­ца.

Огром­ный респек­ти­щ­ще Эпплу — я в оче­ред­ной раз убе­дил­ся, что уж с чем-чем, а с надёж­но­стью шиф­ро­ва­ния у них всё все­гда было в пол­ном поряд­ке. Огром­ным плю­сом явля­ет­ся то, что Эппл кон­тро­ли­ру­ет весь цикл про­из­вод­ства теле­фо­на — от желе­за до соф­та. Поэто­му что, как и каким спо­со­бом — все­гда было хоро­шо извест­но и задо­ку­мен­ти­ро­ван­но. Ну и тра­ди­ци­он­но, пнём Вед­ро­ид 🙂 На Вед­ро­и­дах, кто шиф­ру­ет что и как — а хер его зна­ет! Кто из про­из­во­ди­те­лей как захо­тел, тот так и шиф­ру­ет. И ска­жи ещё спа­си­бо, если задо­ку­мен­ти­ро­ва­но. А могут и тово, на хрен послать.

Почти всё

Так как один­на­дца­тая вин­да фича­ми пока не раду­ет, попро­бо­вал заме­нить на рабо­чем ком­пе всё на Убун­ту 20.04

И оно, зна­е­те, прак­ти­че­ски взле­те­ло.

Полу­чи­лось:

1. При­це­пить к AD
2. Сде­лать чле­нов груп­пы Domain Admins частью груп­пы sudoers
3. Запу­стить авто­ри­за­цию со смарт­кар­та­ми (вот тут уже при­шлось боро­ду поче­сать)
4. Вклю­чить авто­ри­за­цию по смарт­кар­те в VDI кли­ен­те VMWare Horizons
5. Аут­лук теперь рабо­та­ет как PWA
6. Запу­стить Teams (бла­го теперь на Линуп­сах оно рабо­та­ет натив­но)

И всё бы хоро­шо, но вот драй­ве­ры НВи­дев­ские отка­за­лись ста­вить­ся нао­труб. Про­бле­ма хоро­шо извест­на, и не у одно­го меня она слу­чи­лась.

Что-то там не взле­те­ло — про­бо­вал раз­ные вер­сии, чего толь­ко не делал, даже инте­лов­ский драй­вер отправ­лял в бан — нифи­га. Не рабо­та­ет и всё тут. Луч­ше все­го полу­чи­лось на драй­ве­ре вер­сии 418. Вхо­дим в сес­сию, всё рабо­та­ет при­мер­но мину­ту, после чего всё наглу­хо вис­нет (при этом комп оста­ёт­ся доступ­ным через ssh). На более позд­них вер­си­ях не полу­ча­лось даже это­го, всё вис­ло ещё до авто­ри­за­ции.

Желе­зо вполне себе стан­дарт­ное — ноут­бук HP Zbook FireFly G7. Там две видео­кар­ты, по сути, встро­ен­ная инте­лов­ская, и Квад­ра Р520. Так и не полу­чи­лось запу­стить, хотя побе­да была очень близ­ко. Но без Нви­дии мне ноут­бук был не нужен.

Так и бро­сил. Про­шу заме­тить, что на этот про­ект я убил часов шесть. А не вин­де абсо­лют­но, блин, всё из это­го спис­ка сра­зу рабо­та­ет «иско­роп­ки».

Линукс бес­пла­тен толь­ко для тех, чьё вре­мя ниче­го не сто­ит.

Посмотрели на Юпитер с Сатурном?

Я успел еле-еле. При­е­хал домой из офи­са, когда эта шту­ка уже висе­ла низ­ко на гори­зон­том, погля­дел. Кра­си­во. Хотел сфо­то­гра­фи­ро­вать, но не поспел вовре­мя — эта кра­со­та ушла за гори­зонт. А жаль, даже с моим рабо­че-кре­стьян­ским Ник­ко­ром 70–210 фото­гра­фии пла­нет полу­ча­ют­ся непло­хи­ми. Во вся­ком слу­чае, коль­ца Сатур­на вид­но, и вид­но Юпи­тер и его четы­ре круп­ней­ших спут­ни­ка.

Про­кля­тое вра­ще­ние пла­не­ты!!!