Bite the Byte – Telegram
Bite the Byte
3.08K subscribers
24 photos
2 videos
276 links
Соловйов здорової людини!

🌐solovyov.net

Архів каналу: solovyov.net/channel

Без реклами
Download Telegram
Чи можна полюбити код іншої людини

Накаталися з малим з гори (тааак, цей момент прийшов, я катаюся на лижах разом з сином!), замучився і відкрив ютубчик повтикати. А там новий подкаст ДОУ, і прям у нарізці на початку Діма Малєєв каже "я ніколи не бачив програміста, який відкриває чужий проєкт і каже: боже, яка красота".

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

Але ж причини того прості й зрозумілі: дедлайни, кваліфікація й обмеження.

1️⃣ У комерційних проєктах одна з найважливіших речей — це швидкість реалізації. Хочеться, щоб щось запрацювало одразу, як вирішили, що ж потрібно робити. Тож навіть без дедлайну, зробили так, щоб воно більш-менш підтримуване було, протестували — і у реліз, а розробник займається наступною задачею. У всіх ця межа достатності різна, але загалом нема сенсу полірувати до нескінченості, то грошей не приносить.

2️⃣ Кваліфікація в людей різна. Хтось краще, хтось гірше, і всі без виключення в перші роки досвіду проходять етап бажання писати якомога складніший і крутіший код, так щоб показати всьому світу, що ти можеш. А часу переписати попростіше вже немає, тож максимум будуть виправлені найгарячіші місця, а далі за схемою про нестачу часу.

3️⃣ Коли код пишуть, обмежень купа — окрім часу, є усні домовленості, якісь прийняті у проєкті підходи, якісь технічні проблеми (може навіть тимчасові), щось у голові в розробника, щось у голові в його рев'ювера, вигадайте корочє самі. А коли ти відкриваєш і дивишся код, то ти всіх обмежень, в яких знаходився розробник, не знаєш, зате бачиш замість простого і симпатичного коду для базового юзкейсу купу якихось нагромаджень.

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

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

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

На мене, наприклад, дуже вплинув код Mercurial. Метью, автор Меркуріалу, дуже багато уваги приділяв простоті архітектури та коду, зворотній сумісності, когерентності функціоналу й обмеженості фіч, які попадають у ядро. Тож у 2008-му я був тим програмістом, який відкрив чужий код і сказав — боже, яка краса! 😁

Це був не перший і не останній раз, але найяскравіший для мене.
👍38🔥3
Щось мене пробило ностальжі, можна я вам розповім історію про геймінг у сиву давнину 94 року?

Нам з братом неймовірно пощастило й у 94 році в нашому житті з‘явився 486SX25 (досі не знаю звідки). Один з першої партії четвірок в Україні, я так розумію — порізана модель проца (на 25 мгц і без сопроцессора), вінт на 120 мб (як зазвичай до 386 йшли, для четвірок були більші), і 4 мб ОЗУ (це важливо для подальшої історії).

І там на ньому було кілька базових ігр, а потім папа з роботи дискетами приносив різне, типу перших гоблінів — досі пам'ятаю, як тре почекати, поки вона нагріється, "аби конденсат не вбив дисковод". 😁 А потім сталося чудо — ціною відсутності диска протягом кількох тижнів (це я вже з батьків показники зняв, мені здавалося що півроку без компа прожити прийшлося) в нас з‘явилася купа ігор. В тому числі дум — який не запускався! 😭 Тож ми шпілили у вольфенштейн, у танчики (так, за 20 років до всіх, ггг), етц.

Чому не запускався? Ось тут складно! Дум хотів 4 мб ОЗУ, які в нас наче були, так? Але під час запуску комп'ютера виконувалися інструкції у CONFIG.SYS та AUTOEXEC.BAT, які запускали різне — драйвера для відео (бо ж VGA, а не EGA, аж олдскули зводить), резидентну програму (це типу демона зараз) для перемикання розкладки клавіатури, волков коммандер (передав би привіт Сєві, цікаво, де він зараз), ну й таке інше.

