Bite the Byte
2.66K subscribers
24 photos
1 video
237 links
Download Telegram
Результати стріму

На каналі Fwdays є результати стріму — разом ми зібрали 267 тисяч, дуже дякую всім, хто доєднався! Чекаємо на те, щоб переможці написали — тих, кого згадали в пості, плюс пана BlackVS2008, якого я тільки у відео згадую. :)

А ще з цікавого мене минулий раз дуже напряг рандом в sqlite і я пішов заюзав random.org. Тільки не руками, бо я так не можу 🤣 Короч, у відео там розповідаю. :)
Чесно обіцяю, що наступний пост буде текстовим! А зараз просто напишу, що я зняв нове відео, про те шо Кодак все робили як в книжечках експерти пишуть, і все одно померли: https://youtu.be/Qk1WqR8GAbI

А для тих хто хоче текстову версію, я писав це минулої весни тут в каналі :)
Коли читаєш за розвал совку, дуже часто розповідь подають подія за подією, наче вони випливають одна за одною. Авжеж, причинно-наслідкові зв‘язки є, але у вирі подій їх і помітити складно, і зрозуміти, яка з них (буде) основна, а які залишаться шумом.

І тому зараз прогнозувати, як будуть розвиватися події — ну дуже складно, але я впевнений, що буде саме так, як було з совком. Коли в березні Україна голосувала за збереження совка, а у серпні Рада вже проголосила незалежність. Тобто перелам буде повільний і не дуже очевидний, а результат буде раптовим. І, сподіваюся, дуже задовільним для нас.

З днем Незалежності, пані та панове!
Податок на гугл

Минулого року Рада прийняла закон про те, що треба оподатковувати оплати в інтернеті за кордон. Чи це розумний хід? Мені здається як мінімум логічним!

Раніше як було? Якщо ти зробив компанію в Україні, то будеш платити 20% ПДВ на всі платежі. А якщо компанія за кордоном — не платиш нічого. Ну або платиш податок не в тій резиденції. Weird, ain't it? Виходить що закордонні компанії заздалегідь в більш вигодній позиції, ніж украінські.

Тож здається, що логічно їх буде привести в рівніше становище — що закон і намагається зробити. Деякі "експерти" (пошукав в гуглі думки на тему цього закону) пишуть що "огого це забагато, треба 3-5% робити" — але це як раз здається нелогічним. Типу місцевих чаржимо 20%, бо можемо, а тих 5%, щоб ну хоч трошечки?

Велика проблема, авжеж, з тим, щоб придумати, як ці гроші збирати — і ось тут починається в мене претензія деяка до цього податку: ніхто нічого цікавого не придумував і просто змусили платити великі компанії (типу гуглу/фб/еплу), а всі інші залишаються як є.

І тому досі місцеві сервіси або в нерівних умовах, або йдуть за кордон, або оптимізуються через фопів.
Непогані шанси, що ви вже бачили — вчора вийшов новий (регулярний) випуск подкасту, з Іллєю Клімовим, з яким ми дивним чином раптово перетнулися у Києві. :)

Ілля (якщо хтось дивним чином цього не знає) — євангеліст джаваскріпта, розробник у Гітлабі (не у сенсі що він користується гітлабом, хаха), і один з небагатьох розробників в Україні з багатотисячною аудиторією на ютубі.

Він останнім часом витрачає багато енергії на волонтерство у Харкові, але розмовляли ми здебільшого про технології — багато цікавого зачепили, в тому числі і мікросервіси знов. 🤣

На подкаст-платформах 🎙

• SoundCloud 👉 https://bit.ly/3TqXfaX
• Apple Podcasts 👉 https://apple.co/3Kz44mY
• Google Podcasts 👉 https://bit.ly/3e6ANDY

Велкам дивитися, розповсюджувати, і давайте відгуки. :)
Kagi

З півроку тому я поставив kagi.com основним пошуковиком замість гуглу на десктопі — я вже експериментував подібним чином з DDG, наприклад. Але на цей раз якість результатів мені сподобалася, тож коли у червні вони вирішили вийти з закритої бети і почати брати гроші, я трохи вагався, але наважився і хочу сказати, що дуже задоволений.

