Корретто мне, корретто!

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

Во-пер­вых, ещё в 2011 году Сан/Оракл нако­нец откры­ли исход­ни­ки Джа­вы — ну, про это уже было извест­но. Та самая откры­тая Джа­ва появи­лась, напри­мер, в Шап­ке.
А во-вто­рых, в 2018 году Оракл (види­мо, решив поэкс­пе­ри­мен­ти­ро­вать с реаль­но­стью) объ­явил, что дол­го­сроч­ную под­держ­ку сво­ей JDK они боль­ше бес­плат­но давать не будут. А к это­му момен­ту Джа­ва уже рабо­та­ла в бес­чис­лен­ных облач­ных и не толь­ко про­ек­тах, так что вен­до­ры поче­са­ли репу и реши­ли, что дешев­ле и про­ще будет раз­ли­вать этот кофий само­сто­я­тель­но.

И понес­лась… Все нача­ли кле­пать свою Джа­ву — и теперь у нас есть вари­а­ции от Ама­зо­на, Azul, SAP и даже само­го Мик­ро­соф­та (!) Китай­цы тоже под­су­е­ти­лись: теперь своя вер­сия есть у Али­ба­бы, Тен­сен­та, Хуа­вея… Рус­ские не оста­лись в сто­роне и тоже раз­ли­ли этот кофий в свой само­вар; для госу­дар­ствен­ных про­ек­тов суще­ству­ет, напри­мер, Аст­ра JDK. В ней, к сло­ву, есть под­держ­ка рус­ской крип­то­гра­фии ГОСТ-2012.

В общем, про Оракл (и их чудо­вищ­ный сайт) нын­че мож­но забыть как про страш­ный сон — бери любую Джа­ву, какая нра­вит­ся, и исполь­зуй под свои нуж­ды. Боль­ше нет нуж­ды свя­зы­вать­ся с их «род­ной» JDK и её тупо­ры­лым, бес­смыс­лен­ным, и тор­моз­ным уста­нов­щи­ком.

Для себя выбра­на Ама­зо­нов­ская чаш­ка под кра­си­вым назва­ни­ем «Кор­рет­то». Это, если что, такой кофей­ный напи­ток — эспрес­со с капель­кой алко­го­ля, тра­ди­ци­он­но — с грап­пой.

Уста­нов­щик их JDK отлич­ный, про­дукт поста­вил­ся момен­таль­но. В каче­стве IDE была выбра­на IntelliJ IDEA CE вме­сто уста­рев­ше­го в коря­гу Эклип­са. Эклипс, конеч­но, про­дукт заслу­жен­ный, но застыл по раз­ви­тию году при­мер­но в 2005. Откры­лись ста­рые исход­ни­ки пису­лек деся­ти­лет­ней дав­но­сти, и, не пове­ри­те, всё ском­пи­ли­ро­ва­лось и запу­сти­лось. Даже уди­ви­тель­но (и при­ят­но). Совре­мен­ная Джа­ва по про­из­во­ди­тель­но­сти теперь, поди, ещё боль­ше уде­лы­ва­ет енту вашу коря­гу под назва­ни­ем «Си-плюс-плюс» 😉

Верной дорогой

Вер­ной доро­гой, това­ри­щи. Путин и Си Цзинь­пин одоб­ря­ют.
Аме­ри­кан­ские зако­но­да­те­ли прут­ся по про­ве­рен­ной тро­пин­ке восточ­ных дик­та­то­ров — толь­ко флаг дру­гой.

В шта­тах Вис­кон­син и Мичи­ган хотят запре­тить VPN.
Разу­ме­ет­ся, под бла­го­вид­ным соусом «забо­ты о детях».
Эта фра­за вооб­ще ста­ла уни­вер­саль­ным про­пус­ком для любо­го цен­зу­ра­с­та и иди­о­та с мани­ей кон­тро­ля: ска­зал «дети» — и гото­ва карт-бланш зале­зать людям в теле­фо­ны, ноут­бу­ки и голо­вы.

Но, как водит­ся, «забо­та о детях» — это не забо­та. Это пер­вое убе­жи­ще авто­ри­та­ри­ев всех мастей.
Сна­ча­ла VPN, потом TOR, потом HTTPS, потом — ну вы поня­ли, да? «Если вам нече­го скры­вать» уже гото­во ждать за углом, как ман­тра.

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

Цен­зур­ных слов у меня — нет. А те, что есть, про­сто нель­зя печа­тать. Наде­юсь, сия затея умрёт ещё даже не дой­дя до голо­со­ва­ния.

Домашне-сисадминское