А ми, вочевидь, не сильно розчехлялися, що відбувається. А потім у нас в гостях знов був той самий друг батьків, завдяки якому всі ці ігри з'явилися, і навчив: під час запуску натискаєш F6, і дос запускається у щось типу safe mode, без виконання всіх тих файлів. Плюс написав нам doom.bat, який щось підгружав (підозрюю, що вга-драйвер, і може ще щось).

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

А потім! З відрядження до Києва папа привіз ще 4 мб ОЗУ і звуковуху. Пройшло майже 30 років, а я досі пам'ятаю своє хвилювання, коли замість натискання F6 я у Волкові навів курсор на doom.exe, натиснув Enter і воно запустилося. Серце стучало що капець. :)

Не знаю, чи воно сформувало мене як особистість, бо ігри писати я не почав, людей стріляти також, але потім у q3 грав доволі багато, і зацікавленість, що ж там у тому AUTOEXEC.BAT переросла у колупання у кишочках комп'ютера й ось ми тут.

P.S. Думаю, що вся ця двіжуха з компами — це тупо робочий комп вдома, бо їсти було нема чого, а комп'ютер вдома стояв. :)
👍27🔥1510
Дружина вмовила подивитися випуск Дудя про білорусів — я його зазвичай не дивлюся, бо від нього тхне імперським синдромом, але тут цікавість переборола неприязнь.

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

Ще один цікавий момент був, коли прийшла соцслужба через те, що хлопчик 10 років біло-червоно-білий прапор у школі намалював, прийшли до мами і кажуть: напевно, прийдеться відбирати у вас дітей, а що ми зробити можемо... Ну у сенсі що? Банально італійську забастовку можете, ну ви ж бачите, що це абсурд зовсім? Бачать, але виконують.

На жаль, моментом скористатися білоруси не скористалися — і замість аналога майданів вийшов аналог російських мітингів, ще й потім розігнали всіх активних людей по різних странах. Тож здається, що реакціонерна політика у Білорусі проживе, на жаль, ще дуже і дуже довго. :(
👍46
На дворі весна і путєн сходить з розуму, але життя не зупиняється, плюс ми це записали ще кілька тижнів тому. Тож новий випуск Right Tool For the Job, на цей раз з дуже відомим у ютубі білорусом, Льохою ITБородою — тому російською мовою (спойлер: у наступному випуску все нормально :)).

Вийшло дуже весело, тож, якщо хочете відірватися від подій на вулиці — це воно. Чекаю на ваші перегляди та коментарі. :)

SoundCloud 👉 bit.ly/3h5LPaF
Apple Podcasts 👉 apple.co/34ZqBsC
Google Podcasts 👉 ​​bit.ly/3H7Mx1F
🔥18👍4
🔥51😁16🥰3
Всім привіт! В мене тут випадково організувався контакт у Шевченковському військоматі Києва (що на Салютній 4), і вони кажуть, що дуже потрібні кілька ноутів (штук 3-5) і пара принтерів.

Якщо в когось з вас є техніка, яку ви готові віддати, напишіть в коментах, будь ласка. Авжеж, бажано на правому березі у Києві, щоб це можна туди якось доставити було.

Може в офісі щось старе є, або по знайомим? Попитайте, будь ласка.

UPD. Все знайшли і відвезли, спасибі, Сергій!
👍8
Ми вчора доробили до більш-менш якогось робочого стану сервіс для інформування росіян про те, що їх ЗМІ їм брешуть. Ідея така: якщо в тебе є сайт, на якому бувають відвідувачі з Росії — ти можеш їм спробувати розповісти про те, що відбувається насправді.

Качаєш скріпт собі (щоб запобігти проблемі, коли наш сайт вже заблокований), підключаєш — і всі відвідувачі з Росії бачать величезний чорний попап (раз на годину). Скрипт намагається спочатку показати HTML, який ми хостимо, щоб можна було оновлювати текст, а якщо за 3 секунди не вийшло — то показує вбудовану версію.