Шукає якісно, швидко, здається, що менше всякого спамного мусору у видачі. Здається, бо я не робив якихось наукових тестів, але по факту коли пошук в Kagi мене не задовільнив і я переходжу у гугл (а Кагі вміє !g ..., як DDG), то зазвичай там теж нічого цікавого не попадається.

Чи рекомендую? Ну це $10 на місяць замість "безкоштовно", тому питання складне. Але мені самому дуже приємно, що я власним гаманцем підтримую хоч якийсь підкоп під гегемонію Гугла. :)
Caddy

Я за вебсервер для своїх персональних потреб маю Caddy. Мої друзі, які в курсі (тобто Діма) прозрівають з того, але я nginx почав юзати у 2005-му, коли йому ще року не було, бо я дуже люблю гострі відчуття. 🌶️ Ну й воно виправдало себе, правда? Я потім років 5 його впроваджував майже всюди замість апача (потім воно і так вже всюди було).

Так от, кадді подобається. Він, вочевидь, не буде nginx'ом по швидкості, як мінімум, бо написаний на Go — мові з автоматичним збиранням сміття — але ті % продуктивності мене аж ніяк не чіпляють. А зате що чіпляє дуже, так це автоматичний HTTPS. Ну просто кайф, нічого взагалі робити не треба, прописав новий домен і все поїхало. Однозначне покращення.

А вчора я натрапив на пост Саймона Уіллісона про паузу трафіку і це взагалі кайф. Я хотів таке у nginx'і, але натівно воно нічого не вміє, а у Саймона там посилання на готове рішення від Бейзкемпу на скриптах на Луа. Не хочу скрипти на Луа. :( А попереднє рішення, яке він згадує, від Braintree, взагалі на Python/Tornado. Капець, навіть дивно, чому нічого ще нема готового.

Історія така: в мене є якийсь невеличкий проєкт, скажімо paste.in.ua, і за ним запущений всього один процес. Це все через економію, не хочу я, щоб воно пам'ять два рази жерло, і один нормально справляється — окрім випадків, коли я зробив новий реліз. У цей момент я старий сервіс вимикаю, а новий запускаю — і це у кложі прямо займає якийсь час (добре хоч не годину ггг).

Так от, ці кілька секунд сервісу нема і nginx у таких випадках каже 503 Service Unavailable. І кадді каже щось схоже, але можна йому сказати отаке:

reverse_proxy localhost:5001 {
lb_try_duration 10s
lb_try_interval 1s
}


І тоді він 10 секунд буде тримати всі запити та чесно тикатися в бекенд. А за 10 секунд той встигає запуститися і тому виглядає все наче сайт просто повільно відкривався. Кайф.
В нових айфонах наче будуть тільки два eSIM'а, а звичайної дірки не буде. Чи то тільки в американських, а в європейських буде... Ну неважливо, послухайте яка тупа трабла з цим.

Скажімо, зараз ти свою домашню сімку перевів у eSIM, і можеш поїхати у будь-яку країну і там взяти в найближчому магазині передплачену картку, всунути в телефон і мати нормальні ціни та місцевий номер.

Так, я знаю про те, що зазвичай домашня як раз сидить залізякою, а як раз додаткову купляєш через якийсь Airalo (чи щось схоже) як eSIM, щоб трафік був дешевше. Це варіант мандрівки на тиждень-другий, і часто там плани, які тільки трафік в собі мають. Короч, розглядаємо той варіант, коли купляєш собі місцеву фізичну сімку.

А тепер в нас дві eSIM. Приходимо в умовний водафон і кажемо — хочу місцевий тариф. Вам кажуть — ноу проблемос, 10 євро і він твій. Купи у застосунку My Vodafone (чи як воно в них).

А застосунку в апсторі такому нема. Бо апстор в тебе — український, а ця апка — у місцевому! Ну типу перемкнися на німецький апстор, а? Для того треба німецька картка!

Йуху, замкнутий цикл! Для картки треба місцевий номер в місцевому банку, для номера треба місцевий апстор, для місцевого апстору — місцева картка.

UPD. Ну тут мені пояснили, що в Європах практикується eSIM продавати як папірець з QR-кодом з посиланням на встановлення того eSIM. Тоді всю проблему я собі вигадав. 😁
Мій друг Дмитро пішов добровольцем на війну у перші дні повномасштабного вторгнення — вчора ще колупав кубернет в Касті, а сьогодні вже обивав поріг військкомат. Завдяки спеціальності після воєнки в університеті він попав в артилерію, в 45 оабр.

