Вот это мой размерчик

Вче­ра, нако­нец, доко­вы­рял домаш­ний SAN, слеп­лен­ный из гов­на и палок.

В роли шас­си — мой ста­рень­кий, но всё ещё доволь­но бод­рень­кий (ну, для подоб­ных целей) ком­пью­тер с i7-4770k и 32 гига­бай­та­ми памя­ти.

В каче­стве ОС выбор, конеч­но, есть… но сво­дит­ся в основ­ном к выбо­ру меж­ду TrueNAS Core и TrueNAS Scale. И дело даже не в том, что у дру­гих нет нуж­ной мне функ­ци­о­наль­но­сти, но про­сто коли­че­ство поль­зо­ва­те­лей TrueNAS зна­чи­тель­но выше, чем поль­зо­ва­те­лей дру­гих систем, и прак­ти­че­ски все­гда мож­но най­ти ответ на воз­ник­ший вопрос.

Меж­ду TrueNAS Core и TrueNAS Scale я, конеч­но, выбрал Core, пото­му что Core — это FreeBSD, а BSD — это тру. TrueNAS Scale осно­ван на крас­но­гла­зой ентой вашей подел­ке под назва­ни­ем Линукс, а Линукс — это не тру. Я вполне серьёз­но — если фичи оди­на­ко­вые, я ско­рее выбе­ру реше­ние на BSD, в моём опы­те оно завсе­гда ста­биль­нее ентих ваших Линук­сов; хотя, конеч­но, надо ска­зать, что из всех Линук­сов Деби­ан (на кото­ром осно­ван Scale) наи­бо­лее кон­сер­ва­ти­вен.

Да, «что­бы два раза не вста­вать». На айФоне iOS, осно­ван­ная на MacOS, а MacOS — это DarwinBSD, а BSD — это тру!!!

Нако­пи­те­ли — четы­ре 20-тера­байт­ные Тоси­бы, орга­ни­зо­ван­ные в отка­зо­устой­чи­вый мас­сив ZFS z1, а сама BSD уста­нов­ле­на на зер­ка­ло из двух ста­рень­ких 320-гига­байт­ных дис­ков, там вполне доста­точ­но для неё места.

Куда мне столь­ко? Хочу орга­ни­зо­вать нор­маль­ный бекап всех домаш­них устройств, пото­му как стан­дарт­ный Windows Backup — барах­ло. У меня ещё вто­рой ком­пью­тер будет, чуть побод­рее, на кото­рый я водру­жу Veeam, как на рабо­те. У него есть бес­плат­ная вер­сия, спо­соб­ная бека­пить десять устройств. Плюс ещё будет ManageEngine, у кото­ро­го тоже есть бес­плат­ная вер­сия. Этот будет управ­лять обнов­ле­ни­я­ми. Таким обра­зом, дома будет всё как на рабо­те — pfSense, Veeam, ManageEngine. Это пра­виль­но — опыт рабо­ты с одним помо­га­ет в рабо­те с дру­гим. Ещё надо будет при­шпан­до­рить сюда облач­ный сер­вис, что­бы бека­пить теле­фо­ны, и будет совсем хоро­шо. Этим пока не зани­мал­ся.

Про наушники для плавания

Пишут, что вышла обнов­лён­ная вер­сия моих люби­мых науш­ни­ков для пла­ва­ния Shokz OpenSwim Pro. Апгрей­дом явля­ет­ся нали­чие в этих науш­ни­ках блю­ту­са. В моих ста­рых ника­ко­го блю­ту­са не было, и надо было цеп­лять­ся по USB, что­бы загру­зить на встро­ен­ный нако­пи­тель mp3-шек.

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

На стэк­экс­чен­дже пишут, что дох­лый номер — так как блю­тус это 2.4ГГц, и эта часто­та пре­крас­но водой и погло­ща­ет­ся; так что на рас­сто­я­нии в 1.4cm теря­ет­ся уже 63% мощ­но­сти сиг­на­ла. Обид­но, если так — нын­че не 2002 год, и музы­ки в эмпет­риш­ках у меня не так уж и мно­го.