На випадок, коли домен заблокований, там є ще кнопка, яка веде на телеграм-канал, де ті самі посилання. Взагалі здається, що якби був канал з інформацією для росіян, можна було б туди вести, але я такого не знаю.

Скрипт доволі простий і швидкий і для всіх інших (окрім росіян) буде непомітний, тож підключайте собі на сайти, і розповсюджуйте знання по знайомих!
👍37🔥10
Цікаву тему прочитав у пана Макса Бергмана, який у 14 році працював у американському уряді і приймав участь у підримці безпеки України. Коротко: США зазвичай допомагають армії країни зброєю та тренуванням, але у нашому випадку не вистачало часу. Доставити Джавелін — це від 6 тижнів плюс ще час на тренування. А конфлікт настільки гострий, що двох місяців на апгрейд ситуації немає — ну ми це й самі пам'ятаємо.

Тож вони почали те, що можна було почати робити прямо зараз — стали навчати ЗСУ процесам, організації, робити реформи основних функцій (типу сек'юрних комунікацій замість того, що зараз в московитів). Це фантастичний збіг, коли короткострокові цілі збіглися з довгостроковими — і дають величезні дівіденди зараз.

Якщо так подумати, це ж власне ідеальний кейс стартапа, коли MVP повністю збігається з тим, що потрібне ринку. :)
👍343
Потребую допомоги залу! 😁 Спілкуюсь останнім часом з "Повернись живим" і в них є цікава проблема. Історія починається з того, що вони зробили фінансову звітність відкритою, найпростішим шляхом: виклали xlsx з нею на OneDrive. Це кльове рішення, але скейлиться воно до якогось масштабу — зараз там 360 тисяч записів тільки за цей рік, і всі юзкейси розвалюються: фільтри в ікселі тормозять і показують тільки перші 10 тисяч значень, пошук тормозить, агрегувати дані неможливо.

Ми вчора обговорили і визначили два основних юзкейси, які можна насправді розділити:

• Зробити так, щоб людина могла знайти свою пожертву у списку всього, що надходить. Там є сума, комент платежу (або країна у випадку, коли пройшло через fondy), ну короч це можливо, але кльово б мати фільтрацію по даті і пошук по коментарю.
• Дати можливість фінансисту "ПЖ" з того робити якісь звіти/висновки, тому що іксель такого розміру робить боляче.

Що я думаю: скласти оці всі дані у SQLite (або постгрес, здається, що неважливо), і дати якийсь інтерфейс до них без sql'ю. Що я вже подивився:

• datasette: не потребує реєстрації, показує дані, замапити поле з датою у дату не хоче, пошук зробити не дає, якийсь графік дає змогу побудувати, але нічого не будує.
• metabase: показує дані, мапить дату в дату (бо в sqlite же ж немає типу поля date), досить легко відфільтрувати по стовпцю, будує графік, дає можливість зберігати звіти, але потребує реєстрації!
• nocodb, рекламується як airtable для твоєї БД. Ну це взагалі не туди, вони там формочки роблять, картинки у полях, це не про звіти і не про пошук.

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

Metabase насправді виглядає як непогане рішення для другого юзкейсу — засетапити аккаунти для всіх зацікавлених співробітників, трохи звикнути до інтерфейсу і можна робити купу справ. Але для звичайних людей зі сторони він занадто складний. Давайте свої ідеї, попитайте в знайомих, задача здається доволі очевидною, але нагуглити рішення чомусь не вдається.
👍14🤔4
AWS

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

Зробити скрипт, який закидує дані з цсв у постгрес у мене вийшло за день з невеличким. А ось потім щось пішло не так... Чомусь я вирішив замість простої схеми «осьо віртуальний сервер, там все запустили й поїхали», що треба якомога більше managed все мати, щоб потім це не підтримувати. Амазон же ж багато всього пропонує!

