Ви питали — ми писали. 😁 Чи не питали, але як би там не було, в нас новий випуск 1-2-3 Techno, на цей раз із Всеволодом Соловйовим (не співпадіння). Початок вийшов технічний, а продовження зовсім ні, тому цікаво повинно бути кожному.
Ладно, ви й так знаєте, що я не по вступам, а по суті, тому просто йдіть та дивіться. :-)
Ладно, ви й так знаєте, що я не по вступам, а по суті, тому просто йдіть та дивіться. :-)
YouTube
«Elasticsearch — ненадійна скотиняка», виснажливі контракти з Єврокомісією та мілтек-проєкт в гаражі
Wix — міжнародна компанія, яка спеціалізується на створенні продуктів для побудови веб-сайтів та мобільних додатків і має мільйони користувачів по всьому світу — https://wix.com/
У восьмий випуск подкасту 1-2-3 Techno до нас завітав Всеволод Соловйов, CTO…
У восьмий випуск подкасту 1-2-3 Techno до нас завітав Всеволод Соловйов, CTO…
🔥48❤13💯2
Певен що ви чекали цього з нетерпінням, навіть якщо не знали. 😁 Новий випуск 1-2-3 Techno - з Максом Іщенко! Дивіться, поки гаряче! 😁
YouTube
Безкоштовні джуни, поклав каси Укрзалізниці та майже продав DOU | Макс Іщенко
У дев'ятому випуску подкасту 1-2-3 Techno поговорили з Максом Іщенком, засновником DOU.ua та Djinni.co, про розвиток проєктів та історії з минулого. Як на Djinni з'явилися безплатні найми, за скільки могли продати DOU та факап на залізничній касі у Львові.…
🔥65❤5
А давайте поговоримо за те, як Фейсбук продукує опенсорсні моделі, доки всілякі Опен-Ой-Веї беруть за них гроші? Є фантастична стаття Commoditize Your Complement, в якій з наочними прикладами добре пояснюється феномен комерційних компаній, які підтримують опенсорс. Це не альтруїзм в жодному разі, це спроба захистити себе від (майбутньої) конкуренції.
Виходить, що коли в тебе рахунок за сервіси OpenAI стає прям великим, ти подумаєш і підеш візьмеш відкриту модельку від Фейсбуку (від Мети, whatever) — і вийде, що основні свої гроші ти будеш і далі витрачати на рекламу, бо рекламних маркетплейси великих аж два (гугл та фейсбук) і подітися тобі нікуди. А новий ринок не виріс.
Додатковий плюс! Ти маєш змогу тримати в себе розробників, дослідників і науковців, які б в іншому випадку пішли покращувати OpenAI et al, або б взагалі заснували ще одну цікаву компанію.
І для фейсбука це фактично копійки — в них 135 млрд ревеню (і 88 млрд витрат) в минулому році версус 1.6 млрд (або 2, шось складне репортять) в OpenAI. Вони на прибуток можуть два десятки OpenAI’їв фінансувати і ще гроші залишаться.
Тож це не дурня, а стратегія!
Виходить, що коли в тебе рахунок за сервіси OpenAI стає прям великим, ти подумаєш і підеш візьмеш відкриту модельку від Фейсбуку (від Мети, whatever) — і вийде, що основні свої гроші ти будеш і далі витрачати на рекламу, бо рекламних маркетплейси великих аж два (гугл та фейсбук) і подітися тобі нікуди. А новий ринок не виріс.
Додатковий плюс! Ти маєш змогу тримати в себе розробників, дослідників і науковців, які б в іншому випадку пішли покращувати OpenAI et al, або б взагалі заснували ще одну цікаву компанію.
І для фейсбука це фактично копійки — в них 135 млрд ревеню (і 88 млрд витрат) в минулому році версус 1.6 млрд (або 2, шось складне репортять) в OpenAI. Вони на прибуток можуть два десятки OpenAI’їв фінансувати і ще гроші залишаться.
Тож це не дурня, а стратегія!
🤯22👍14❤5💯1
Wild podcast drops! До нас в подкаст завітав Рома Апостол, спів-засновник та CEO Mate Academy, а на дворі якраз майже обід і ви можете дивитися це взагалі без жодного докору сумління. Або з ними, яка різниця, випуск цікавіший навіть за розповіді Кацуріна та Птушкіна за їжу. 🤣
YouTube
Як працювати в Google, чому нові технології не завжди краще і чого не все потрібно оптимізувати
У десятому випуску подкасту 1-2-3 Techno поговорили з Романом Апостолом, CEO Mate academy про фейли при виборі технологій, чому Роман пішов з Google та як неправильно оптимізувати процеси.
📺 Роман Апостол — CEO та співзасновник EdTech-стартапу Mate academy.…
📺 Роман Апостол — CEO та співзасновник EdTech-стартапу Mate academy.…
🔥43❤2
Новий інтерфейс Монобанку
Увімкнув і користуюся вже кілька тижнів, і можу сказать, що він мені не подобається. Так, я терпів ці кілька тижнів і намагався звикнути. Я прекрасно знаю, що звичка — ворог змін, я в кожному новому редакторі дивуюся, коли
Але! Всі ті дії, які я робив часто, стало робити гірше, іноді значно:
• Відкриваєш глянуть виписку — натисни ще додатково на кнопку після відкриття
• Або потяни праворуч, але там мікс з кількох аккаунтів — і це працює тільки у верхній частині екрану!
• Хочеш докинуть грошей з ФОПа? Тягнися пальцем в самий верх екрану, туди, біля суми; так, треба перехопити пальцем
• Тупиш в екран чекаєш поки побачиш результати і хоч оновити? Вгадав, схопитися і потягнути можна тільки за наявну транзакцію. І тільки на верхньому екрані, бо якщо зайти в транзакції — цей рух просто закриє їх.
• Хоч подивитися, де скільки грошей (вибачте шо я такий мажор, що в мене більше 1 картки)? Скроль крізь кожну картку, більше нема екрана огляду всіх рахунків.
• Ще краще, ти хочеш дізнатися, що там з грошима на валютній картці ФОПу? Ооо, пацан, давай: натисни у верхньому лівому куточку, потім вибери “ФОП” в самому низу екрану, а потім ще поскроль (тільки у верхній частині екрану) до необхідної валютної картки (тут я реально радію, що в мене немає єврової ще додатково хехе).
Мені є з чим порівняти, це все ще краще, ніж інтерфейси інших банків, але вже не значно, вже починає рухатися в сторону того трешу, який царить у ПриватБанку: “як користувач, я бажаю бачити всі послуги банку на одному екрані та одночасно в дуже заплутаній ієрархії, щоби я міг втрачати свій час на розглядання інтерфейсу банку, а не на гнусні тіктоки”.
Що мені цікаво — чому вони не збирають фідбек у користувачів? Якщо перемкнутися в старий інтерфейс, нема питань “що сподобалося/що ні”, тільки висить здоровезний задовбуючий напис “перемкнися в новий інтерфейс!” Це хуцпа чи підсвідомий страх, що фідбек не буде загально-позитивним?
Якщо мене чому і навчило життя, так це тому, що екстремально рідко, навіть у дуже талановитих людей, повна зміна інтерфейсу виходить краще, аніж попередня версія. Значно більше шансів на успіх — хоч і важче, і довше — рухати інтерфейс частинами, мати кілька локальних революцій замість однієї глобальної. Локальну і прожувати легше, і виправити недоліки простіше, і відкотити можна без того, щоб всю команду загнати в депресію.
Дуже надіюся, що Монобанк зможе прожувати цю революцію і виправити хоч частинку цих юзкейсів, бо зараз відчуття від інтерфейсу, що його зробили не для користувачів, а для самої компанії.
Увімкнув і користуюся вже кілька тижнів, і можу сказать, що він мені не подобається. Так, я терпів ці кілька тижнів і намагався звикнути. Я прекрасно знаю, що звичка — ворог змін, я в кожному новому редакторі дивуюся, коли
C-a не переходить на початок рядку. 😁 Та дуже добре розумію їх аргументи — і краси хочеться, і оновлень, і місця додавати нові продукти та фічі немає (раніше дійсно іноді можна було заплутатися, коли шукав щось не дуже часте — а зараз під акаунтами наробили іконочек).Але! Всі ті дії, які я робив часто, стало робити гірше, іноді значно:
• Відкриваєш глянуть виписку — натисни ще додатково на кнопку після відкриття
• Або потяни праворуч, але там мікс з кількох аккаунтів — і це працює тільки у верхній частині екрану!
• Хочеш докинуть грошей з ФОПа? Тягнися пальцем в самий верх екрану, туди, біля суми; так, треба перехопити пальцем
• Тупиш в екран чекаєш поки побачиш результати і хоч оновити? Вгадав, схопитися і потягнути можна тільки за наявну транзакцію. І тільки на верхньому екрані, бо якщо зайти в транзакції — цей рух просто закриє їх.
• Хоч подивитися, де скільки грошей (вибачте шо я такий мажор, що в мене більше 1 картки)? Скроль крізь кожну картку, більше нема екрана огляду всіх рахунків.
• Ще краще, ти хочеш дізнатися, що там з грошима на валютній картці ФОПу? Ооо, пацан, давай: натисни у верхньому лівому куточку, потім вибери “ФОП” в самому низу екрану, а потім ще поскроль (тільки у верхній частині екрану) до необхідної валютної картки (тут я реально радію, що в мене немає єврової ще додатково хехе).
Мені є з чим порівняти, це все ще краще, ніж інтерфейси інших банків, але вже не значно, вже починає рухатися в сторону того трешу, який царить у ПриватБанку: “як користувач, я бажаю бачити всі послуги банку на одному екрані та одночасно в дуже заплутаній ієрархії, щоби я міг втрачати свій час на розглядання інтерфейсу банку, а не на гнусні тіктоки”.
Що мені цікаво — чому вони не збирають фідбек у користувачів? Якщо перемкнутися в старий інтерфейс, нема питань “що сподобалося/що ні”, тільки висить здоровезний задовбуючий напис “перемкнися в новий інтерфейс!” Це хуцпа чи підсвідомий страх, що фідбек не буде загально-позитивним?
Якщо мене чому і навчило життя, так це тому, що екстремально рідко, навіть у дуже талановитих людей, повна зміна інтерфейсу виходить краще, аніж попередня версія. Значно більше шансів на успіх — хоч і важче, і довше — рухати інтерфейс частинами, мати кілька локальних революцій замість однієї глобальної. Локальну і прожувати легше, і виправити недоліки простіше, і відкотити можна без того, щоб всю команду загнати в депресію.
Дуже надіюся, що Монобанк зможе прожувати цю революцію і виправити хоч частинку цих юзкейсів, бо зараз відчуття від інтерфейсу, що його зробили не для користувачів, а для самої компанії.
YouTube
все про новий дизайн monobank
В монобанку тепер новий дизайн і ви можете отримати його із останнім оновленням застосунку.
В цьому відео показую як це все тепер працює, що змінилось, яка в мене тепер нова улюблена фішка та як ми в принципі вирішились на редизайн.
Приємного перегляду…
В цьому відео показую як це все тепер працює, що змінилось, яка в мене тепер нова улюблена фішка та як ми в принципі вирішились на редизайн.
Приємного перегляду…
👍68💯32❤6🤯3🤝1
tabletki.ua
Стежите за історією, як за допомогою цілої постанови Кабміна їх намагаються вбити? Я трошки розібрався, що відбувається, і ситуація просто фантастика. Проєкт постанови (лінка на архів, бо авжеж державний сайт валяється) у пояснювальній записці каже:
Дуже розлого виражена думка, але суть така: окрім самої аптеки, більше ніхто публікувати ціни на ліки не може. Чому? Ну бо так “вдосконалюються вимоги” (це теж цитата з пояснювальної записки), ггг.
Тобто регуляції, мета яких — обмежити картельні зговори і загалом трохи обмежити “руку ринку” в дуже чутливому сегменті, раптом перетворюється на “заборонимо розповсюдження інформації”. Дуже хотілося б зрозуміти причини, бо зараз здається, що хтось намагається почати більше грошей заробляти.
Таблетки — вони ж як Хотлайн, це один зі стовпів комфортного життя по факту. 😁 І це ж не тільки про ціни загалом, а й про діскавері теж — я завдяки ним знаходив банальний парацетамол в момент істерики на початку ковіду, і всілякі інші дивні речі.
І з іншого боку — чому якийсь чиновник може зранку своєю соплею знищити абсолютно адекватний бізнес? Без жодних пояснень (“вдосконалюються вимоги” my ass), більше того — без жодних наслідків! Якщо чесно, хочеться не тільки відкочування постанови, а ще й покарань для авторів.
P.S. Петиція ось тут — і базово там голосів вже вистачає, але їх ніколи не забагато.
Стежите за історією, як за допомогою цілої постанови Кабміна їх намагаються вбити? Я трошки розібрався, що відбувається, і ситуація просто фантастика. Проєкт постанови (лінка на архів, бо авжеж державний сайт валяється) у пояснювальній записці каже:
Проєктом акту встановлюється, що розміщення пропозицій щодо продажу лікарських засобів за попереднім замовленням споживача може здійснювались виключно на вебсайті ліцензіата, що має право на здійснення електронної роздрібної торгівлі лікарськими засобами, а інформація про такий вебсайт внесена до Переліку суб’єктів господарювання, що мають право на здійснення електронної роздрібної торгівлі лікарськими засобами.
Дуже розлого виражена думка, але суть така: окрім самої аптеки, більше ніхто публікувати ціни на ліки не може. Чому? Ну бо так “вдосконалюються вимоги” (це теж цитата з пояснювальної записки), ггг.
Тобто регуляції, мета яких — обмежити картельні зговори і загалом трохи обмежити “руку ринку” в дуже чутливому сегменті, раптом перетворюється на “заборонимо розповсюдження інформації”. Дуже хотілося б зрозуміти причини, бо зараз здається, що хтось намагається почати більше грошей заробляти.
Таблетки — вони ж як Хотлайн, це один зі стовпів комфортного життя по факту. 😁 І це ж не тільки про ціни загалом, а й про діскавері теж — я завдяки ним знаходив банальний парацетамол в момент істерики на початку ковіду, і всілякі інші дивні речі.
І з іншого боку — чому якийсь чиновник може зранку своєю соплею знищити абсолютно адекватний бізнес? Без жодних пояснень (“вдосконалюються вимоги” my ass), більше того — без жодних наслідків! Якщо чесно, хочеться не тільки відкочування постанови, а ще й покарань для авторів.
P.S. Петиція ось тут — і базово там голосів вже вистачає, але їх ніколи не забагато.
🔥94🤯40👍26❤1🤝1
Дякуючи Насті ми перервали півроку суто пацанського 1-2-3 Техно, хехе. Біжіть дивитися випуск з нею. :)
YouTube
Про конференцію НАТО, баланс між зручністю і безпекою та необхідність планування | Анастасія Войтова
У десятому випуску подкасту 1-2-3 Techno поговорили з Анастасією Войтовою, Head of Security Engineering в Cossack Labs, про стандарти НАТО для data-protection, швидкий розвиток miltech рішень з безпеки та важливість обфускації. А ще Анастасія поділилась як…
🔥86❤7👍6🤝1
Apple PCC
Я тут розгриз блог-пост про епловський Private Cloud Compute, і, чесно кажучи, підхід до проблеми вражає. Якщо ви не в темі — Епл робить сервіс для свого Apple Intelligence (отут я ржу капець), і щоб все було дуже приватно і сек'юрно. Але ж якщо просто зробити сек’юрний та приватний сервіс, як це довести? Є кілька проблем з доведенням цього факту:
• Конфігурацію сервера складно верифікувати зовні
• Визначити, який софт відповідає в якості сервісу, складно
• Що робити з адмінами, які можуть все споганити?
Вони використовують купу рішень, і вже існуючих, і нових, для того, щоб це забезпечити. Напишу все списком, бо так багато, що в тексті я сам почав заплутуватися:
1. Сильно звужений ланцюжок постачальників, щоби влізти в нього було дорожче і це було легше поміти.
2. Кожен сервер перед закриванням фоткається з високою роздільністю.
3. Коли сервер прибуває в датацентр, “we perform extensive revalidation” перед встановленням.
4. Для завантаження використовується Secure Boot, який завантажує тільки підписаний софт.
5. Інсталяція софта залишає записи десь? Це я так зрозумів фразу “approved for that specific PCC node”.
6. Що цікавіше, використовується Secure Enclave — так само як в айфонах. Забезпечує сек’юрність і незмінність розділу, де зберігається ОС та моделі. Стежить, щоби завантажений код неможливо було змінити чи підмінити під час виконання. Забороняє JIT, щоб новий код не виникав сам по собі.
7. Операційна система — це власне обрізана iOS/macOS, зі значно зменшеною поверхнею для атаки: наприклад, там немає ні ssh, ні будь-яких інших засобів віддаленого керування.
8. Увесь (новий) код написан на Swift’і, щоби не було питань із безпекою доступу до пам’яті.
9. Під час кожного завантаження Secure Enclave генерує новий випадковий ключ для шифрування диску (на який попадають користувацькі дані) і не зберігає цей ключ нікуди. Таким чином можна бути певним, що після перезавантаження дані на диску прочитати буде неможливо.
10. Окрім цього, кожен процес виконується у sandbox’і, з увімкненим Pointer Authentication Codes — це система, яка заважає підмінювати адреси функцій і адреси повернення (тобто крек для фотошопу в такому середовищі не спрацює 😁).
11. Після виконання дані стираються, а пам’ять, яка використовувалася для їх обробки, періодично очищається — щоб не залишалося якихось обривків тих самих даних.
12. Очевидно, e2e шифрування зробити неможливо — бо сервісу потрібно мати доступ до власне даних. Але кожен запис шифрується публічними (верифікованими під час виконання айфоном) ключами ноди PCC — таким чином жодна прокся/балансувальник їх прочитати не можуть. [Це вони https описали чи шо? Трохи не вистачає порівнянь із загально прийнятими практиками]
13. Всі запити проходять через незалежну OHTTP проксю, щоби епловські ноди не знали, від кого цей запит.
14. Ключі, доречі, не одні на всіх — перед власне запитом клієнт отримує від балансувальника вказівку, куди робити запит. Балансувальник при тому нічого не знає ні про клієнта, ні про характер його запиту — тому не може направляти упереджено.
15. Нагадаю, немає ssh чи ще чогось типу RDP — підписування коду і Secure Enclave теж завадили би запуску зайвого коду, але інтерактивний шел давав би значно більшу поверхню для атак на систему.
16. Інструментарій для спостереження за системою теж дуже обмежений. Скажімо, логи, які покидають машину, задаються заздалегідь, і проходять кілька рівнів незалежного рев’ю для апруву — де стежать, щоби в них не попадали користувацькі дані.
17. Кожен реліз софта для PCC публічний! Бінарна збірка мається на увазі, не джерельний код.
18. Клієнти шифрують свої запити за допомогою тільки тих сертифікатів, наявність яких можна перевірити у спеціальному публічному реєстрі релізів PCC.
Доповнюйте, якщо щось забув (або формулювання невдале) — пост трохи перенасичений повторенням одного і того самого з різних боків, тому я вже почав губитися і не певен, чи все цікаве перерахував. Але, як я вже сказав, масштабність підходу вражає.
Я тут розгриз блог-пост про епловський Private Cloud Compute, і, чесно кажучи, підхід до проблеми вражає. Якщо ви не в темі — Епл робить сервіс для свого Apple Intelligence (отут я ржу капець), і щоб все було дуже приватно і сек'юрно. Але ж якщо просто зробити сек’юрний та приватний сервіс, як це довести? Є кілька проблем з доведенням цього факту:
• Конфігурацію сервера складно верифікувати зовні
• Визначити, який софт відповідає в якості сервісу, складно
• Що робити з адмінами, які можуть все споганити?
Вони використовують купу рішень, і вже існуючих, і нових, для того, щоб це забезпечити. Напишу все списком, бо так багато, що в тексті я сам почав заплутуватися:
1. Сильно звужений ланцюжок постачальників, щоби влізти в нього було дорожче і це було легше поміти.
2. Кожен сервер перед закриванням фоткається з високою роздільністю.
3. Коли сервер прибуває в датацентр, “we perform extensive revalidation” перед встановленням.
4. Для завантаження використовується Secure Boot, який завантажує тільки підписаний софт.
5. Інсталяція софта залишає записи десь? Це я так зрозумів фразу “approved for that specific PCC node”.
6. Що цікавіше, використовується Secure Enclave — так само як в айфонах. Забезпечує сек’юрність і незмінність розділу, де зберігається ОС та моделі. Стежить, щоби завантажений код неможливо було змінити чи підмінити під час виконання. Забороняє JIT, щоб новий код не виникав сам по собі.
7. Операційна система — це власне обрізана iOS/macOS, зі значно зменшеною поверхнею для атаки: наприклад, там немає ні ssh, ні будь-яких інших засобів віддаленого керування.
8. Увесь (новий) код написан на Swift’і, щоби не було питань із безпекою доступу до пам’яті.
9. Під час кожного завантаження Secure Enclave генерує новий випадковий ключ для шифрування диску (на який попадають користувацькі дані) і не зберігає цей ключ нікуди. Таким чином можна бути певним, що після перезавантаження дані на диску прочитати буде неможливо.
10. Окрім цього, кожен процес виконується у sandbox’і, з увімкненим Pointer Authentication Codes — це система, яка заважає підмінювати адреси функцій і адреси повернення (тобто крек для фотошопу в такому середовищі не спрацює 😁).
11. Після виконання дані стираються, а пам’ять, яка використовувалася для їх обробки, періодично очищається — щоб не залишалося якихось обривків тих самих даних.
12. Очевидно, e2e шифрування зробити неможливо — бо сервісу потрібно мати доступ до власне даних. Але кожен запис шифрується публічними (верифікованими під час виконання айфоном) ключами ноди PCC — таким чином жодна прокся/балансувальник їх прочитати не можуть. [Це вони https описали чи шо? Трохи не вистачає порівнянь із загально прийнятими практиками]
13. Всі запити проходять через незалежну OHTTP проксю, щоби епловські ноди не знали, від кого цей запит.
14. Ключі, доречі, не одні на всіх — перед власне запитом клієнт отримує від балансувальника вказівку, куди робити запит. Балансувальник при тому нічого не знає ні про клієнта, ні про характер його запиту — тому не може направляти упереджено.
15. Нагадаю, немає ssh чи ще чогось типу RDP — підписування коду і Secure Enclave теж завадили би запуску зайвого коду, але інтерактивний шел давав би значно більшу поверхню для атак на систему.
16. Інструментарій для спостереження за системою теж дуже обмежений. Скажімо, логи, які покидають машину, задаються заздалегідь, і проходять кілька рівнів незалежного рев’ю для апруву — де стежать, щоби в них не попадали користувацькі дані.
17. Кожен реліз софта для PCC публічний! Бінарна збірка мається на увазі, не джерельний код.
18. Клієнти шифрують свої запити за допомогою тільки тих сертифікатів, наявність яких можна перевірити у спеціальному публічному реєстрі релізів PCC.
Доповнюйте, якщо щось забув (або формулювання невдале) — пост трохи перенасичений повторенням одного і того самого з різних боків, тому я вже почав губитися і не певен, чи все цікаве перерахував. Але, як я вже сказав, масштабність підходу вражає.
🔥39❤12👍10
Як ви там, чекали новий випуск 1-2-3 Techno? 😁 Дмитро дуже крутий чувак, вражає сфокусованістю і різноплановістю, тому і поговорити цікаво було. :)
YouTube
Про культуру передачі знань, українську мову, Elasticsearch та мотивацію | Дмитро Чаплинський
У дванадцятому випуску подкасту 1-2-3 Techno поговорили з Дмитром Чаплинським про культуру передачі знань в стартапах та великих компаніях, пошук мотивації, правильне делегування та вихід за межі стандартних рішень.
🙏 Збір на 95 ДШВ — https://payment-pa…
🙏 Збір на 95 ДШВ — https://payment-pa…
🔥48❤10💯1
А давайте обговоримо CrowdStrike? 😁
Коротка версія того що сталося: купа бізнесів у всьому світу півтори тижні тому перестала працювати через BSoD, через софт для ідентифікації зламів! CrowdStrike, який працює як драйвер, на рівні ядра, викачав чергове оновлення баз, і почав на цьому здихати. В принципі, вони могли й сам драйвер так само оновлювати — нічого не вказує на те, що це було б чимось краще. :)
Найгірше те, що для спасіння кожен комп’ютер треба перегрузити руками у safe mode, і видалити
Ну й тут є два цікавих вектори: перший очевидний, про технології — в тебе така величезна відповідальність, а оновлення розкатуються одразу по всіх? Клауд Метабейза, малюсенької компанії в не-business-critical індустрії, і той обережніше оновлюють (протягом 3 днів). Тестування нікуди не годиться теж, як провтик такого левела (це ж не 1% користувачів постраждав) взагалі міг релізнутися? Дуже свіжа атака була, да? Добре, а чому взагалі код читання має таку дитячу помилку? Ниття про п’ятницю, доречі, нерелевантне, бо проблема почалася у четвер навіть по часу Каліфорнії.
Короче технічно це лажа на такій кількості рівнів, що боляче дивитися. Cybersecurity my ass, тупо якийсь гербалайф.
Але погляд з іншої сторони мені взагалі не подобається. Майже всі постраждавші бізнеси — з регульованих індустрій: авіаперевезення, фінанси, лікарні тощо. Фактично КраудСтрайк монополіст (виглядає так, я не знаю) цього ринку — простіше заплатити їм гроші, аніж доказувати регулятору, що ти не ішак. Це як з AWS і PCI-DSS — сертифікатор ставить галочку, якщо ти в AWS, або доказуй, що в тебе достатня захищенність.
Так от, в нас є монополія, від гербалайфу — компанії, яка не дуже може довести свою корисність (тобто отримати користувачів від нерегульованих індустрій). CEO цієї компанії відомий тим, що в час його бутності CTO McAfee вони випустили апдейт, який одномоментно вбив більше компів з Windows XP, ніж будь-який вірус. 🤣 Апдейт вилітає централізовано, абсолютно без будь-яких перевірок, і вбиває бізнес-активність величезної частки економіки більше аніж на день (моєму колезі відмінили суботній рейс через краудстрайк)…
Я тут навіть не намагаюся піти у конспірологію! Знаєте як вмерли всі цивілізації бронзової епохи? Вони працювали трохи як комунізм: централізовані палаци, куди стікалися всі добутки цивілізації (їжа, горщики, зброя, що там ще) — і потім розподілялися по людях. Без грошей, ринку тощо, і, здається, доволі непогано працювали. Аж допоки збіг критичних обставин — посуха, виснаження землі, зростання населення тощо — не призвели до загального колапсу дуже вже складної централізованної системи. Це була катастрофа гірша за розвал Західної Римської імперії.
Так от, CrowdStrike мені здається як ластівка можливих проблем. Дуже централізована система, мінімальна криза — і загальний колапс на два дні. Я не пропоную авіалініям перемикаться на використання блокчейна швиденько, але, здається, якусь адекватну реакцію побачити було б непогано.
Бо на сам CrowdStrike надії мало. Він за участь у рішенні проблеми своїм співробітникам і партнерам видав ваучери на $10 на UberEats. 🤣
Коротка версія того що сталося: купа бізнесів у всьому світу півтори тижні тому перестала працювати через BSoD, через софт для ідентифікації зламів! CrowdStrike, який працює як драйвер, на рівні ядра, викачав чергове оновлення баз, і почав на цьому здихати. В принципі, вони могли й сам драйвер так само оновлювати — нічого не вказує на те, що це було б чимось краще. :)
Найгірше те, що для спасіння кожен комп’ютер треба перегрузити руками у safe mode, і видалити
.sys-файл. Фізичний доступ потрібен, короче, компанії з контракторами з Індії трошки в паніці. 😁Ну й тут є два цікавих вектори: перший очевидний, про технології — в тебе така величезна відповідальність, а оновлення розкатуються одразу по всіх? Клауд Метабейза, малюсенької компанії в не-business-critical індустрії, і той обережніше оновлюють (протягом 3 днів). Тестування нікуди не годиться теж, як провтик такого левела (це ж не 1% користувачів постраждав) взагалі міг релізнутися? Дуже свіжа атака була, да? Добре, а чому взагалі код читання має таку дитячу помилку? Ниття про п’ятницю, доречі, нерелевантне, бо проблема почалася у четвер навіть по часу Каліфорнії.
Короче технічно це лажа на такій кількості рівнів, що боляче дивитися. Cybersecurity my ass, тупо якийсь гербалайф.
Але погляд з іншої сторони мені взагалі не подобається. Майже всі постраждавші бізнеси — з регульованих індустрій: авіаперевезення, фінанси, лікарні тощо. Фактично КраудСтрайк монополіст (виглядає так, я не знаю) цього ринку — простіше заплатити їм гроші, аніж доказувати регулятору, що ти не ішак. Це як з AWS і PCI-DSS — сертифікатор ставить галочку, якщо ти в AWS, або доказуй, що в тебе достатня захищенність.
Так от, в нас є монополія, від гербалайфу — компанії, яка не дуже може довести свою корисність (тобто отримати користувачів від нерегульованих індустрій). CEO цієї компанії відомий тим, що в час його бутності CTO McAfee вони випустили апдейт, який одномоментно вбив більше компів з Windows XP, ніж будь-який вірус. 🤣 Апдейт вилітає централізовано, абсолютно без будь-яких перевірок, і вбиває бізнес-активність величезної частки економіки більше аніж на день (моєму колезі відмінили суботній рейс через краудстрайк)…
Я тут навіть не намагаюся піти у конспірологію! Знаєте як вмерли всі цивілізації бронзової епохи? Вони працювали трохи як комунізм: централізовані палаци, куди стікалися всі добутки цивілізації (їжа, горщики, зброя, що там ще) — і потім розподілялися по людях. Без грошей, ринку тощо, і, здається, доволі непогано працювали. Аж допоки збіг критичних обставин — посуха, виснаження землі, зростання населення тощо — не призвели до загального колапсу дуже вже складної централізованної системи. Це була катастрофа гірша за розвал Західної Римської імперії.
Так от, CrowdStrike мені здається як ластівка можливих проблем. Дуже централізована система, мінімальна криза — і загальний колапс на два дні. Я не пропоную авіалініям перемикаться на використання блокчейна швиденько, але, здається, якусь адекватну реакцію побачити було б непогано.
Бо на сам CrowdStrike надії мало. Він за участь у рішенні проблеми своїм співробітникам і партнерам видав ваучери на $10 на UberEats. 🤣
🔥39🤯10👍8❤6😁5
Я тільки що дізнався про змагання перших речень на честь Едуарда Булвера-Літтона, в якого в одному з творів було доволі абсурдне власне перше речення. Якщо чесно, може я до кінця не вловлюю абсурдності власне його речення, але переможці конкурсу абсолютно дикі:
або
Там ще купа кайфових є, навіть трохи шкода, що на конкурс пишуть тільки перше речення, хочеться продовження. 😁
Cassie smiled as she clenched John's hand on the edge of an abandoned pier while the sun set gracefully over the water, and as the final rays of light disappeared into a star-filled sky she knew that there was only one thing left to do to finish off this wonderful evening, which was to throw his severed appendage into the ocean's depths so it could never be found again--and maybe get some custard after.
або
I knew she was trouble the second she walked into my 24-hour deli, laundromat, and detective agency, and after dropping a load of unmentionables in one of the heavy-duty machines (a mistake that would soon turn deadly) she turned to me, asking for two things: find her missing husband and make her a salami on rye with spicy mustard, breaking into tears when I told her I couldn't help—I was fresh out of salami.
Там ще купа кайфових є, навіть трохи шкода, що на конкурс пишуть тільки перше речення, хочеться продовження. 😁
Bad Writing Contest
Winning Entries | The Bulwer Lytton Fiction Contest
Find all the winning entries for the Bulwer Lytton Fiction Contest
😁24👍3🔥3💯1
У Stack Overflow вийшов звіт по їх щорічному опиту розробників, і українські розробники на 5 місці по кількості відповідей. Зрозуміло, що це більшою частиною про активність, а не тільки кількість - але ж це і є круто! :)
👍68🔥24❤6
Додивився подкаст Марка Андрісена і Бена Горовіца про створення графічного браузера (Mosaic, а потім Netscape) — я в принципі непогано знаю цю історію загалом, але деталі прям ну дуже цікаві, рекомендую. :) Але кілька моментів ретроспективно взагалі не очевидні.
Всі браузери на початку, в тому числі і перший, Тіма Бернерса-Лі (хоч і був створений на NeXTcube — який коштував $8k, тобто $19k в сучасних грошах), були текстовими: комп’ютери повільні, доступ в інтернет і того повільніший. Марк в той же момент працював в NCSA, де суперкомп’ютери і робочі станції SGI ($50k+ в грошах 92 року), і який був одним з головних вузлів інтернету — і там здавалося, що все стане швидким і графічним, і тому вони могли ментально собі дозволити робити графічний браузер. Я інтернет вперше побачив в середині 90-х, і це був IE 3, і тому lynx (який з’явився ще у 92, тобто до Мозаїки) здавався своєрідним жартом. 😁
Після універу — де створення браузеру було причиною прогулювати пари — Марк, як і всі нормальні люди, знайшов собі роботу і пішов програмувати. :) Знайшов, додавши оголошення, що шукає роботу, в About Мозаїки. 🤣 Трохи пізніше завдяки цьому оголошенню його познайомили з Джимом Кларком — якого якраз видавили із SGI. А Джим, я так думаю, шукав, як би вже купити яхту. 😁
Ідея створити комерційний браузер взагалі не була очевидною. Вони (Джим та Марк) спочатку рахували онлайн відео, потім думали зробити онлайн-сервіс для Нінтендо, потім ще якусь хрінь. Тобто думали над прикладними речами, не над інфраструктурою — але воно вочевидь не складалося, бо інфраструктура ще не була готова.
MSIE почався як ліцензія браузера компанії Spyglass, який, в свою чергу, почався як ліцензія NCSA Mosaic. Марк в подкасті кілька разів згадує відкритість Мозаїки, але це ж початок 90-х, опенсорс ще не дуже розвинений був, тому насправді це була пропрієтарна програма з опублікованим кодом. Вікіпедія ще каже, що Spyglass написали все з нуля, бо Мозаїку писали дикі студенти, її версії для різних ОС мали різний код і не завжди були сумісні, і взагалі. :)
Короч, цікава історія, все могло піти зовсім не тим шляхом.
Всі браузери на початку, в тому числі і перший, Тіма Бернерса-Лі (хоч і був створений на NeXTcube — який коштував $8k, тобто $19k в сучасних грошах), були текстовими: комп’ютери повільні, доступ в інтернет і того повільніший. Марк в той же момент працював в NCSA, де суперкомп’ютери і робочі станції SGI ($50k+ в грошах 92 року), і який був одним з головних вузлів інтернету — і там здавалося, що все стане швидким і графічним, і тому вони могли ментально собі дозволити робити графічний браузер. Я інтернет вперше побачив в середині 90-х, і це був IE 3, і тому lynx (який з’явився ще у 92, тобто до Мозаїки) здавався своєрідним жартом. 😁
Після універу — де створення браузеру було причиною прогулювати пари — Марк, як і всі нормальні люди, знайшов собі роботу і пішов програмувати. :) Знайшов, додавши оголошення, що шукає роботу, в About Мозаїки. 🤣 Трохи пізніше завдяки цьому оголошенню його познайомили з Джимом Кларком — якого якраз видавили із SGI. А Джим, я так думаю, шукав, як би вже купити яхту. 😁
Ідея створити комерційний браузер взагалі не була очевидною. Вони (Джим та Марк) спочатку рахували онлайн відео, потім думали зробити онлайн-сервіс для Нінтендо, потім ще якусь хрінь. Тобто думали над прикладними речами, не над інфраструктурою — але воно вочевидь не складалося, бо інфраструктура ще не була готова.
MSIE почався як ліцензія браузера компанії Spyglass, який, в свою чергу, почався як ліцензія NCSA Mosaic. Марк в подкасті кілька разів згадує відкритість Мозаїки, але це ж початок 90-х, опенсорс ще не дуже розвинений був, тому насправді це була пропрієтарна програма з опублікованим кодом. Вікіпедія ще каже, що Spyglass написали все з нуля, бо Мозаїку писали дикі студенти, її версії для різних ОС мали різний код і не завжди були сумісні, і взагалі. :)
Короч, цікава історія, все могло піти зовсім не тим шляхом.
🔥35👍12❤5💯1
Не можу перестати думати за статтю “The best, worst codebase” — вона починається як звичайна розповідь людини, яка попала в страшнющу, але живу і прибуткову, кодову базу: скінчилися колонки в таблиці, якийсь там календар, який заповнюють руками інтерни, ну кароч, читати дуже смішно. :)
Але одна думка зачепила мене дуже, процитую:
Типу незрозуміла кодова база призвела до того, що вони всі релевантні шматочки розвели і колупалися в них, і працювали в них фактично індивідуально — через це менше синхронізації, переживань про майбутні покоління і як результат продуктивність.
З іншого боку, недавно тут слухав історії, як великі українські компанії використовують Node-RED як платформу для автоматизації бізнесу, і це ж трохи схожий кейс, де ти кожен крок та/або кожен бізнес-процес можеш сидіти вилизувати скіки завгодно не пересікаючись із іншими людьми взагалі.
Aside: Node-RED, n8n та інші схожі продукти (якщо у вас є улюблений — розкажіть, чому, в коментах) — це коли окремо пишеш шматочки коду, а окремо потім, у візуальному інтерфейсі, будуєш із них ланцюжок, який і робить якийсь бізнес-процес. Воно почалося як спосіб автоматизації IoT, бо там багато маленьких непов’язаних процесів, але ось, як бачимо, область використання розростається.
Так от, про що я думаю — наскільки це живий підхід? Які взагалі проблеми? Дуже б цікаво було послухать людину, яка будувала велику систему із таких наносервісів — що вдалося перемогти, а що ні? Бо ця думка про “будуй собі окремо частинку будинка” дуже привабливо звучить, очевидно швидкість незалежної від інших людини може бути неймовірною.
Плюс, здається, що у ніші автоматизації бізнесу — умовно 1C — UI можна стандартизувати і зробити автогенерованим, щоб не треба були окремі фронтендщики.
Кароооч, давайте свій досвід або хоча б роздуми на тему. :)
Але одна думка зачепила мене дуже, процитую:
But it was remarkably enjoyable to work in. Gone were the concerns of code duplication. Gone were the concerns of consistency. Gone were the concerns of extensibility. Code was written to serve a use, to touch as little of the area around it as possible, and to be easily replaceable. Our code was decoupled, because coupling it was simply harder.
Типу незрозуміла кодова база призвела до того, що вони всі релевантні шматочки розвели і колупалися в них, і працювали в них фактично індивідуально — через це менше синхронізації, переживань про майбутні покоління і як результат продуктивність.
З іншого боку, недавно тут слухав історії, як великі українські компанії використовують Node-RED як платформу для автоматизації бізнесу, і це ж трохи схожий кейс, де ти кожен крок та/або кожен бізнес-процес можеш сидіти вилизувати скіки завгодно не пересікаючись із іншими людьми взагалі.
Aside: Node-RED, n8n та інші схожі продукти (якщо у вас є улюблений — розкажіть, чому, в коментах) — це коли окремо пишеш шматочки коду, а окремо потім, у візуальному інтерфейсі, будуєш із них ланцюжок, який і робить якийсь бізнес-процес. Воно почалося як спосіб автоматизації IoT, бо там багато маленьких непов’язаних процесів, але ось, як бачимо, область використання розростається.
Так от, про що я думаю — наскільки це живий підхід? Які взагалі проблеми? Дуже б цікаво було послухать людину, яка будувала велику систему із таких наносервісів — що вдалося перемогти, а що ні? Бо ця думка про “будуй собі окремо частинку будинка” дуже привабливо звучить, очевидно швидкість незалежної від інших людини може бути неймовірною.
Плюс, здається, що у ніші автоматизації бізнесу — умовно 1C — UI можна стандартизувати і зробити автогенерованим, щоб не треба були окремі фронтендщики.
Кароооч, давайте свій досвід або хоча б роздуми на тему. :)
🔥23🤯9👍5❤2💯1
Оу, завтикав вчора написати, але ж новий випуск 1-2-3 Techno, з Юрою Ткаченко! Трохи про те, як технарі прозрівають з того що реальний світ працює ще менш надійно, аніж компи, трохи про нормальні технічні теми, не буду спойлити. 😁
YouTube
Про технічні конференції, хайп навколо ШІ та концерт Rammstein | Юра Ткаченко, WIX
У новому випуску подкасту 1-2-3 Techno поговорили з Юрою Ткаченко про фейли в організації технічних конференцій, впровадження інструментів пов'язаних зі штучним інтелектом, важливість правильних формулювань у помилках і як Саня з'їздив на концерт Rammstein…
🔥35👍5
Лок-файли (
Не логічно тільки те, що він існує. Чому жаба змогла 20 років назад просто написати версії в
Ладно
P.S. Всіх хто не вважає що існування лок-файлу — тупня, оголошую носіями стокгольмського синдрому. 😁
yarn.lock, poetry.lock тощо) виглядають такою зайвою ідеєю, просто не можу змиритися з їх існуванням. Треба оновити пакет, редагую package.json, пишу туди ”@slack/web-api”: “^6.12.1”, відправляю на CI, все здихає. Здихає, авжеж, бо там yarn --frozen-lockfile використовується, тобто типу “не оновлюй локфайл під час CI”. Логічно, логічно.Не логічно тільки те, що він існує. Чому жаба змогла 20 років назад просто написати версії в
pom.xml, а всі інші не змогли і тепер придумують файли з версіями залежностей поруч з файлом з приблизними версіями залежностей? Всі ці системи (жс, пайтон, го як мінімум) з’явилися після Мавена, що їм заважало просто вивчити prior art?Ладно
.deb стрьомний всередині, так він перший був, фактично — і RPM вже значно простіший, об’єктивно: вочевидь люди вчилися одне в одного. А з системами залежностей в програмувані якийсь кошмар. Не знаю, чи новий підхід до пайтона (маю на увазі uv etc) виправить ситуацію, бо вона найгірша з усіх… але не заздрю всім користувачам поцоватих рішень (десятиріччями поцоватих, доречі, ось що вражає).P.S. Всіх хто не вважає що існування лок-файлу — тупня, оголошую носіями стокгольмського синдрому. 😁
💯48👍12😁12
Прочитав кльову статтю про величезні преси, супер-цікаво. Історія про те, як німцям прийшлося робити преси на 20000 тон тиску і більше, через це в них були кращі можливості будувати літачки. А коли США після війни витратили майже 4 млрд доларів (в теперішніх грошах) на програму по їх побудові, вони одразу окупилися на здешевінні при виробництві B-52.
Більше того, пишуть, що якби не такі неймовірні преси (а вони висотою по кілька десятків метрів), то літаків із баками в крилах просто фізично не було б.
А тема продовжилася, коли Тесла замість збирання підрамників побудувала собі гіга-машину для відливання цілого підрамника за раз — економлячі на цьому купу грошей.
Короч, цікава стаття. І змушує в черговий раз задуматися, як же ж заплетена (будь-яка) індустрія — уряд (ну, військові) США ледве вмовив компанії будувати ці преси, бо боялися, що не буде достатньо попиту.
Більше того, пишуть, що якби не такі неймовірні преси (а вони висотою по кілька десятків метрів), то літаків із баками в крилах просто фізично не було б.
А тема продовжилася, коли Тесла замість збирання підрамників побудувала собі гіга-машину для відливання цілого підрамника за раз — економлячі на цьому купу грошей.
Короч, цікава стаття. І змушує в черговий раз задуматися, як же ж заплетена (будь-яка) індустрія — уряд (ну, військові) США ледве вмовив компанії будувати ці преси, бо боялися, що не буде достатньо попиту.
🔥43👍12❤1💯1
Забувсі написать, але я тут сходив на подкаст fwdays! Теми відносно для мене звичайні, мікросервіси/моноліти, AWS vs залізо, я думаю що мою думку ви всі знаєте, але обговорення вийшло непоганим. :)
P.S. Куди б ще сходити? Покличьте мене! 😁
P.S. Куди б ще сходити? Покличьте мене! 😁
YouTube
Яка архітектура краще? | Своє залізо чи Cloud провайдери? | Кейси використання OpenAI
Зустрічайте другий випуск Fwdays CTO Talks у форматі «Дебати» разом ведучим Єгором Герасимчуком!
Наші гості - Дмитро Меньшиков, CTO BETER, та Олександр Соловйов, Senior розробник в Metabase, ex CTO Kasta
Про відкриті вакансії у компанії Дмитра писати в:…
Наші гості - Дмитро Меньшиков, CTO BETER, та Олександр Соловйов, Senior розробник в Metabase, ex CTO Kasta
Про відкриті вакансії у компанії Дмитра писати в:…
👍54🔥9❤2
Premature Optimization
Ця цитата мене дратує вже десятиріччями, бо її використовують як “виняток підтверджує правило” — не розуміючи оригінальної думки. Повна цитата (по лінку — повна стаття) звучить так:
Small efficiencies, comprendo, amigos? Питання не про перформанс, а про мікро-оптимізації, бо вони дуже пов’язують код, зроблять тобі big hairy mess. Вся ідея в тому, що потурбуйся спочатку про алгоритм, про архітектуру, щоб вона була вдала — а потім будеш займатися оптимізаціями.
Тобто дядько Кнут, до якого посилаються всі люди, яким впадляк очехлитися, як не писати код з N+1, буквально прямо казав — спочатку зроби нормальний алгоритм. О(1) зроби замість О(N), будь ласка, так?
Хороший приклад (кльово шо співробітники не україномовні 🤣): в Метабейзі вирішили зробити зберігання вибраних фільтрів на дешборді для кожного користувача окремо. Технічну доку про це написав фронтендщик, якому очевидно впадляк було щось робити, і він спланував, що зберігання повинно відбуватися під час виконання запиту карточки.
Але на 1 дешборді може бути з 20 карточок, і кожна з них зберігає фільтри. Ще краще, що чувак, який на бекенді це зробив, зробив цикл зі зберігання кожного фільтра. В тебе 10 фільтрів? Вітаю, це 10 запитів в базу.
І ладно б нормально написать було довше, аніж оцю херню зробить, так ні ж, взагалі ні. 1 додатковий новий дуже простий API vs ковиряння у дуже стрьомному місці… Я навіть не знаю, що з цього швидше було б зробити. Так само і N+1, зробити без зайвої сотні запитів при написанні коду — коштує рівно стільки ж часу, але от при пошуку і виправленні в залежності від того які шмарклі піднакопичилися може з’їсти пару днів.
Кайф, що дізнався я (ну й всі інші) про це, бо великі кастомери почали попадати в deadlock’и. Ми, авжеж, зробимо postmortem, і я там теж збираюся виступити з промовою, що адекватна архітектура і увага до перформансу — це взагалі не передчасна оптимізація.
Але і вам шось захотілося розповісти, бо для того щоб шльопати говнокод вже є О1 та Клавдій, а хороший програміст одразу думає про наслідки.
Ця цитата мене дратує вже десятиріччями, бо її використовують як “виняток підтверджує правило” — не розуміючи оригінальної думки. Повна цитата (по лінку — повна стаття) звучить так:
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Small efficiencies, comprendo, amigos? Питання не про перформанс, а про мікро-оптимізації, бо вони дуже пов’язують код, зроблять тобі big hairy mess. Вся ідея в тому, що потурбуйся спочатку про алгоритм, про архітектуру, щоб вона була вдала — а потім будеш займатися оптимізаціями.
Тобто дядько Кнут, до якого посилаються всі люди, яким впадляк очехлитися, як не писати код з N+1, буквально прямо казав — спочатку зроби нормальний алгоритм. О(1) зроби замість О(N), будь ласка, так?
Хороший приклад (кльово шо співробітники не україномовні 🤣): в Метабейзі вирішили зробити зберігання вибраних фільтрів на дешборді для кожного користувача окремо. Технічну доку про це написав фронтендщик, якому очевидно впадляк було щось робити, і він спланував, що зберігання повинно відбуватися під час виконання запиту карточки.
Але на 1 дешборді може бути з 20 карточок, і кожна з них зберігає фільтри. Ще краще, що чувак, який на бекенді це зробив, зробив цикл зі зберігання кожного фільтра. В тебе 10 фільтрів? Вітаю, це 10 запитів в базу.
І ладно б нормально написать було довше, аніж оцю херню зробить, так ні ж, взагалі ні. 1 додатковий новий дуже простий API vs ковиряння у дуже стрьомному місці… Я навіть не знаю, що з цього швидше було б зробити. Так само і N+1, зробити без зайвої сотні запитів при написанні коду — коштує рівно стільки ж часу, але от при пошуку і виправленні в залежності від того які шмарклі піднакопичилися може з’їсти пару днів.
Кайф, що дізнався я (ну й всі інші) про це, бо великі кастомери почали попадати в deadlock’и. Ми, авжеж, зробимо postmortem, і я там теж збираюся виступити з промовою, що адекватна архітектура і увага до перформансу — це взагалі не передчасна оптимізація.
Але і вам шось захотілося розповісти, бо для того щоб шльопати говнокод вже є О1 та Клавдій, а хороший програміст одразу думає про наслідки.
❤63👍37🔥5💯2😁1
Дірява телега
Телеграм ламають як дурний. Приходить тобі лінка від когось з контактів “проголосуй за мою донечку” чи ще якась лабудень, клацаєш — і в тебе крадуть аккаунт. Викидають всі твої сесії, і навіть якщо ти логінишся з підтвердженням телефону — телеграм вважає, що сессія нова і не дає викинути взломщиків. А вони через секунду-другу, схоже, в циклі перевіряють, які є сесії, і викидають тебе. Дочекатися поки твоя сессія “подорослішає” не виходить.
А через кілька днів, напевно коли вони всім твоїм контактам відправлять спаму, вони забивають на цей акаунт, то можна залогінитися, дочекатися “дорослішання” і викинуть їх сесію.
Фантастичний юзкейс, правда? Телеграм, очевидно, робить з цим абсолютно нічого — сапорта ніякого нема, зробити нічого не можливо, твій акаунт не твій і взагалі йди в дупу. Встановлення пароля, я так розумію, допомагає від цього, але хто з людей, які клацають на раптову “проголосуй” його встановив?.. Хоча я оце думаю, що я б на якийсь bitly без передперегляду і з описом “блін, заціни шо постгрес творить” і сам би натиснув без проблем 🤣
Що в цій всій історії цікаво — це власне як вони акаунт крадуть? Я не розумію, яким чином натиснення на посилання дозволяє забрати акаунт в телеграмі? Ну це якось тупо, що це взагалі можливо? Візьміть може та й закрийте цю діру?
Ладно б це було щось супер-нове, так ні ж, кілька місяців вже відбувається. Пане Павєл, ну що за бардак у вас тут? 🙄
Телеграм ламають як дурний. Приходить тобі лінка від когось з контактів “проголосуй за мою донечку” чи ще якась лабудень, клацаєш — і в тебе крадуть аккаунт. Викидають всі твої сесії, і навіть якщо ти логінишся з підтвердженням телефону — телеграм вважає, що сессія нова і не дає викинути взломщиків. А вони через секунду-другу, схоже, в циклі перевіряють, які є сесії, і викидають тебе. Дочекатися поки твоя сессія “подорослішає” не виходить.
А через кілька днів, напевно коли вони всім твоїм контактам відправлять спаму, вони забивають на цей акаунт, то можна залогінитися, дочекатися “дорослішання” і викинуть їх сесію.
Фантастичний юзкейс, правда? Телеграм, очевидно, робить з цим абсолютно нічого — сапорта ніякого нема, зробити нічого не можливо, твій акаунт не твій і взагалі йди в дупу. Встановлення пароля, я так розумію, допомагає від цього, але хто з людей, які клацають на раптову “проголосуй” його встановив?.. Хоча я оце думаю, що я б на якийсь bitly без передперегляду і з описом “блін, заціни шо постгрес творить” і сам би натиснув без проблем 🤣
Що в цій всій історії цікаво — це власне як вони акаунт крадуть? Я не розумію, яким чином натиснення на посилання дозволяє забрати акаунт в телеграмі? Ну це якось тупо, що це взагалі можливо? Візьміть може та й закрийте цю діру?
Ладно б це було щось супер-нове, так ні ж, кілька місяців вже відбувається. Пане Павєл, ну що за бардак у вас тут? 🙄
💯53😁18🤯5❤1👍1
Вчора прогулювався по вулиці і натрапив на випуск “Опівночних Балачок” про Golang Madness, про те, як в Го погано. Я люблю пнути Го як і будь-який інший свідомий не-луддит (вибачте, панове гограмісти, ви самі обрали своє життя), але… претензії якось такі поверхневі, що я образився за мову.
Чесне слово,
Короч, більшість претензій рівня “в пайтоні індентація впливає на виконання” або “в ліспах скобка перед назвою функції”, дуже поверхнево. Соромно, пацани! І трохи смішно за переживання, що масив — обмеженої довжини. А як інакше, якщо ти хоч бути ефективною не-високорівневою мовою програмування?
Ладно, за згадку про абсолютно тупий підхід до форматування дат — не соромно. Я пам’ятаю в мене був іспанський сором за цю херню ще коли я перший раз з кимось Го обговорював в 2010 році, і нікуди воно не поділося. Замість використати сішну
От спосіб хендлити помилки нікуди не дівся і він досі абсолютно кончаний. Погано в ньому і те, що
Але є більша проблема, а саме — неструктурована конкаренсі. Коли ти відкриваєш новий проєкт, в якому насобачили каналів і обробки цих каналів, а канали передають кудись невідомо куди (найкращий варіант — канал каналів), то знайти, хто тобі прислав ці дані — іноді дуже важко. Авжеж, можна тримати себе в руках і не передавати канали занадто глибоко (або робити очевидним, що ти робиш), але хто це себе в руках буде тримати?
Короч, те що конкаренсі в Го дуже легко робиться — це плюс, на відміну від інших мов — змушує всіх навчитися цим користуватися. Те, як воно зроблене, і те, що нічого ніхто не змінює і не покращує — це мінус. Ви можете спитати, а де краще? В Джаві краще, авжеж, всі ці ThreadPoolExecutor’и — це і є структурна конкаренсі. Писать не дуже зручно, трохи багатословно, але для того і придумали Кложу, щоб JVM було приємніше користуватися.
Висновки які взагалі? Го — прекрасна мова для написання невеликих програм, де не треба особливої бізнес-логіки, бо вона губиться за всіма
Чесне слово,
fmt - погане скорочення? Ви взагалі C бачили? Чи очікуєте від старих сішників (буквально старих, наймолодшому із лідів проєкта — Робу Пайку — на момент релізу було 55 років), що вони почнуть давати назви на кшталт SingletonBuilderFactory та beginGeneratingDeviceOrientationNotifications? Чи може ти просто любиш Пайтон, який прям “золота середина”, за .format(), що не помічаєш import sys? 😁Короч, більшість претензій рівня “в пайтоні індентація впливає на виконання” або “в ліспах скобка перед назвою функції”, дуже поверхнево. Соромно, пацани! І трохи смішно за переживання, що масив — обмеженої довжини. А як інакше, якщо ти хоч бути ефективною не-високорівневою мовою програмування?
Ладно, за згадку про абсолютно тупий підхід до форматування дат — не соромно. Я пам’ятаю в мене був іспанський сором за цю херню ще коли я перший раз з кимось Го обговорював в 2010 році, і нікуди воно не поділося. Замість використати сішну
%d.%m.%y або джавну dd.MM.yy, вони вигадали нову неймовірну схему із використанням реальної дати як приклада (Jan 1 03:04:05 2006 GMT+7). Про це можна сказати дві речі: по-перше, використання реальних даних як мови для опису даних - відстій. Помилися в тих даних і напиши там 2024 — і не помітиш, і всюди буде 2024. По-друге, це теж поверхнева проблема, тому що strftime є як ліба і все, забудь про свої проблеми.От спосіб хендлити помилки нікуди не дівся і він досі абсолютно кончаний. Погано в ньому і те, що
if err ≠ nil захламляє код, і те, що він абсолютно неструктурний: errors.New(string) приймає рядок, який потім шо, як в коді визначити, яка це саме помилка? Так, ти сам собі можеш організувати структурні помилки, але в бібліотеках, які ти використовуєш, їх не буде, бо це не системна тема, і знач треба шо, в рядок дивитися? Як гограмісти вирішують як хендлити помилку — я не знаю. В джаві є різні типи в помилок, в кложі кожна помилка — несе структуровані дані, всі інструменти для роботи з цим є. Го? такоє…Але є більша проблема, а саме — неструктурована конкаренсі. Коли ти відкриваєш новий проєкт, в якому насобачили каналів і обробки цих каналів, а канали передають кудись невідомо куди (найкращий варіант — канал каналів), то знайти, хто тобі прислав ці дані — іноді дуже важко. Авжеж, можна тримати себе в руках і не передавати канали занадто глибоко (або робити очевидним, що ти робиш), але хто це себе в руках буде тримати?
Короч, те що конкаренсі в Го дуже легко робиться — це плюс, на відміну від інших мов — змушує всіх навчитися цим користуватися. Те, як воно зроблене, і те, що нічого ніхто не змінює і не покращує — це мінус. Ви можете спитати, а де краще? В Джаві краще, авжеж, всі ці ThreadPoolExecutor’и — це і є структурна конкаренсі. Писать не дуже зручно, трохи багатословно, але для того і придумали Кложу, щоб JVM було приємніше користуватися.
Висновки які взагалі? Го — прекрасна мова для написання невеликих програм, де не треба особливої бізнес-логіки, бо вона губиться за всіма
if err'ами: консольні утіліти там, якісь невеличкі мікросервіси тощо. А для серйозної роботи є Clojure. ☝️🔥29😁11🤝8👍6💯5❤4