Я, конеч­но, очень люб­лю TrueNAS Core. Ибо FreeBSD, и это тру. Он поз­во­ля­ет дома из гов­на и палок под­нять весь­ма серьёз­ную инфра­струк­ту­ру: ZFS с RAIDZ, снап­шо­ты, репли­ка­ции, iSCSI, SMB, NFS, вир­ту­аль­ные маши­ны, алер­ты — всё это рабо­та­ет, и рабо­та­ет ста­биль­но и пред­ска­зу­е­мо.

Но есть у Core одно харак­тер­ное свой­ство, кото­рое пери­о­ди­че­ски, как фи тепер тош­ше коф­фо­ри­те по-рус­ски, анно­ит: чрез­мер­ная щепе­тиль­ность в отно­ше­нии состо­я­ния пула.

ZFS обна­ру­жил один бит, кото­рый не сов­пал? Авто­ма­ти­че­ски вос­ста­но­вил блок из пари­те­та? Скраб под­твер­дил целост­ность?

С точ­ки зре­ния ZFS — всё пре­крас­но. Но с точ­ки зре­ния TrueNAS — «Пул дис­ков нездо­ров! Сроч­но, сроч­но! Хва­тай меш­ки — вок­зал отхо­дит!»

Core упор­но счи­та­ет пул про­блем­ным до тех пор, пока:

  1. Адми­ни­стра­тор лич­но не зай­дёт в интер­фейс или кон­соль,
  2. Не про­ве­рит SMART по каж­до­му дис­ку,
  3. Не убе­дит­ся в отсут­ствии дегра­да­ции,
  4. Не под­твер­дит, что ошиб­ка была исправ­ле­на,
  5. И вруч­ную не сни­мет пам­пер­сы тре­во­гу коман­дой zpool clear.

Даже если про­изо­шёл еди­нич­ный, слу­чай­ный сбой — будь то мимо­лёт­ная про­бле­ма в SATA, крат­ко­вре­мен­ный тай­маут кон­трол­ле­ра, оди­ноч­ный флип­ну­тый бит в опе­ра­тив­ной памя­ти (не ECC, ибо гов­но и пал­ки) от обыч­но­го фоно­во­го излу­че­ния, или любая дру­гая разо­вая ано­ма­лия — и ZFS пол­но­стью вос­ста­но­вил повре­ждён­ный блок из пари­те­та, TrueNAS всё рав­но ожи­да­ет руч­но­го вме­ша­тель­ства: адми­ни­стра­тор дол­жен зай­ти, про­ве­рить и фор­маль­но под­твер­дить собы­тие.

С точ­ки зре­ния надёж­но­сти под­ход фор­маль­но оправ­дан: ZFS может вос­ста­но­вить блок, но факт воз­ник­но­ве­ния ошиб­ки — это всё же диа­гно­сти­че­ское собы­тие.

Но на прак­ти­ке это при­во­дит к тому, что после любо­го мини­маль­но­го чиха — одна исправ­лен­ная кон­троль­ная сум­ма, один сбой чте­ния, одно крат­ко­вре­мен­ное собы­тие в кана­ле пере­да­чи дан­ных — TrueNAS сооб­ща­ет о «нездо­ро­вом» пуле, и сроч­но тре­бу­ет руч­ной про­вер­ки.

Ино­гда хочет­ся, что­бы систе­ма уме­ла гово­рить про­ще: «Да, демо­ны были. Мы это­го не отри­ца­ем. Но они само­лик­ви­ди­ро­ва­лись.»

Но фило­со­фия TrueNAS Core дру­гая: каж­дый сбой дол­жен быть зафик­си­ро­ван, про­ве­рен и под­твер­ждён чело­ве­ком. Нра­вит­ся это или нет — это часть его дизай­на. Но ино­гда… анно­ит.

Рабоче-покупное

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

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

2.4E+2, ага.

Это у нас, если пере­ве­сти с язы­ка экс­по­нен­ци­аль­ной запи­си, обыч­но при­ме­ня­е­мой где-нибудь в нау­ке, кибер­не­ти­ке, или при вызо­ве ЗГОГГов, — обыч­ные, стан­дарт­ные, род­ные, чело­ве­че­ские 240 вольт.

Зачем они так выпенд­ри­лись — зогад­ко, чест­ное сло­во. Может, наде­я­лись впе­чат­лить кого-то, кто по ночам тай­ком, украд­кой, гла­дит свой осцил­ло­скоп?

Хеловиним, сисадминим

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

Наш финан­со­вый дирек­тор (Chief Financial Officer):

Это Кру­эл­ла де Виль, соб­ствен­ной пер­со­ной, если вдруг кто не понял.

Я обыч­но тоже участ­вую, но в послед­нее вре­мя, если я про­сто могу само­сто­я­тель­но одеть­ся — день уже удал­ся. Так что весь мой костюм в этом году огра­ни­чил­ся накра­шен­ны­ми ког­тя­ми.