Значить вимальовується така схема: завантажуємо файли в S3, це триггерить Lambda, яка файл обробляє і складає в інший бакет, звідки його читає Athena через Glue, а показує дані QuickSight. Я зазвичай дотримуюсь правила «не більше однієї незнайомої технології на проєкт», але цей казався маленьким і гідним того, щоб зробити один раз надійно.

1️⃣ Lambda

Я тут задовбався, але може окремо напишу — в мене вийшло 5 абзаців, а в телеграмі є обмеження на довжину повідомлення. :( З цікавого в результаті: парсинг пайтоном ікселю на 7 мб на ноуті займає 7 секунд, на хецнері за 5 євро - 14, на лямбді - 40-50.

2️⃣ QuickSight

Зібрали дешборд на квіксайті, і виявилося що оновлення буде не дуже в реалтаймі. Ну типу можемо кілька разів на день оновлювати, але часто (або по триггеру з лямбди, що теж потенційно часто) - буде дорого. Ооок, але наче працює, давайте покажемо світу? Хрін там! Публічним квіксайт зробити неможливо!

3️⃣ Athena

У цей момент я психанув, зарентив ec2 і запхав туди метабейз. Для метабейзу є сторонній коннектор для Афіни, тож, думаю, зара буде все супер. Метабейз поїхав, побачив дані, їх схему, єєє, перемога. Зараз все буде.

Тільки дата, за якою я хочу мати фільтр, це строка, а не date чи timestamp. Тому Афіна каже "вибачте, для цього оператор >=" застосовувати неможливо. Окей, знайшов, що схема даних визначається у Glue, змінив на timestamp зі string, як справи? Помилка, каже, Hive таку дату розпарсити не може.

Тож зробив я додаткову колонку, date.timestamp() * 1000 — ну там же ж Хайв, він точно захоче міллісекунди (я такий здогадливий, це жах). Фух, запрацювало!

Повільно тільки... Ну ладно, Metabase вміє кешувати результати, тож у середньому може буде не сильно боляче. Ну і ще фільтрація чутлива до регістру, наче баг в метабейзі — але це можна обійти, переробив запроси на SQL замість конструювання в інтерфейсі.

4️⃣ S3

Ну все, залишилося тільки навчити замовника завантажувати файли в S3. А там теж інтерфейс мрії, купа кнопок, а ще неможливо зробити так, щоб користувач тільки 1 бакет бачив... Написав інструкцію, записав Loom з демкою, і в кінці навіть зідвонилися телефоном — і в неї білий екран замість прогрес-бару аплоаду. Я без дупля, що там за проблема, домовилися на наступний день у зумі подивитися.

Прокинувся зранку і закинув файл: наче все нормально, але трошки форматування цифр у коментарі не подобається. Ок, поправив скрипт, задеплоїв лямбду, закинув файл заново — і помітив, що в метабейзі дублюються дані.

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

5️⃣ Інтерфейси

Хочу звернути особливу увагу, що це ж все low-code, тобто гемор. Всі налаштування відбуваються у купі форм на купі сторінок, кожна з яких завантажується мінімум кілька секунд, щось змінити — все ж unbundled — це піти потикатися у три-чотири різних сервіси, а потім у термінал подивитися логи лямбди. Цикл фідбека довжиною у хвилини, просто нереально повільно рухаєшся.

6️⃣ Ми тут

Схоже шо перероблю на шось простіше з постгресом. Бо я хз, хто цим може нормально користуватися. Здається, що AWS тримає людей у заручниках і викликає стокгольмский синдром.
👍18🔥1
З початком війни у мене в голові гуляє купа думок з різних приводів — вочевидь, як і у вас. А ще таке неприємне відчуття, що мені критично не вистачає гуманітарної освіти, щоб ті думки нормально сформулювати. Можливо це все вже було розписано у дослідженнях, а можливо ще тільки буде — але мені треба десь висловитися, бо не дає спати.

Боротьба ця продовжується вже 800 років, з тої самої битви на Калці (це де Волноваха, до речі!). З великих подій потім, які змінювали хід історії, це напевно Битва на Ворсклі, Переяславські статті, Полтавська битва (знов Ворскла), може руйнування Січі (хз), захоплення УНР, і ось теперішня війна. Здається, що зараз Україна перший раз у більш-менш пристойному стані (з точки зору волі та єдності) з 14 сторіччя. Це капець, якщо подумати.

😖 Культурна різниця між нами та москалями — неймовірна. До мене це дуже довго доходило, бо я велику частину знань отримував з книжок — а які книжки були на полицях у 90-ті? БСЕ, БЕС, СДЕ (всі «С» - совєцький), і т.і. І хоча навіть після них та совєцьких підручників по історії я Московію недолюблював, але модель світу воно дає схиблену. Так щоб прям починати усвідомлювати — я це почав у 2009-му, коли сам поїхав туди та прозрівав з кількості агресії на вулицях людей один до одного. Касирка якось наорала на мене за те, що не вдавалося просканувати штрих-код. Але тільки ця війна показує справжню відстань. Орда — це не просто варвари, на жаль.

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

👹 Промивання мізків працює. Якщо почитати біографії німецької верхівки, вони всі там комсомольці (FDJ, Jusos, як не назови, а вуха стирчать), і це вочевидь залишає якийсь відбиток на свідомості й сприйнятті світу. Ну типу це ж моя молодість, не може Московія бути зовсім поганою, коли в мене були такі яскраві почуття і не боліла спина чи що там в них зараз болить. Людині загалом важко признатися собі, що 10 років юності витрачені на гниль впусту, тому й Московія якась туди-сюди. Як Тіль Ліндеман, який поїхав співати на параді (!) московитів. Ну каша в голові, бо юність засрали.

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

💡 А культура — це все. Дуже хотілося б почитати серйозні дослідження про те, які чинники впливають... особливо про нашу цікаво, а ще про те, чому сама войовнича нація Європи тепер такі сцикуни, га, Макрон? )) Люди при владі, стосунки у родинах і у суспільстві, взагалі все життя — це все культура.