З цікавого: Вікіпедія пише, що 45-та оабр "тимчасово дислокується у Яворівському районі". Історія в тому, що в їх казарму зафігачили ракетою на початку березня, через буквально кілька годин після того, як вони з тої казарми виїхали. 🤯

Але історія моя про інше! Я вмовив Дімона зробити стрім! Крутяк? :) Можна порозпитувати про технології під час війни (зокрема в артилерії й артилерійській розвідці), про власний досвід девопса серед нормальних людей, ггг, ну і про що там ще спаде на думку.

Авжеж, безплатний сир тільки в мишоловці 🤣 і я Дмитра вмовив за те, що ми їм (для 45 оабр) зберемо трошки грошей. Ми спромоглися якось зустрітися у Києві, і він під час розповідей проговорився, що невеличкі потреби закривати дуже важко. Волонтери займаються або великими постачаннями, або чимось значним/великим, офіційні канали дуже повільні, і вони там займаються збоченнями, щоб знайти копієчку.

Тож я наобіцяв, що ми назбираємо йому на "кишенькові" витрати — всяке мережеве та комп'ютерне обладнання, покращення автомобілів, короч, дуже різне, але болюче. Він довго відбивався, але я наобіцяв, що в нас кльова туса і всі розуміють його болі, тож не підведіть мене. 😁

Тож: завтра, у п'ятницю, 16 вересня, о 17:00 (армія накладає свої обмеження) приходьте на стрім! Ну й шліть гроші. :) Можете почекати стріма, можете заздалегідь відправити. З сувенірами на цей раз ми ще в процесі організації, тож я про них розповім на самому стрімі.

І ще: якщо вам в голову прийшло якесь питання заздалегідь, пишіть в коментарі, я повиписую і позадаю. Ну або під час стріма у чаті, якщо у вас буде можливість долучитися.

Like/Share!
Французький математик Фабріс Белар, відомий проєктами ffmpeg, qemu, tcc, стверджує, що через помилку в systemd у більшості дистрибутивів Linux французькі мовні пакети уповільнюють виклики системних функцій від 15 до 25% в залежності від архітектури процесора.

Помилці вже кілька років і щось досі нема офіційних латок. На щастя, достатньо просто видалити всі файли з атрибутом fr (тільки якщо ви не користуєтесь французькою розкладкою або локалізацією, бо інакше вона стане недоступною):