Потом, красть музы­ку в эмпет­риш­ках неудоб­но. Вот я соста­вил себе плей­лист, и там люби­мая музы­ка для штан­го­под­ни­ма­ния и прот­че­го — от Пла­це­бо до Флет­че­ра. И чо, и как его теперь в mp3 красть? Это ж надо целые аль­бо­мы Лин­де­ман­нов и всех про­чих сгру­жать, а потом дол­го и тща­тель­но соби­рать по кру­пи­цам плей­лист. Мы более не потреб­ля­ем музы­ку аль­бо­ма­ми, как в 1990х годах. Мож­но дол­го гово­рить, пло­хо это или хоро­шо, но это теперь факт жиз­ни такой — музы­ку мы теперь потреб­ля­ем плей­ли­ста­ми.

Жаль тра­тить 160 монет про­сто на то, что­бы попро­бо­вать про­ве­рить.

XKCD

Нра­вят­ся мне комик­сы xkcd, рису­ют их наши люди.

Кста­ти, дей­стви­тель­но рабо­та­ет. Один узел = π/e миль в час, с доволь­но высо­кой точ­но­стью.

Via https://xkcd.com/3023/

Забав­но, кста­ти, смот­реть на то, что неко­то­рые комик­сы уже уста­ре­ли. Это комикс при­мер­но года эдак 2013–2014, когда ней­ро­се­ти были ещё сла­бо извест­ны. Я, впро­чем, с ними уже был зна­ком, и исполь­зо­вал в 2012 году для диплом­но­го про­ек­та ней­ро­сеть Caffe инсти­ту­та Берк­ли, кото­рую сам с нуля натре­ни­ро­вал. Но для нача­ла 2000х про­бле­ма была ещё нере­ша­е­ма.

Квантовое

Одна­ко, ров­но месяц назад Наци­о­наль­ный Инсти­тут Стан­дар­тов и Тех­но­ло­гий США (NIST) нако­нец-то решил, каки­ми имен­но алго­рит­ма­ми шиф­ро­ва­ния мы будем поль­зо­вать­ся для защи­ты инфор­ма­ции в пост-кван­то­вую эпо­ху.

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

Но для кван­то­вых ком­пью­те­ров суще­ству­ет алго­ритм Шора, поз­во­ля­ю­щий про­ве­сти раз­ло­же­ние на мно­жи­те­ли за суще­ствен­но мень­ший (лога­рит­ми­че­ский) срок.

А теперь Мик­ро­софт объ­явил, что пер­вый из алго­рит­мов, ML-KEM (чорт, мне нра­вит­ся это назва­ние, КЕМ!) уже встро­е­ны в стан­дарт­ную биб­лио­те­ку шиф­ро­ва­ния их ОС. ML-KEM — алго­рит­мом Шора уже не лома­ет­ся.

При­ят­но удив­лён такой про­зор­ли­во­стью и опе­ра­тив­но­стью — за месяц нари­со­вать и отте­сти­ро­вать такую ответ­ствен­ную вещь, как алго­ритм шиф­ро­ва­ния — это похваль­но. Но, конеч­но, навер­ня­ка им из НИСТа кто-нибудь свист­нул зара­нее.

Про Сигнал

Рос­ком­ге­ста­пов­цы пыта­ют­ся бло­ки­ро­вать мес­сен­жер Сиг­нал, при помо­щи кото­ро­го я обща­юсь с род­ствен­ни­ка­ми и пока­зы­ваю им фото­гра­фии.

Это они так с тер­ро­риз­мом борют­ся, ага. Сами с собой побо­ри­тесь, гни­ды. Клизь­му вам, со ски­пи­да­ром и пате­фон­ны­ми игол­ка­ми.

Ну, и в целях повы­ше­ния ком­пью­тер­ной гра­мот­но­сти, внут­ри Сиг­на­ла надо:

Зай­ти в настрой­ки -> кон­фи­ден­ци­аль­ность -> рас­ши­рен­ные -> ткнуть пим­поч­ку «Обхо­дить цен­зу­ру».

И впер­де.

Пожгло

Пря­мо в столб рядом с домом тре­тье­го дня шарах­ну­ла мол­ниЯ. Попа­ло в коак­си­ал. Модем сожгло сра­зу, он даже не мяук­нул. От моде­ма импульс поле­тел даль­ше в маши­ну с pfSense, где от таких напря­же­ний систем­ная пла­та уле­те­ла кибе­не­мат. Пла­та — пото­му что внеш­ний интер­фейс был встро­ен­ной на ней сете­вой кар­той. Внут­ри ком­па что-то гром­ко сде­ла­ло «чпок» (что кон­крет­но — не нашёл), и всё пре­кра­ти­ло рабо­ту.