⚡️ Прочитав тут ще думку, що в нас багато корупції через те, що ми у складі орди дуже довго пробули. Але коли читаєш за часи Руїни й там кожен сам собі щось тягне... мені віє корупцією та брехнею від того. Хоча, авжеж, людська пам'ять коротка і зараз (дивись вище), а тоді козаки, схоже, не уявляли собі, що московити — то не поляки, не татари та не турки. Шкода, що не розуміли цього.
👍5410🔥2👎1
Давайте спочатку історія, яку мені друг розповідав про свого прадіда. Жив він у Кам'янці-Подільському, який був до WW2 неподалік від кордона з Польщею — і був, власне, поляком. А тут хтось з сусідів у 30-ті роки йому шепнув, мовляв, бережись, здається етнічні чистки почалися — поляків вбивають. Як дізнатися, хто ти? По документах — які він спалив і таким чином залишився в живих. Здається, що достатня причина не любити совок, але до самої своєї смерті він лишався його прихильником.

В нас пів країни таких людей було, які страждали у тому потворному державоутворенні, а потім за ним же й сумували (а деякі і зара продовжують). Але де логіка?!

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

Коли вже країна стабілізувалася, заспокоїлася і призвичаїлася до своєї власної брехливості — типу у 70-80-ті — то стало трохи легше. А от у 40-50-ті — це ще є репресії, і ти не знаєш, хто з твоїх сусідів гб-шник.

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

І — опа — ідеальний громадянин Совка готовий. :(
👍18🤔3🤯1
А прикольно було б, якби замість російської та радянської теми називати регіони за центром, всі області були б типу Волинської та Закарпатської? Галицька, Буковинська, Поліська (яка з них, і що з іншими? :)), Подільська, Сіверська, Слобожанська... ну якось так приємніше звучить, більш людяно, ні? :)