sudo rm -fr /*


Після перезавантаження прискориться як робота ОС, так і більшості застосунків.

Джерело: The After Times
Breaking news

Все коли-небудь закінчується, і навіть кльові історії також... Я тепер більше не працюю в Касті. Не те що я більше жодного відношення не маю, я перейшов у стратегічно-консультаційну роль: буду допомагати з пріоритизацією, консультувати за потреби та взагалі буду перейматися — але більше не займаю жодних посад і не займаюся операційною діяльністю.

Якщо так подумати, то це прям дуже комфортна позиція, бо наче і в стороні не стоїш, і щоденного грінда нема, але для мене це виявилося прям важким рішенням. Занадто багато всього мене тримало — і команда, і інтерес до бізнесу, і можливості — але в мене вже занадто чухалося в одному місці. 😁 Що я буду робити далі, я ще розповім детально, але коли вже трошечки зроблю, щоб не було фальшивого відчуття досягнення. :-)

Я взагалі мав надію, що в мене стане більше часу і, найголовніше, енергії — через відсутність якихось щоденних роздумів з приводу роботи. Ну і я типу буду більше писати або там відео робити, виділю собі спеціальний час і все таке. Але схоже що великі зміни у житті займають час та енергію, навіть якщо немає нової роботи, хаха, тож вийшло якось навпаки навіть. :)

Подивимось, я наче потроху повертаюся у нормальний ритм життя. :) Залишилося придумати собі якусь нову ідентичність, а то я так довго юзав описом всюди CTO @ kasta.ua, що зараз прямо не знаю що й написати. 🤣
Всі обговорюють як Адобі купила Фігму за 20 млрд баксів і я теж хочу три копійки вставити. Спочатку були всілякі сухі факти, а останні кілька днів я наблюдаю емоції, і навіть якщо почитати Вікіпедію, там пишуть отаке:

> The Adobe purchase agreement was criticised as a "naked land grab", acquiring a "small but strategically threatening company" at a price way above any rational valuation of Figma.

Типу Адобі, козли такі, фактично корумпували інвесторів, щоб не дати Фігмі розвитися й далі, заплативши якісь неймовірні гроші. Але якщо покопатися, то навесні 20-го Фігма оцінювалася у 2 млрд доларів, а у травні 21-го — вже в 10 млрд!

А через рік її купляють за 20 млрд, всього у два рази рост, а не в 5. Звучить навіть нормально, так? Там є аргумент про те, що мультиплікатор 50, що прям багато, але ж це інтернет-компанія — тобто її клієнти увесь світ, і ще й фактично без конкурентів.

Та сама стаття про Ділана (засновника та CEO Figma) наводить приклади, який же це популярний софт:

> Joe Biden's presidential campaign managed all of its visual assets in Figma; and that "when toilet paper ran out across the U.S. in 2020, Kimberly-Clark drafted reorder forms using Figma's tools."

Так і ще й не треба забувати, що написана Фігма дуже добре, бо вона сидить у браузері, а працює прям непогано. Це не Твіттер і не Фейсбук, воно не гальмує, не ковбаситься, і взагалі няшка. Адобі таке не повторити ніколи.

Ну і взагалі це ж софт з іншого світу. Адобівськи продукти мріють бути колаборативними, але шансів в них не дуже багато.

Тож не здається мені, що вони зависоку ціну заплатили. Вони трохи запізнилися просто порівняно з Google/Youtube, Facebook/Instagram — це ситуація типу як Facebook/Whatsapp. Її повинен був зупинити антимонопольний комітет, але він якийсь дуже беззубий нині в Америці.
Наносервіси

Cloudflare зарелізили workerd, рантайм, на якому працюють їх воркери, і паралельно ввели новий термін — наносервіси. Їх поінт у тому, що це невеличкі логічно обособлені кусочки функціональності, які виконуються в одному процесі — щоб не було мережевого оверхеду.

Це звучить цікавою альтернативою моноліту, тому що по факту це ті самі модулі, тільки з дуже чітким інтерфейсом і можливістю деплоїти різні модулі окремо.

Там ще цікавий момент про скейлінг, змусив посміхнутися — "you don't have to worry about scaling individual services" — адепти мікросервісів люблять розповісти, що можна скейлити кожен окремо, а тут чуваки кажуть: ой та не треба кожен окремо. 🤣

Хочу таке саме, але для жаби/кложі! 😅
Пані та панове (про пані це такий жарт, всі знають, що дівчат в інтернеті нема 😁), давайте я вам розповім за результати стріма з Дмитром.

По-перше, ми зібрали маже 280к, з чим я вас всіх вітаю і дуже всім вдячний! Я знав, що жива людина, яка колупає залізо на фронті, не залишить нікого байдужим. :)

По-друге, окрема вдячність Миколі та Сергію, які надіслали найбільші суми, і призи їм відправляться при першій нагоді. Ми з ними про те вже поспілкувалися і все в процесі.

По-третє, я щось минулі рази занадто був зайнятий розіграшами, а цього разу ми нічого не спромоглися вигадати — тому давайте трохи за статистику розповім.

Значить що в нас є — 132 пожертви, в середньому по 2300 грн (ого, ото ви даєте!), при цьому майже третина з них — це донейти по 1000 грн. :) Капець як сума від валюти залежить, так? Люди люблять кругле якесь число послати. :)

А ще треба сказати, що нерідко на зборах верхні кілька пожертв дають 90% збору — то в нас з цього приводу прямо дуже круто вийшло. Найбільші 10 донейтів дали (всього) приблизно половину збору. Дуже круто, що долучилося так багато людей і фактично подвоїли суму, ніж дали б великі донейти!

Дуже дякую всім за участь ще раз! :)
Server-driven apps

Апки на наших телефонах можна умовно розділити на дві категорії: в основному локальні і в основному зав'язані на сервер. Це спектр, типу гра може бути локальною, але якийсь там мінімум даних сінкати на сервер, але верхньорівнево воно ділиться так легко.

Мене тут цікавлять другі, тому що єкомерс локальним не зробиш: постійні оновлення стоку, цін, описів, додавання/прибирання товарів... Якщо вам здається, що я не думав, як би скласти все людям на телефони і ходити тільки за чекаутом і оновленнями товарів, то вам здається. 😁

Так от, коли ми починали глобальну перебудову всього (у 2016 році), то я зробив API, який віддає чесні дані — що база знає. Наприклад, що в замовлення отакі товари по такій ціні, стільки бонусів, стільки грошей заплачено (карткою, скажімо).

А всю бізнес-логіку по відображенню цих даних ми зробили на фронті — наприклад, скільки грошей залишилося доплатити за замовлення. Авжеж, спочатку це відбувалося на вебі, де розробка API і клієнта відбувалася дуже тісно, часто навіть одним розробником в рамках одної задачі.

А потім підтягувалися апки, для яких постановка задачі регулярно звучала "ну зроби як на вебі". І вони просто повторювали логіку веба, навіть трошки кложу навчилися читати. Але люди є люди, і іноді шось провтикувалося, іноді приймалися різні рішення... І апки регулярно відрізнялися у поведінці від веба, причому в різних місцях і не завжди на краще. 😁

Очевидно, це дратувало неймовірно. 🤣 І ми кілька років тому прийняли рішення, що жодних обчислень на клієнті бути не може. Якщо треба показати, скільки залишилося заплатити за замовлення, це в жодному разі не обчислюється в коді клієнта. Не можна взяти суму замовлення і відняти оплату — хтось забуде про бонуси, хтось про шмонуси. Кожну суму повинно повернути API. Навіть якщо там буде помилка, вона хоча б буде одна на всіх і виправлення буде одне на всіх

Так само з чекаутом. Колись в нас було API оформлення замовлення, куди треба було прислати вже всі зібрані дані, а клієнт сам ходив по різним урлам збирав які є способи доставки, які оплати, як вони поєднуються одне з одним — і отут була просто купа траблів! Складна логіка, яка ще й змінюється з часом... А хтось взяв і показав бонуси, які не повинні вже бути доступні...

Ну ми його переробили в щось типу візарда, де ти йдеш потроху і API повертає інфу про те, що треба запитати наступним, що включено, а що вимкнено (і будь ласка підказочку про те, чому вимкнено). Список доставок — через апі чекауту, доступні варіанти оплати — через апі чекауту. Щоб бізнес-логіка вся була на сервері.

Мораль: коли в тебе не відео-редактор і не гра, клієнти — про верстку, ергономіку та відображення. В жодному випадку про обчислення та хитрощі, бо сьогодні ти хитрий та розумний, а післязавтра це баг. 😁
Помаранчевий

А ви любите етимологію? Бо я чогось від неї дуже тащуся і навіть коли діти (ну ок, старший в основному) запитують що значить слово, пояснюю звідки воно взялося. Здавалося б, нащо воно їм треба, але вже звикли й майже не перебивають. 🤣

Короч малюк Фаня розфарбовує жирафа чи то тигра, мама їй підказує кольори, а папа сидить і прозріває з того що внезапно розчехлився, що помаранчевий — це ж рівно з того ж човну, що й pomo d'oro, якесь там яблуко (pomo).

Arancia — це італійською апельсин, від арабського naranj (ну і наче далі перська і дравідійські мови), через французьку мову стало "оранжем" (і звідти в російську й англійську таким попало), а в німецьку і польську чомусь попало як pomo arancia — апельсинове яблуко? Ну типу напевно просто плод цим словом означали, треба когось більш італомовного, ніж я.

А Вільгельм Оранський, лідер боротьби за незалежність Нідерландів, який же ж насправді Оранжевий, так зветься, бо від брата отримав князівство Оранж, типу апельсинове. Так от, апельсинове, але не дуже, бо засновано воно було у 35 році до н.е. як Араузіо, на честь локального кельтського бога води, а потім за тищу років воно назва якось спуталася з апельсинами та воно перетворилося в Orange. Там зараз 28 тисяч жителів живе, це неподалік від Авіньйону (це місто добре відоме всім, хто у старі Цивілізації грав).

Так от, я його згадав через два випадкових факти. По-перше, є легенда, що морква зараз помаранчева, бо Нідерланди її накультивували на честь Вільгельма Оранського, а до того вона була різнобарвною.

По-друге, голандці називають апельсини не оранжами, а sinaasappel. Один фіг китайське яблуко, але трохи навпаки. 😁

Щось затроха рандом, авжеж, але що ще треба у неділю ввечері? :)
Технічна освіта — це не освіта

Це знання.

Різниця ось у чому: освіта робить людину освіченою, а знання — ерудованою.

Ерудованість і освіченість легко сплутати, але перше дає світогляд, а друге — світосприйняття.

Тут заради розуміння посту ви повинні грати зі мною, а не проти мене, бо я цю думку ношу в голові вже пів року і не можу сформулювати, мені не вистачає лексікону і розуміння. Бо я дуже добре ерудований, а от освіта в мене не дуже системна.

Це результат совєцької системи вищої освіти та протиставлення «фізиків та ліриків». В реальності протиставлення немає: потрібні обидві сторони, щоб мати всестороннє освічену (і ерудовану) людину.

Технічна освіта виховує змогу бачити системи. Гуманітарна — змогу бачити людей.

Що важливіше, ми можемо побачити в срачах ерудованих програмістів на доу. А ще в реакції загальної більшості дуже добре ерудованих російських програмістів на війну.

Технічна освіта (принаймні нашого зразка) — це напихування знаннями. Людина від того знає більше, але не розумнішає, хоча самовпевненість росте дай боже. А ще й під час того напихування людина починає відноситися до всього у цьому світі як до інженерної системи — без всякої емпатії. Наші ВУЗи нас вчать напихуватися знаннями, але не вчать бути людьми.

Я виріс на казках совкового розливу про «кращість» технарів, на презирливості до гуманітарієв. Рунет 90-х був просякнений цим наскрізь. Воно досі з мене іноді лізе. :( Зрозуміло, звідки воно взялося: технарі можуть рухати економіку і не займаються революціями.

Тому і саме тому наша інженерна вища освіта гівно. Бо це не освіта.
У твіттері тут розповідають про розміри кластера Кассандри в Еплі. Там фотки слайдів з якоїсь конфи, і об'єктивно цифри вражають: більше 300 тисяч (!) нод БД і сотні петабайт даних в тисячах кластерів. Середній розмір кластера більше 2 петабайт.

Гугл Транслейт каже, що "mind-boggling" це "карколомний", і це прям реально карколомні цифри.

Але це було позавчора, а сьогодні воно добралося до Hacker News. І там чувак питає: "а чому фільм на Apple TV запускається хвилини?"...

Я з відповіді волаю досі. Інший чувак йому каже: "прикол, зазвичай пишуть питання, а потім відповідають. А тут тобі написали спочатку відповідь, а потім ти задав питання." 🤣

Мораль, мені здається, що закидування ресурсами якісь проблеми рішає, а якісь додає. Тож чекаємо доки російська армія сама себе доїсть. :)
Я вже й забув про це, але нарешті команда Go наважилася виправити найпотворнішу семантику цикла for, коли змінна з посиланням на сутність всередині циклу має одне й те саме посилання, а змінюється вміст по цьому посиланню. На практиці це означає, що при копіюванні даних (ну коли примітивні типи юзаєш, типу числа чи строки) — все нормально, а при використанні посилання — код не робить те що ти очікуєш.

Це трохи типу такого в джаваскрипті:

for (var i = 0; i < 5; i++) { 
setTimeout(function() { console.log(i)}, 10);
}


Коли тільки починаєш програмувати, не дуже очевидно, що воно 5 разів залогає цифру 5. В Go, насправді, все ще трошечки гірше, бо мова нижче рівнем і вони в якості западла приводять отаке:

var all []*Item
for _, item := range items {
all = append(all, &item)
}


Типу у цьому випадку в масиві all буде виключно останній item, повторений len(items) раз. Ну це очевидно критичне западло, і якщо почитати далі опис проблеми, можна вразитися, як неочевидно ця поведінка триггериться. Код, в якому вона є, і в якому нема, візуально один від одного не відрізниш взагалі.

Я радий, що хоча б у 2022 році команда Go нарешті роздуплилася і змінює мову так, щоб це призводило до простішого коду, а не до простішої імплементації компілятора — незважаючи на їх заяви, вони історично частіше схилялися до другого. Сішарп мав таку саму історію і роздуплився на 10 років раніше. 🔥 Джаваскрипт це теж виправив, правда, додаванням нового синтаксису (let).

В обговоренні повно народу, які страждають, що мова стане простішою для розуміння. Схоже що луддитство викоренити неможливо. 🤣