Хоро­шо, что кро­ме мате­ри не вынес­ло боль­ше ниче­го. Пере­та­щил внут­рен­нюю сете­вую кар­ту и жёст­кий диск в дру­гой комп, и всё сра­зу с пол­тыч­ка заве­лось, даже кон­фиг не при­шлось пере­де­лы­вать. pfSense — рулит и педа­лит.

Но в общем и целом, конеч­но я — сам дурак. Рядом сто­ит ИБП с защит­ным раз­ряд­ным моду­лем для коак­си­а­ла, но я, конеч­но же, им не вос­поль­зо­вал­ся, а под­клю­чал­ся напря­мую.

Lesson learned.

Как я рад

…что ещё в 2020 году заста­вил кон­то­ру изба­вить­ся от CrowdStrike и перей­ти на BitDefender.

Конеч­но же, я не мог пред­ска­зать, что они так лопух­нут­ся. Меня беси­ло несколь­ко дру­гое: от анти­ви­ру­са я тре­бую, что­бы оно рабо­та­ло авто­ном­но, и раз­би­ра­лось со всем само­сто­я­тель­но. А Кра­уд­Страйк этот грё­ба­ный по любо­му, япон­ский бог, пово­ду тре­бо­вал руч­но­го вме­ша­тель­ства. Каж­дое подо­зри­тель­ное дей­ствие тре­бо­ва­ло лич­но­го рас­сле­до­ва­ния; а мне совер­шен­но это­го не надо было. Засек — уна­се­комь, и дай знать, что уна­се­ко­мил. А вот если не смог, тогда уже дай знать адми­ну. А по любо­му пово­ду застав­лять сисад­ми­на лезть на ель (стар­пё­ры зна­ют, о чём я) — зло.

Какая хорошая статья про флеш-память

Пря­мо с боль­шим инте­ре­сом и удо­воль­стви­ем про­чи­тал.

Вкрат­це — на дан­ный момент ситу­а­ция с совре­мен­ны­ми нако­пи­те­ля­ми на флеш-памя­ти силь­но дегра­ди­ро­ва­ла, и полу­чи­лась не очень. В погоне за тера­бай­та­ми и при­бы­лью потре­би­тель­ские дис­ки дела­ют на тех­но­ло­гии QLC (4 бита в одной ячей­ке), у кото­рой во-пер­вых, рез­ко огра­ни­че­но коли­че­ство цик­лов запи­си (все­го 900, а то и того мень­ше), а во-вто­рых, она мед­лен­нее намно­го.

Что­бы создать хоть какую-то види­мость про­из­во­ди­тель­но­сти, изго­то­ви­те­ли дела­ют дис­ки гибрид­ны­ми — дела­ют кеш на SLC, а осталь­ное — QLC.

Так, 500-гига­байт­ный диск Crucial BX500 име­ет при­мер­но 45 гига­байт кеша на SLC. Поэто­му име­ем такой гра­фик — пока запол­ня­ет­ся кеш, ско­рость запи­си хоро­шая, под 500 мет­ров в секун­ду. Кеш запол­нен — про­ва­ли­ва­ет­ся до 57 мега­байт в секун­ду:

Толь­ко вот 57 мега­байт в секун­ду — это, на мину­точ­ку, пока­за­те­ли обыч­но­го маг­нит­но­го дис­ка! Кото­рый обла­да­ет намно­го луч­ши­ми харак­те­ри­сти­ка­ми по дол­го­веч­но­сти и цик­лам пере­за­пи­си (я вооб­ще не уве­рен, огра­ни­че­ны ли они). И какой тогда, спра­ши­ва­ет­ся, резон поку­пать вот такой твёр­до­тель­ный диск?

Отдель­но маньяк­нут­ные манья­ки, вро­де соав­то­ра ста­тьи, зали­ва­ют спе­ци­аль­ную про­шив­ку в кон­трол­лер дис­ка, отклю­чая всю область QLC к соот­вет­ству­ю­щей мате­ри. Ну да, каре­та пре­вра­ща­ет­ся назад в тык­ву вме­сто тера­байт­но­го дис­ка полу­ча­ет­ся диск на 120 гиг, толь­ко он рабо­та­ет как беше­ный, и име­ет 60 000 (шесть­де­сят тысяч) цик­лов пере­за­пи­си.