Я розумію що то купа грошей, он Дніпропетровська і Кіровоградська області досі на місці, але ж фантазувати ніхто не заважає? :)
👍3513
На доу запостили анонс: зарелізили апку, яка намагається перевіряти, наскількі ймовірні зв'язки людини з чимось неприємним (типу москалів). Там вже в каментах напихують розробникам за те, що они намагаються сразу взяти планку "це для ЗСУ та тероборони", а якість тої перевірки дуже сумнівна.

І я згадав, як мене у середині 10-х тримали по 3-5 хвилин на кожному вильоті та прильоті на кордоні — я в якийсь момент почав питати, чому, і виявилося, що якийсь інший Олександр Соловйов чимось завинив. Вочевидь, нас таких багато, я особисто знав ще двох — і почав при затримці казати побатькові та показувати права, це значно прискорювало процес. Якось раз було смішно, прикордонниця собі під нос пробурмотіла "може брат чи шо" — з однаковим іменем і різним побатькові? 🤣

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

— Золовйов! Золовйов! — заволав у телефон посеред ночі прикордонник; але з тої сторони його явно не розуміли, і він вирішив перейти на ініціали, — Зиґфрід! Отто! Людвіґ!

Чувак дуже сердився, що нічого не виходить, і коли побачив як я з нього волаю, почав прямо червоніти, реально як в якійсь комедії, сховався за двері, і заволав Зиґфрід-Отто-Людвіґ ще дужче. 🤣

Я так розумію, що ніфіга не вийшло, і через кілька хвилин ору він віддав мені доки та й пішов собі кудись, а мені залишив на майбутнє три середні імені, щоб я себе відчував як Моцарт (Людвіґ правда це Бетховен, але в нього не було купи середніх імен). 😁
😁37👍5🔥3
В нашій культурі є певна проблема — її можна назвати хворобливим перфекціонізмом, або придиркуватістю, або може ще щось можна вигадати, але це точно хвороба всієї країни.

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

Пішов почитати коменти, думаю ну точно хтось доїбеться, так? Чувак пише: «ти там сказав the Ukraine, не треба так». Ну просто геній, пости не читаю @ в каментах сру. І через коротке обговорення: «зараз я спробую пояснити думку розгорнутіше». От реально хочеться тут «спершу зроби» використати, в мене просто згорів вихлоп повністю.

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

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

Тож давайте не будемо один одного за дрібниці зайобувати. Зупинимо придиркуватість разом!

P.S. Гарне слово видумав, га?)
👍526🔥6😁1
Брехливість

Я не знаю, чи завжди автократичні режими брехливі, але два найбільші у 20 сторіччі — совок/росія і китай — були і є враженими брехливістю неймовірно.

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

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

А от Росія це гівно жере сповна! І жерла усю історію, яку я можу зрозуміти. Що там зараз — ми бачимо на власні очі, увесь період застою вся країна підгоняла звіти під запити начальства, вся космічна програма була на соплях і виєбонах тільки щоб бути першими, під час правління Сталіна брехливі доноси та постійне життя у страху, а до того... Микола II з війною з Японією, яка так само відбувалася за повної впевненості (по звітах), що російська армія — ого-го!

Не знаю, чесно, що там було до Миколи, але щось здається мені, що ситуація була схожа. Top-down структура, яка орієнтована на задоволення начальства замість результату і на демонстрацію всім навколо блиску замість наведення порядку всередині.

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

P.S. Соррі, якщо я занадто вже очевидні речі пишу, але вони постійно спливають в розмовах, і потім крутяться у голові — а один раз напиши й голова заспокоюється. 😁
👍42👏1🎉1
RegExp

Позаминулого вересня я виступав на JS fwdays'20, яку зробили онлайн-конфою, і ми зробили там фінт вухами: мені Андрій Листочкин ставив питання від людей до мого докладу — бо самому собі задавати не дуже. Ну і навпаки, я ставив питання йому — і, власне, тому послухав його доповідь. Доповідь була про регулярні вирази, ну типу \d{4}-\w+, оце все, ну прямо лікнеп такий.

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