А рабо­тать всё рав­но надо — сисад­мин­ство в празд­ник никто не отме­нял. Делаю апгрейд сер­ве­рам в нашем кла­сте­ре Hyper‑V: выди­раю к соот­вет­ству­ю­щей немет­ри­че­ской мате­ри брод­ко­мов­ские сете­вые кар­точ­ки и став­лю нор­маль­ные инте­лов­ские. И дело даже не в том, что Broadcom дела­ет пря­мо пло­хое желе­зо — про­сто драй­ве­ры они тра­ди­ци­он­но пишут исклю­чи­тель­но через зад­ни­цу.

🎃 Happy Halloween! 👻

Эка напасть

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

Повто­рим кар­тин­ку, что ещё делать оста­ёт­ся.

Будет инте­рес­но почи­тать деталь­ный раз­бор полё­тов.

Мда…

Труд­но пере­оце­нить мас­шта­бы энер­ге­ти­че­ской зад­ни­цы, в кото­рую нас бод­ро запих­ну­ли систе­мы искус­ствен­но­го интел­лек­та. Глу­би­на этой зад­ни­цы тако­ва, что уже появи­лись ком­па­нии, пере­де­лы­ва­ю­щие спи­сан­ные само­лёт­ные дви­га­те­ли под газ и дела­ю­щие из них гене­ра­то­ры — по 48 мега­ватт каж­дый. И спрос, зна­е­те, такой, что всё уже разо­бра­ли. Оче­редь — до 2030 года.

Что даль­ше — спи­сан­ные паро­во­зы, пере­обо­ру­до­ван­ные в пере­движ­ные элек­тро­стан­ции?

Что-то мне под­ска­зы­ва­ет, что этот пузырь вот-вот нале­тит на небес­ную ось. Сей­час он надут беше­ным коли­че­ством инве­сти­ций. Но инве­сти­ции — шту­ка такая: их ведь надо отра­ба­ты­вать. Ага. Да толь­ко хрен у тебя что вый­дет, когда элек­три­че­ство закон­чи­лось.

А помните?

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

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

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

Каж­дый раз одно и то же: сна­ча­ла «всем сроч­но внед­рить», потом — «а зачем мы это сде­ла­ли?» Очень может быть, что «ИИ» ско­ро зай­мёт почёт­ное место рядом с «блок­чей­ном» — в спис­ке забы­тых мод­ных слов. Ведь вид­но, что уже насту­па­ет отрезв­ле­ние — про­гресс ИИ начал упи­рать­ся в закон убы­ва­ю­щей отда­чи, а в Бри­та­нии вне­зап­но ока­за­лось, что при любых рас­кла­дах на все хотел­ки тупо не хва­тит элек­тро­энер­гии. А у нас (тоже вне­зап­но) выяс­ни­лось, что что­бы накор­мить все эти ИИ-моз­ги элек­три­че­ством, при­шлось вер­нуть в строй уголь­ные стан­ции. Хотя все вро­де бы уже согла­си­лись, что уголь — это пло­хо, радио­ак­тив­но (не шучу, они выбра­сы­ва­ют боль­ше ради­а­ции чем АЭС), и вооб­ще, на дру­гом кон­це зем­но­го шара Гре­точ­ка пла­чет в тужур­ку. А АЭС стро­ить — это доро­го, дол­го и не хай­по­во. Я вот уже несколь­ко раз упо­ми­наю в жур­на­ле АЭС «Воугл», что в брат­ской Джор­джии. Два её реак­то­ра вве­ли в строй толь­ко в 2023 году, а под­пи­сал бума­ги на её стро­и­тель­ство ещё Оба­ма, в 2009. А ИИ всем надо «прям­щас», и чего с этим делать при таких ввод­ных — реши­тель­но неяс­но.

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

Ограничения ИИ для психологических целей

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

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

Спро­сишь что угод­но — они в ответ сия­ют все­ми пер­цеп­тро­на­ми:
–Какой умный вопрос!
–Ты затро­ну­ла крайне инте­рес­ную тему, умни­ца!
–Да-да, доро­гая, ты мыс­лишь в пра­виль­ном направ­ле­нии!

И всё это в одной и той же веж­ли­во-вос­тор­жен­ной инто­на­ции. Абсо­лют­но все без исклю­че­ния ИИ зани­ма­ют­ся тако­го рода под­ха­ли­ма­жем.

И вот из-за это­го, когда к ним при­хо­дят с пси­хо­ло­ги­че­ски­ми вопро­са­ми, они ока­зы­ва­ют­ся бес­по­мощ­ны. Они не уме­ют ска­зать: «А может, дело в тебе?»

Напри­мер, если прий­ти к ИИ с жало­бой: «Мой муж нико­гда не гото­вит обед для семьи», ИИ сра­зу нач­нёт под­би­рать дели­кат­ные фор­му­ли­ров­ки:

–Попро­буй пого­во­рить с ним мяг­че
–Может, ему про­сто тяже­ло?
–А вдруг его раз­дра­жа­ет запах готов­ки?

А вот живой пси­хо­лог для нача­ла уточ­нит:

—«А что муж вооб­ще дела­ет по дому?»

И когда выяс­нит­ся, что он:

  • каж­дые пару дней выти­ра­ет всю пыль и пыле­со­сит весь дом
  • сти­ра­ет всю одеж­ду
  • раз­во­зит детей по сади­кам, шко­лам и круж­кам
  • пере­мы­ва­ет всю посу­ду
  • чинит всё, что лома­ет­ся
  • по выход­ным бега­ет с детьми на лыжах
  • все­гда помо­га­ет детям с домаш­ней рабо­той
  • рабо­та­ет на пол­ную став­ку
  • при­но­сит в дом боль­ше все­го денег

пси­хо­лог толь­ко акку­рат­но отки­нет­ся в крес­ле и спро­сит:
—«А не зажра­лась ли ты, мать?»

Вот и вся раз­ни­ца: ИИ под­дер­жит, а пси­хо­лог — отрез­вит. И, если чест­но, ино­гда вто­рое полез­нее.

Про Ардуино

Объ­яви­ли тут, что ком­па­нию Arduino купи­ла Qualcomm.

Моя пер­вая реак­ция была, при­зна­юсь, слег­ка нега­тив­ной: «Опять гиган­ты ску­па­ют мелочь, а сооб­ще­ство элек­трон­щи­ков потом стра­да­ет…» Но, похо­же, всё не так хре­но­во, как мне дума­лось! Почти сра­зу они объ­яви­ли о выхо­де новой пла­ты — Arduino Uno Q — с про­цес­со­ром Qualcomm QRB2210 и мик­ро­кон­трол­ле­ром STM32U585 на бор­ту. При этом все шиль­ди­ки для ори­ги­наль­но­го Arduino Uno будут рабо­тать (и, похо­же, даже те, что под напру­гу в 5V). Цена вопро­са — 44 моне­ты.

Эту пла­ту мож­но исполь­зо­вать как вполне пол­но­цен­ный линук­со­вый ком­пью­тер с Деби­а­ном (прав­да на млад­ших вер­си­ях все­го 2 ГБ памя­ти и 16 ГБ eMMC — осо­бо не раз­бе­жишь­ся), плюс как высо­ко­ско­рост­ной мик­ро­кон­трол­лер. То есть пря­мо не отхо­дя от кас­сы мож­но запи­лить какой-нибудь замух­рёж­ный про­ект на мик­ро­кон­трол­ле­ре (STM32U585 — это ведь уже не вось­ми­бит­ный Atmel, а «взрос­лый» ARM Cortex) и парал­лель­но воткнуть пол­но­цен­ный линук­со­вый веб-сер­вер с реля­ци­он­ной БД, что­бы дан­ные в неё писать. И потом общать­ся с про­ек­том по-насто­я­ще­му удоб­но — через бра­у­зер, по сети. Шоб прям по кра­со­те!

Даже жаль, что вре­ме­ни на такие экс­пе­ри­мен­ты сей­час нет… А то сде­лать бы чего… эда­ко­го.

Слы­шу, слы­шу скре­жет зубов­ный Насто­я­щих Эмбед­щи­ков™: «Арду­и­но — игруш­ка! Всё это фиг­ня! Код для ARM Cortex пишут толь­ко на чистых, бла­го­род­ных Сях, стро­го в STM32CubeIDE, а ина­че ты не инже­нер, а так… люби­тель!»

Доро­гие мои суро­вые мор­ские коти­ки от мик­ро­кон­трол­ле­ров! Ну да, конеч­но, спо­ру нет — Arduino C++ или MicroPython — это же дет­ский само­кат рядом с вашим спейс-шатт­лом на чистом ассем­бле­ре. Но, зна­е­те ли, про­стень­кие про­ек­ты на этом само­кат­ном коде рабо­та­ют пре­крас­но. А что­бы «помо­чить нож­ки» в эмбе­де и понять, что к чему — его хва­та­ет по самые уши. А если чело­ве­ку вдруг ста­нет все­рьёз инте­рес­но, он, жут­кое дело, и ARM-овский ассем­блер осво­ит, и с STM32CubeIDE подру­жит­ся, и реги­стры все выучит.

А пока — не пове­ри­те! — Arduino дела­ет для попу­ля­ри­за­ции мик­ро­кон­трол­лер­но­го про­грам­ми­ро­ва­ния боль­ше, чем вы все вме­сте взя­тые, с ваши­ми куба­ми, HAL-ами, FPGA, и бое­вы­ми исто­ри­я­ми о том, как вы на чистых маш­ко­дах наба­ба­ха­ли бут­ло­адер в ночь перед дед­лай­ном.