В‑общем, QLC — гов­но. И, ско­рее все­го, через несколь­ко лет он уйдёт в закат, так как для NAND фле­ша это тупик. На рынок, навер­ное, вый­дет какая-то новая тех­но­ло­гия, типа неудав­шей­ся в своё вре­мя Optane (3D XPoint).

А вот какой нын­че нако­пи­тель поку­пать, что­бы не купить гов­но — вопрос инте­рес­ный.

ИИ-погромизм

Зани­мал­ся вче­ра созда­ни­ем ней­ро­се­тей под руко­вод­ством ChatGPT. По ито­гам я имею ска­зать вот что.

В целом — впе­чат­ля­ет. Даёт не самый пло­хой код на Питоне для созда­ния ней­ро­се­ти на TensorFlow, что харак­тер­но — исполь­зуя keras. Прак­ти­че­ски то же самое, что я сам рисо­вал четы­ре года назад.

Толь­ко в этот раз я замах­нул­ся пошЫр­ше и решил ней­ро­се­ти скор­мить csv с «финан­со­вы­ми тран­зак­ци­я­ми». Внут­ри csv было один­на­дцать коло­нок, десять про­сто с чис­ла­ми, а один­на­дца­тая — с доволь­но слож­ным вычис­ле­ни­ем из дан­ных, нахо­дя­щих­ся в шести колон­ках (сло­же­ние двух дро­бей, вычис­ле­ние 10% от полу­чен­но­го, и скла­ды­ва­ние с ещё дву­мя колон­ка­ми). Четы­ре остав­ши­е­ся колон­ки не дела­ли ниче­го.

Модель делал пяти­слой­ную, сто ней­ро­нов в четы­рёх сло­ях, один ней­рон в выход­ном слое (это уже не ЧатЖПТ пред­ла­гал, это уже я сам). Навер­ное, это даже избы­точ­но слож­ная модель.

Сде­лал два csv фай­ла, один с 200 стро­ка­ми — это был тре­ни­ро­воч­ное мно­же­ство, и вто­рой — все­го с деся­тью. Я хотел посмот­реть, смо­жет ли ней­ро­сеть рас­по­знать, какая имен­но зави­си­мость суще­ству­ет в один­на­дца­той колон­ке, и смо­жет ли она пред­ска­зать дан­ные, полу­чен­ные таким обра­зом.

Ска­жу сра­зу, всё полу­чи­лось. Конеч­но, мате­ма­ти­ка на ней­ро­се­тях доволь­но неак­ку­рат­на, но после 5000 эпох тре­ни­ров­ки она смог­ла преду­га­ды­вать зна­че­ния с точ­но­стью, не выхо­дя­щей за рам­ки 5%. Пла­ни­рую пока­зать резуль­тат началь­ни­ку, кон­то­ра силь­но оза­бо­ти­лась встра­и­ва­ни­ем ИИ в про­дук­цию.

Но поми­мо это­го, у меня воз­ник­ли неболь­шые слож­но­сти, и воз­ник­ли они имен­но от при­ме­не­ния ИИ.

Во-пер­вых, ЧатЖПТ неред­ко даёт код для Пито­нов­ских биб­лио­тек, кото­рый уже явля­ет­ся уста­рев­шим (deprecated). Напри­мер, свой­ство pandas.DataFrame.iloc — вытас­ки­ва­ние инди­ви­ду­аль­ных коло­нок из pandas.DataFrame.

Во-вто­рых, ЧатЖПТ созда­ёт в коде баги. Напри­мер, вме­сто деся­ти строк в тесто­вом набо­ре дан­ных у меня поче­му-то счи­ты­ва­лись толь­ко девять. Раз­го­вор шёл при­мер­но вот так:

–А у меня вме­сто деся­ти ожи­да­е­мых строк толь­ко девять.
–Может, дан­ные кри­вые? Вот как их надо нор­ма­ли­зи­ро­вать.
–Дан­ные нор­маль­ные, но счи­ты­ва­ет­ся толь­ко девять строк вме­сто деся­ти. Пер­вая стро­ка про­гла­ты­ва­ет­ся.
–Не долж­на. Вот код, как пра­виль­но счи­ты­вать csv через pandas.read_csv
–Я этот код и исполь­зую, но пер­вой стро­ки нет.
–Ну, пра­виль­но, пото­му что по умол­ча­нию пер­вая стро­ка счи­ты­ва­ет­ся в име­на коло­нок. В pandas.read_csv надо ста­вить пара­метр header=None, что­бы так не про­ис­хо­ди­ло.
–А чо сра­зу-то не ска­зал?
–Изви­ня­юсь.

Но в целом (в целом) — впе­чат­ля­ет, да. Дале­ко не с каж­дым чело­ве­ком я на эту тему могу пого­во­рить, более того, не каж­дый сра­зу «на гора» выдаст рабо­та­ю­щий (более-менее) код. Оши­ба­ет­ся ино­гда? Ну да, оши­ба­ет­ся. Пока­жи­те мне чело­ве­ка, кото­рый не оши­ба­ет­ся, и я пока­жу вам лен­тяя, кото­рый нико­гда ниче­го не дела­ет. Тем не менее, лен­тяю в спо­соб­но­сти рас­суж­дать поче­му-то не отка­зы­ва­ют, а иску­ствен­но­му интел­лек­ту — таки да. Непра­виль­но это, ИМХО. ИИ вполне спо­со­бен на рас­суж­де­ния.

Про бан Касперского

В‑общем, конеч­но, это было пред­ска­зу­е­мо. Когда его заба­ни­ли для феде­ра­лов США, бан для ком­мер­че­ских орга­ни­за­ций и вооб­ще для всей стра­ны был толь­ко вопро­сом вре­ме­ни.

Непо­нят­но, прав­да, чего так дол­го тяну­ли (10 лет, блин!), и ещё неяс­но, поче­му люди вооб­ще его исполь­зо­ва­ли. Как я от него отка­зал­ся — так впер­вые вдох­нул пол­ной гру­дью, настоль­ко этот, кгм, про­дукт оте­че­ствен­ных погро­ми­стов был гов­но — заве­ши­вал наглу­хо маши­ну акку­рат­но мини­мум раз в два дня, и посто­ян­но тор­мо­зил систе­му.

Мно­гие не в кур­се, как всё вооб­ще нача­лось, рас­ска­жу ещё раз.

В 2014 году жил да был сотруд­ник АНБ, кото­рый (с дур­на ума, это вер­но) при­нёс доку­мен­ты с гри­фом «Сек­рет­но» на домаш­ний ком­пью­тер. Анти­ви­рус Кас­пер­ско­го не то обна­ру­жил какой-то вирус внут­ри зип-архи­ва с доку­мен­том, не то нашёл ещё что-то, и так как сотруд­ник вклю­чил в анти­ви­ру­се фичу «всё непо­нят­ное отсы­лать в ана­ли­ти­че­скую лабо­ра­то­рию Кас­пер­ско­го», сек­рет­ный аме­ри­кан­ский доку­мент таким обра­зом утёк в Рос­сию.

И панес­лась… Блум­берг и Уолл-стрит Джор­нел раз­ра­зи­лись ста­тья­ми про то как Лабо­ра­то­рия Кас­пер­ско­го осу­ществ­ля­ет слеж­ку за США через уста­нов­лен­ный анти­ви­рус.

В ответ Кас­пер­ский нака­тал подроб­ный отчёт (кото­рый выгля­дит доста­точ­но прав­до­по­доб­но, надо ска­зать), про то, «как всё было на самом деле» в том слу­чае с сотруд­ни­ком АНБ. В отчё­те они ска­за­ли, что сотруд­ник — сам дурак, и что его ком­пью­тер был зара­жён тро­я­ном, а утёк­ший сек­рет­ный доку­мент с сер­ве­ров Лабо­ра­то­рии Кас­пер­ско­го был немед­лен­но уда­лён, и что от него оста­лись лишь мета-дан­ные.

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

Сам Кас­пер­ский, кста­ти, факт взло­ма их сети дей­стви­тель­но под­твер­дил ещё в 2015 году.

Кто прав? А хрен его зна­ет. У меня нет досту­па к раз­вед­дан­ным, ведь даже неиз­вест­но, один-един­ствен­ный был такой слу­чай, как в 2014 с кон­трак­то­ром АНБ, или же их было мно­же­ство.

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

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