Чому взагалі це згадалося — останнім часом з купи напрямків якісь срачі за регулярки лізуть. І я, чесно кажучи, прозріваю. Бо регулярки це офігенний інструмент.

Я навчився регуляркам ще на першому курсі, майже 20 років тому, і відтоді юзав їх дуже ефективно тисячі разів. Життя програміста дуже часто пов'язане з текстом, і простір між "розділи по пробілу" та "пора вже писати справжній парсер" — величезний. Простір, у якому, власне, і сидять регулярки, бо іфи та цикли заплутають куди швидше невеликої регулярки. Це вже не кажучи про те, що "справжній парсер" зазвичай куди більше часу і коду відійме.

І регулярки є всюди. Перейменування файлів у Total Commander? Заміна тексту у редакторі? В Excel? Знайти необхідне посилання серед сотень інших в джаваскриптовій консолі? Вичепити з опису транзакції ім'я?

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

А дурна слава йде через те, що під час розквіту Perl'a забагато людей настільки звикли використовувати регулярки, що застосовували їх навіть там, де їм не місце. Звідти анекдот "в хлопчика була проблема, він вирішив заюзати регулярку і тепер в нього дві проблеми".

Моя думка з цього приводу така: доки ти не навчився використовувати їх корисно, ходити та пропагувати "ой ні регулярки то погано" — це святкування невігластва.
👍325🎉3🔥2
Ведмеді

Я таку штуку зранку зрозумів, не можу не поділитися. 🤣

Значить історія така: "ведмідь" — це ж евфемізм для назви звіра, типу як "косолапий" чи "вуйко", тільки більш рання. Це замінник табуйованої назви звіра ("того, кого не можна називати"), який сам став табуйованим. Я якось читав припущення, що до того слов'яни ведмедя називали "бер", як германські народи.

Але "бер" — це теж слово-замінник! Ну типу "бурий", так? А початкове індоєвропейське слово — це "арткос", що означає "руйнівник", яке в принципі непогано збереглося у греків у формі "арктос".

Це насправді прикол, так? Типу народ жив в лісах поруч з ведмедями й тому їх боявся дуже — і придумав для них евфемізм. Потім частина народу відселилася далі, і в них це слово збереглося, а ті, що лишилися — придумали новий евфемізм. І оце вже пішло на третій круг (це як мінімум, хаха).

Але розповісти хотів не про те — ми тут зранку жартували, що мож ведмеді з півночі приходили, з арктики? Тому й арктоси?

Ясно, що тут логіка працює у зворотню сторону! Полярна зоря, яка (грекам, на їх півдні) постійно вказує на північ, знаходиться у сузір'ї Малого Воза — або Малої Ведмедиці. Себто Арктика — це Ведмежатня. 😁 Що Вікіпедія теж каже, але чого б я туди про ведмедя пішов читати. :))

P.S. Цікаво, чи насправді слов'яне пройшли через два рівні словозамінників?..

P.P.S. А ще прикол про Арктойську країну — найпівнічніший край античної цивілізації.
👍10🤔5😁1
Звіт ПЖ

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

Давайте трохи про технічні подробиці. :) Складається вся історія з кількох компонентів: сервісу по обробці файлів з транзакціями з банків, постгресу, щоб ті дані зберігати, і метабейзу, щоб показати звіт з постгресу.

Постгрес — бо звичний, плюс даних (поки що?) не так багато, щоб перейматися іншими базами. Найскладніше — це пошук на ім'я (like '%x%'), на півмільйона рядків запит займає секунду. Точніше займав, я туди триграм-індекс тільки що додав, і все супер стало. Правда, це навантаження ніякого ще немає, тож подивимося ще. :) Я не заюзав амазонівський хостед постгрес з двох причин — бо задовбався з іншими їх сервісами, плюс вони там чаржать за кількість запитів, стрьомно.

Метабейз взагалі вдалий. Одразу дає і контроль доступів, і просту консоль до SQL, швидко змінити те, що там у звіті є і як виглядає. Трохи не вистачає можливостей по налаштуванню вигляду: хотілося б оті показники, де просто цифри, зробити ще меншими, але не можна... Одна претензія серйозна тільки: пошук підстроки на звіті виходить регістро-залежний, якщо запити на цьому звіті наклацані в інтерфейсі, а не написані руками. А з такими набагато зручніше працювати, тож поки що так. Тікет є і вже й pull request для нього є, тож може в наступному релізі виправлять.

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

Що там є цікавого:

• Супермаленька система шаблонів на жсі. :) Під задачу зайшла нормально, хоча може якби одразу твінспарк взяв, її б і не було...
• Намагався не тягнути зайвих залежностей, хоча від ліб для логгінгу на жвм нікуди не подінешся: без них тільки гірше. Зате роутінг в кілька рядків замість звичайних дуреп.
• В кложі 1.11 з‘явилася нова функція — iteration — і я її заюзав. Вона створена спеціально щоб поглинати апі з паджинацією і на фонді то спрацювало як задумано. Дуже зручно.
• Автоматизовано там власне тільки фонді, все інше завантажується ікселями, які сгенеровані в інтерфейсах банків. Якщо ви вже колись з Ощадом чи Приватом працювали, то розкажіть, може там вже не так і страшно і можна зробити буде.
• У банків дуже погано з унікальною ідентифікацією транзакцій і тому якісь upsert робити неможливо. Теперішня логіка в тому, що ми не отримуємо за день часткових даних. Зі вхідного файлу дані групуються по дню і замінюють цілі дні у БД. Тому можна вантажити дані як заманеться і не перейматися за дублікати чи нестачу даних.

Власне й все, ідіть подивіться, а я послідкую, чи не стане, бува, постгресу погано, чи ще щось. Ось вам скриншот фантастичного інтерфейсу наостанок. Я певен що такого польоту фантазії ви ще не бачили. 😁
🔥47👍41
За тиждень до війни ми записали новий випуск подкасту RTFJ і якось воно так і лежало собі без руху взагалі. Якось не на часі було і все таке. Але здається що сидіти на тому теж сенсу немає — і today is the day. :)

Гостем був Максим Гарнець, архітектор з Уклону (вони просувають бренд tech/uklon, щоб не було тупих жартів, але ж ви розумієте, про що річ), і випуск вийшов напрочуд цікавий. Крутий продукт — успішно конкурувати з Убером і Болтом з їх інвестиціями це точно складно, круті складові — у подкасті послухаєте. :)

Long story short:

YouTube 👉 https://bit.ly/3Kq52Aa
SoundCloud 👉 https://bit.ly/3vNIgN9
Apple Podcasts 👉 https://apple.co/3LpguNz
Google Podcasts 👉 https://bit.ly/3KpSlW3
👍19🔥1
Angst

У Рамштайна вийшов новий альбом, що для мене прям подія-подія. 😁 Це група, з якої я почав уважно слухати музику, а не пісню звідти, іншу звідти... Не знаю, чи це значить, що вона сформувала мій смак на музику, чи допомогла його знайти, але я досі їх слухаю, тож новий альбом це круто. Нажаль, в мене не вийшло його послухати в той самий день (чув би я сам себе 10 років тому...), але подивився новий кліп — Angst.

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

Короч кліп про те, що нас телевізор (в широкому сенсі, я так розумію) всіх роз'єднує і ми всі такі воюємо, хоча раніше жили так поруч один з одним. Ну не на часі якось, так?

Я розумію, що і пісня була написана рік-два тому, і кліп знімали ще у 21 році напевно, і група з іншої країни... Але і Тіль зашкварився на виступі на параді у Москві, і Германія в дивному становищі, і війна не як у 14 році, коли якийсь локальний конфлікт на околиці світу — а майже третя світова, як мінімум на порозі.

Короче, не в тему взагалі звертати увагу на цю пісню було, краще б відклали реліз того кліпу. А альбом я все одно послухаю, на щастя я німецьку не знаю і тому можу слухати їх пісні як у дитинстві — просто музику. 🎶
👍12🤔1