Є речі, які стають настільки звичними і настільки частиною щоденного життя, що про них перестаєш замислюватися. Наприклад, Кафка. Мова не про грефневу, авжеж.
Що воно таке? Це наче черга повідомлень, але ці повідомлення там назавжди (ну або скільки скажеш, диски ж не безкоштовні). Абстрактно вся кафка це файли зі строками повідомлень і додатково записи про те, на якому рядку кожний читач зупинився. Ментальна модель екстремально проста і через те дуже ефективна!
Що воно нам дає?
• В тебе завжди є історія для аудіту — читання повідомлення не видаляє його (як це відбувається у традиційних чергах).
• Ця історія підходить не тільки для дебагу, а й для того, щоб після зміни коду — обробини все наново.
• Одна абстракція як на кілька процесів, які обробляють послідовно (1 повідомлення - 1 раз), так і на кілька обробляють параллельно, і на будь-які комбінації
Коли ми її впровадили, цілий клас проблем просто щез. Не тільки технічних, а й такі штуки, як тикання друг у друга різними командами: «ви не те відправили!», «ні, це ви не так прочитали!» — вони просто не існують у світі, де інтеграції не по хттп (або схожій схемі), а через кафку.
Цей підхід доволі сильно змінює світогляд і підхід до вирішення задач. Тож моя опінія у тому, що при появі першого процесу для обробки відкладених задач, або першої потреби на обмін повідомленнями - треба впроваджувати кафку.
З маленької літери, тому що важливіша ідея, ніж імплементація. Можна взяти будь-яку альтернативу також, типу Pulsar, чи що там є. Ба навіть, для початку я б зробив у постгресі дві таблиці і юзав їх, чисто щоб знизити операційні кости:
• id, topic, message
• consumer name, topic, offset
Цього вистачить, аж поки рахунок не піде на тисячі у секунду.
Мораль така: якщо у вас є всередині хттп апі — то час замислитися. А якщо є rabbitmq чи шось схоже — час апгрейдитися. :)
Що воно таке? Це наче черга повідомлень, але ці повідомлення там назавжди (ну або скільки скажеш, диски ж не безкоштовні). Абстрактно вся кафка це файли зі строками повідомлень і додатково записи про те, на якому рядку кожний читач зупинився. Ментальна модель екстремально проста і через те дуже ефективна!
Що воно нам дає?
• В тебе завжди є історія для аудіту — читання повідомлення не видаляє його (як це відбувається у традиційних чергах).
• Ця історія підходить не тільки для дебагу, а й для того, щоб після зміни коду — обробини все наново.
• Одна абстракція як на кілька процесів, які обробляють послідовно (1 повідомлення - 1 раз), так і на кілька обробляють параллельно, і на будь-які комбінації
Коли ми її впровадили, цілий клас проблем просто щез. Не тільки технічних, а й такі штуки, як тикання друг у друга різними командами: «ви не те відправили!», «ні, це ви не так прочитали!» — вони просто не існують у світі, де інтеграції не по хттп (або схожій схемі), а через кафку.
Цей підхід доволі сильно змінює світогляд і підхід до вирішення задач. Тож моя опінія у тому, що при появі першого процесу для обробки відкладених задач, або першої потреби на обмін повідомленнями - треба впроваджувати кафку.
З маленької літери, тому що важливіша ідея, ніж імплементація. Можна взяти будь-яку альтернативу також, типу Pulsar, чи що там є. Ба навіть, для початку я б зробив у постгресі дві таблиці і юзав їх, чисто щоб знизити операційні кости:
• id, topic, message
• consumer name, topic, offset
Цього вистачить, аж поки рахунок не піде на тисячі у секунду.
Мораль така: якщо у вас є всередині хттп апі — то час замислитися. А якщо є rabbitmq чи шось схоже — час апгрейдитися. :)
Коли ти робиш публічне апі — ти підписуєшся на зворотню сумісність. Публічне — це не тільки апі для широкого загалу, це й:
• те, що ти видав мобільним аппкам — вони ж можуть роками не оновлюватись
• схема обміну між кількома сервісами
• схема бд, у якої є кілька клієнтів — а під час апгрейду сервісу вочевидь різні версії треба рахувати різними клієнтами
• бібліотека, що ти виклав на гітхабі
• та й таке інше
А що значит підписуєшся? Це значить, що якщо ти притомна людина, зворотню сумісніть ти ламати не будеш. Не будеш видаляти поля. Не будеш перейменовувати стовпчики у базі даних. Не будеш змінювати у меншу сторону сігнатуру функції.
Чому? Тому що це зменшує кількість страждань у світі. Апка не перестане працювати. Сервіси не зламаються і їх не треба буде лагодити. Клієнти БД не помітять ваших змін. Краса!
Насправді, коли це внутрішня штука, то змінювати можна все, просто у кілька релізів. Хочеш перейменувати поле з
Коли таких споживачів штук 3-5, перейменовувати поле не хочеться. І не треба. :)
Можна вчитися у Clojure: береш якийсь код на гітхабі, який 8 років не торкалися, а він працює. Фантастика!
• те, що ти видав мобільним аппкам — вони ж можуть роками не оновлюватись
• схема обміну між кількома сервісами
• схема бд, у якої є кілька клієнтів — а під час апгрейду сервісу вочевидь різні версії треба рахувати різними клієнтами
• бібліотека, що ти виклав на гітхабі
• та й таке інше
А що значит підписуєшся? Це значить, що якщо ти притомна людина, зворотню сумісніть ти ламати не будеш. Не будеш видаляти поля. Не будеш перейменовувати стовпчики у базі даних. Не будеш змінювати у меншу сторону сігнатуру функції.
Чому? Тому що це зменшує кількість страждань у світі. Апка не перестане працювати. Сервіси не зламаються і їх не треба буде лагодити. Клієнти БД не помітять ваших змін. Краса!
Насправді, коли це внутрішня штука, то змінювати можна все, просто у кілька релізів. Хочеш перейменувати поле з
uuid на id у повідомленнях сервісу А так, що сил немає? Випускаєш сервіс Б, який читає обидва поля, а потім вже сервіс А з перейменуванням. А потім ще можна закріпити релізом сервісу Б, який тільки другу назву читає. Коли таких споживачів штук 3-5, перейменовувати поле не хочеться. І не треба. :)
Можна вчитися у Clojure: береш якийсь код на гітхабі, який 8 років не торкалися, а він працює. Фантастика!
Я не люблю стрес, не люблю незворотні дії, і не люблю повторювати одну й ту саму роботу. Вочевидь, ніхто не любить, але чомусь у кожному проекті, де я приймав участь за останні 10 років, деплой найбільше непокоїв саме мене. :) І тож моя опінія — деплой повинен бути такої складності, щоб 10 раз за день не ставали додатковим навантаженням на когось, окрім системи CI.
Нащо з тим возитися? Тому що деплой — це один з найважчих морально моментів, і зміна відношення до нього прискорить будь-яку команду. Це реально з речей, які ну дуже сильно впливають на мораль і на результати команди.
Велика затримка між закінченням роботи і попаданням тієї роботи до користувачів вбивають велику частину задоволення від роботи. Релізи вночі вбивають бажання їх робити і здатність помітити проблеми та полагодити їх — ніхто ж не залізний. Якщо ви десь впізнали свій процес, то це не привід страждати, просто займіться тим, щоб стало краще. Я вам обіцяю, що дякую скажуть всі учасники процесу. :)
Що треба, щоб стало норм? Дивись чекліст! Він упорядкований, кожен крок наближує до ідеалу.
* Скрипт, який буде генерувати артефакт, який буде запускатися: архів, пакет, уберджар, докер-файл.
* CI, налаштованний так, щоб цей скрипт запускався на кожен тег гіта (ну або взагалі на кожен комміт і далі автоматично все викочувати на стейджинг).
* Сценарій деплоя без даунтайму. Забрав сервер з балансування, перезапустив процес, увів назад. Або запустив нові контейнери, перевів балансування на них, повимикав старі.
* Цей сценарій повинен запускатися з якогось зрозумілого місця, а не з ноута якогось чувака. Скажімо, з кнопки у гітлабі, з команди в слаку, щось таке.
* Ось тут вже змінюємо процес і починаємо релізити частіше. Або прям кожну фічу окремо, або кілька. Ми у середньому робимо 9 релізів на тиждень.
* Трекінг помилок на продакшені з нотіфікашками про нові — ну типу Sentry. Воно вже і так повинно було бути, але все ж нехай буде. :)
* Сценарій ролбеку — релізу якоїсь з попередніх версій. Якщо можна швидше, ніж свіжий деплой, то так і треба робити. Це для зменшення стресу, щоб не так страшно було великі зміни релізити. Тіки помилки почали лізти, пішов, стару версію викотив, і можна спокійно розбиратися.
* Опціонально: якщо ви розробляєте гілками у гіті, навчитися легко викочувати ті гілки на окремі піддомени, щоб тестувати і дивитися до мержу у мастер.
Ну й не забувайте просту істину: мізки треба вмикати все одно. Головне — не пройти чекліст 1-в-1, головне — щоб стало добре. :)
Нащо з тим возитися? Тому що деплой — це один з найважчих морально моментів, і зміна відношення до нього прискорить будь-яку команду. Це реально з речей, які ну дуже сильно впливають на мораль і на результати команди.
Велика затримка між закінченням роботи і попаданням тієї роботи до користувачів вбивають велику частину задоволення від роботи. Релізи вночі вбивають бажання їх робити і здатність помітити проблеми та полагодити їх — ніхто ж не залізний. Якщо ви десь впізнали свій процес, то це не привід страждати, просто займіться тим, щоб стало краще. Я вам обіцяю, що дякую скажуть всі учасники процесу. :)
Що треба, щоб стало норм? Дивись чекліст! Він упорядкований, кожен крок наближує до ідеалу.
* Скрипт, який буде генерувати артефакт, який буде запускатися: архів, пакет, уберджар, докер-файл.
* CI, налаштованний так, щоб цей скрипт запускався на кожен тег гіта (ну або взагалі на кожен комміт і далі автоматично все викочувати на стейджинг).
* Сценарій деплоя без даунтайму. Забрав сервер з балансування, перезапустив процес, увів назад. Або запустив нові контейнери, перевів балансування на них, повимикав старі.
* Цей сценарій повинен запускатися з якогось зрозумілого місця, а не з ноута якогось чувака. Скажімо, з кнопки у гітлабі, з команди в слаку, щось таке.
* Ось тут вже змінюємо процес і починаємо релізити частіше. Або прям кожну фічу окремо, або кілька. Ми у середньому робимо 9 релізів на тиждень.
* Трекінг помилок на продакшені з нотіфікашками про нові — ну типу Sentry. Воно вже і так повинно було бути, але все ж нехай буде. :)
* Сценарій ролбеку — релізу якоїсь з попередніх версій. Якщо можна швидше, ніж свіжий деплой, то так і треба робити. Це для зменшення стресу, щоб не так страшно було великі зміни релізити. Тіки помилки почали лізти, пішов, стару версію викотив, і можна спокійно розбиратися.
* Опціонально: якщо ви розробляєте гілками у гіті, навчитися легко викочувати ті гілки на окремі піддомени, щоб тестувати і дивитися до мержу у мастер.
Ну й не забувайте просту істину: мізки треба вмикати все одно. Головне — не пройти чекліст 1-в-1, головне — щоб стало добре. :)
Літо — це пора року без стрімів. Бо хтось хоче погуляти, хтось до ресторану, хтось ще щось — тож ті стріми робити нікому і дивитись нікому. Але ось вже тиждень як повноцінна осінь влупила холодними гидкими дощами, тож замість погулять давайте поговоримо!
На цей раз мова буде про Кафку. Вочевидь с одного поста у мене в каналі ви не пішли її впроваджувати у всі відгалуження ваших систем, і взагалі складно прийти до боса і сказати — чуєш, пацан, там є три абзаци про кафку, здається що це те, що нам треба. Давайте це фіксити! Я зроблю презу про Кафку і відповім на питання з чату, а у вас буде відео на годинку-півтори, щоб вмовити чи вмовитись. :) Ну і потенційно приємний вечір, щоб подивитися на мене через гарну камеру, а не через соні. %)
Поширюйте запис і занотовуйте: післязавтра, середа, 29 вересня, о 17:00 за Києвом (це взагалі норм, що о 17? Не сильно рано?). Або краще ставте нагадування: https://youtu.be/UXnTzxGhnXc
На цей раз мова буде про Кафку. Вочевидь с одного поста у мене в каналі ви не пішли її впроваджувати у всі відгалуження ваших систем, і взагалі складно прийти до боса і сказати — чуєш, пацан, там є три абзаци про кафку, здається що це те, що нам треба. Давайте це фіксити! Я зроблю презу про Кафку і відповім на питання з чату, а у вас буде відео на годинку-півтори, щоб вмовити чи вмовитись. :) Ну і потенційно приємний вечір, щоб подивитися на мене через гарну камеру, а не через соні. %)
Поширюйте запис і занотовуйте: післязавтра, середа, 29 вересня, о 17:00 за Києвом (це взагалі норм, що о 17? Не сильно рано?). Або краще ставте нагадування: https://youtu.be/UXnTzxGhnXc
YouTube
А ви любите Кафку?
Apache Kafka змінила підходи до розробки систем. Якщо вам ще ні — послухайте, чому ми її так любимо, і чому вам потрібно помацати її теж. Це не буде глибоким зануренням у роботу, сетап і таке інше. Це буде більше про те, які проблеми вона нам вирішила і трохи…
Вчора ввечері згадав, що я ж хотів спробувати порекламувати стрім у фейсбуці, щоб зрозуміти, як воно працює. Ну і може привести когось, але це не точно, бо над креативом я сильно довго не думав. :)
Значить так: пости з профіля свого рекламувати не можна. Можна або створити нову рекламу, або рекламувати пост зі сторінки (з таких що Page звуться), або івент, теж зі сторінки. Може треба було звичайну рекламу зробити, але ж це треба більш інформативну картинку, ніж мій тамбнейл для відео, тому я вирішив рекламувати івент. Зробив сторінку у Фейсбуці, запостив туди івент, нажав «просувати», сказав «ось тобі 10 баксів до 5 вечора» і воно поїхало.
Спочатку тієї кнопки не помітив, і пішов через ад менеджер щось створити і мало не зійшов з глузду. Інтерфейс там... фантастика просто. 😖 А ще воно не дало з події нічого створити, сказало що треба звичайний пост — але коли я створив іншим шляхом, то в ад менеджері все з‘явилося. Ну як заведено давно, взаємовиключні параграфи — фундація нашого буття. :) Після публікації воно ще декілька годин перевірялось, і, судячи з усього, почало працювати десь о другій ночі (я майже опівночі все робив).
Фільтрами поставив інтереси ruby, python, java, c# і devops. На пхп забив, бо там їх нереальна кількість. :) Хз, чи це разумно взагалі? Маю зара 664 перегляди і 0 взаємодій за 1.91$. Не знаю, які висновки треба з того робити. :))
Пішов глянути у твіттері на Boost Tweet, а там мінімум 50 євро. Ось тут жаба прокинулася і каже «краще мож фейсбуку десяточку докинь». :)
Значить так: пости з профіля свого рекламувати не можна. Можна або створити нову рекламу, або рекламувати пост зі сторінки (з таких що Page звуться), або івент, теж зі сторінки. Може треба було звичайну рекламу зробити, але ж це треба більш інформативну картинку, ніж мій тамбнейл для відео, тому я вирішив рекламувати івент. Зробив сторінку у Фейсбуці, запостив туди івент, нажав «просувати», сказав «ось тобі 10 баксів до 5 вечора» і воно поїхало.
Спочатку тієї кнопки не помітив, і пішов через ад менеджер щось створити і мало не зійшов з глузду. Інтерфейс там... фантастика просто. 😖 А ще воно не дало з події нічого створити, сказало що треба звичайний пост — але коли я створив іншим шляхом, то в ад менеджері все з‘явилося. Ну як заведено давно, взаємовиключні параграфи — фундація нашого буття. :) Після публікації воно ще декілька годин перевірялось, і, судячи з усього, почало працювати десь о другій ночі (я майже опівночі все робив).
Фільтрами поставив інтереси ruby, python, java, c# і devops. На пхп забив, бо там їх нереальна кількість. :) Хз, чи це разумно взагалі? Маю зара 664 перегляди і 0 взаємодій за 1.91$. Не знаю, які висновки треба з того робити. :))
Пішов глянути у твіттері на Boost Tweet, а там мінімум 50 євро. Ось тут жаба прокинулася і каже «краще мож фейсбуку десяточку докинь». :)
У нас усіх в голові минуле трішки забарвлене рожевими окулярами спогадів. По-перше, людині властиво забувати погане, по-друге, ті, в кого там (у минулому) пройшла молодість, розповідають солодкі казки (бо важко об‘єктивно оцінити реальність, тим більш коли ти колись мацав дівчат за сідниці, а зара трава пожовкла), і, по-третє, є купа доказових артефактів!
Про артефакти у вигляді автомобілів ми й поговоримо. Наприклад, беремо відносно новий Міні Купер R56 (в мене був такий, 2008-го року). В нього досить технічно просунутий двигун Прінс спільної розробки БМВ і Пежо. І від БМВ там такі круті маслозйомні кільця на поршнях, в яких отвори для відведення масла невеликі, щоб воно все було акуратно. А двигун гарячий, тому що паливо витрачається ефективно, щоб трохи менше у трубу вилітало. Що це нам дає? Те що сраний Кастрол, який БМВ рекомендує, починає підгоряти та відповідно забиває ті невеликі отвори й ось ти не встиг обернутися, а воно жере літр масла на тисячу км. 🤦♂️
А з іншого боку візьмемо Гольф 2, які досі є на дорогах і наймолодшому вже 30 років точно. Ну тобто звичайнісінька автівка з 80-х і норм, не те що мінік!
Чи значить це що раніше огого, а зара тююю? Італійський журнал Кваттроруте років 15 тому зробив тест-драйв нового тоді Fiat 500 Nuovo довжиною у 100 тисяч км. Їздили по всій Європі, півночі Африки, по горах і долинах, по грязюці та по асфальту. Але найцікавише у цьому тесті інше — за 50 років до того вони робили такий самий тест, але першого Фіат 500. Теж сто тисяч кілометрів. І списки виконаних робіт просто неможливо порівняти! По-перше, заміна масла у двигуні кожні 5 проти кожних 20 тисяч кілометрів. По-друге, постійне обслуговування підвіски. По-третє, величезна кількість використаних запчастин. І інструментів, які возили з собою. Я думаю, що ви здогадалися, що мова не про новий, де міняли масло/фільтри, та один раз колодки.
Старі машини, які їздять по дорогах — це просто дуже вдалі моделі. Тому що всі нормальні вже давно померли. Гольф 2 і Сієрра за живучестю — таргани серед автомобілів, але і їх майже не лишилося на дорозі.
Є цікава річ: в залежності від моменту, коли людина почала роздуплятися в автомобілях, в неї різні погляди на те, що підпадає під "старі прості й надійні автівки". Зазвичай це машини, які були у продажу за 15-20 років від цього моменту. В мене все так само, тому перетин 80-90-х для мене дуже довго відчувався як баланс між простотою, надійністю та комфортом. Хоча, якщо замислитися, там такий капець був, моноінжектори, пацавата електроніка Бош тих часів... не хочеться згадувати. :)
Окрема тема — це двигуни. Я взагалі цей пост почав писати після того, як Вова написав про двигуни. Але історія ж та сама! По-перше, всі гівняні конструкції вже давно померли, і ти їх просто не побачиш ніде. По-друге, у ті часи просто не вміли добре розраховувати витривалість, і там, де прорахувалися в іншу сторону — надійність зашкалює. Зара краще рахують, хоча трабли бувають, не будемо забувати БМВшні двигуни 00-х/початку 10-х. Але ж все одно, чомусь геніальний V6 Буссо Альфа припинила виробляти у 00-х! Хоча діфірамбов йому протягом 30 років співали стіки, що самому Джузепе повинно було бути ніяково. :)
Взагалі, вся ця тема дуже довга і наче навіть потребує пива для детального заглиблення. Що я хотів сказати, напевно, це що співи про глобальну змову виробників з метою зробити ломучі машини — це фантазії. Всі хочуть продавати більше і витрачати на те менше, тож двигуни намагаються робити ближче до проєктної надійності, і все таке інше.
А те, що не треба шпринцевати підвіску кожні пару тисяч кілометрів — це просто щастя. ☺️
Про артефакти у вигляді автомобілів ми й поговоримо. Наприклад, беремо відносно новий Міні Купер R56 (в мене був такий, 2008-го року). В нього досить технічно просунутий двигун Прінс спільної розробки БМВ і Пежо. І від БМВ там такі круті маслозйомні кільця на поршнях, в яких отвори для відведення масла невеликі, щоб воно все було акуратно. А двигун гарячий, тому що паливо витрачається ефективно, щоб трохи менше у трубу вилітало. Що це нам дає? Те що сраний Кастрол, який БМВ рекомендує, починає підгоряти та відповідно забиває ті невеликі отвори й ось ти не встиг обернутися, а воно жере літр масла на тисячу км. 🤦♂️
А з іншого боку візьмемо Гольф 2, які досі є на дорогах і наймолодшому вже 30 років точно. Ну тобто звичайнісінька автівка з 80-х і норм, не те що мінік!
Чи значить це що раніше огого, а зара тююю? Італійський журнал Кваттроруте років 15 тому зробив тест-драйв нового тоді Fiat 500 Nuovo довжиною у 100 тисяч км. Їздили по всій Європі, півночі Африки, по горах і долинах, по грязюці та по асфальту. Але найцікавише у цьому тесті інше — за 50 років до того вони робили такий самий тест, але першого Фіат 500. Теж сто тисяч кілометрів. І списки виконаних робіт просто неможливо порівняти! По-перше, заміна масла у двигуні кожні 5 проти кожних 20 тисяч кілометрів. По-друге, постійне обслуговування підвіски. По-третє, величезна кількість використаних запчастин. І інструментів, які возили з собою. Я думаю, що ви здогадалися, що мова не про новий, де міняли масло/фільтри, та один раз колодки.
Старі машини, які їздять по дорогах — це просто дуже вдалі моделі. Тому що всі нормальні вже давно померли. Гольф 2 і Сієрра за живучестю — таргани серед автомобілів, але і їх майже не лишилося на дорозі.
Є цікава річ: в залежності від моменту, коли людина почала роздуплятися в автомобілях, в неї різні погляди на те, що підпадає під "старі прості й надійні автівки". Зазвичай це машини, які були у продажу за 15-20 років від цього моменту. В мене все так само, тому перетин 80-90-х для мене дуже довго відчувався як баланс між простотою, надійністю та комфортом. Хоча, якщо замислитися, там такий капець був, моноінжектори, пацавата електроніка Бош тих часів... не хочеться згадувати. :)
Окрема тема — це двигуни. Я взагалі цей пост почав писати після того, як Вова написав про двигуни. Але історія ж та сама! По-перше, всі гівняні конструкції вже давно померли, і ти їх просто не побачиш ніде. По-друге, у ті часи просто не вміли добре розраховувати витривалість, і там, де прорахувалися в іншу сторону — надійність зашкалює. Зара краще рахують, хоча трабли бувають, не будемо забувати БМВшні двигуни 00-х/початку 10-х. Але ж все одно, чомусь геніальний V6 Буссо Альфа припинила виробляти у 00-х! Хоча діфірамбов йому протягом 30 років співали стіки, що самому Джузепе повинно було бути ніяково. :)
Взагалі, вся ця тема дуже довга і наче навіть потребує пива для детального заглиблення. Що я хотів сказати, напевно, це що співи про глобальну змову виробників з метою зробити ломучі машини — це фантазії. Всі хочуть продавати більше і витрачати на те менше, тож двигуни намагаються робити ближче до проєктної надійності, і все таке інше.
А те, що не треба шпринцевати підвіску кожні пару тисяч кілометрів — це просто щастя. ☺️
Пару днів тому забрав з поштомату Нової Пошти свою каву (з Kyiv City Roast, вважайте цей пост рекламним, хаха). Забрав та й забрав, ну типу почекав, поки з третього разу воно завантажило дані відправлення і приконектилося до поштомату. Я забрав свою каву, закрив поштомат, натиснув "забрав" на екрані смартфону і пішов собі додому.
Особливо чекати, доки їхня аппка роздуплиться, що я таки "забрав", я не чекав, і вона без докорів сумління показала мені попап "помилка, давай ще раз". Ну ще раз я не можу, бо я вже вдома, до нього не законектишся, ну і, думаю, хрєн з тобою, ви ж знаєте, що я вже відкривав і забрав?
Не знають! Сьогодні прийшла нотіфікашка "ще день і ми перенесемо ваше відправлення до найближчого відділення"! Ну що ж, переміщайте, напевно ж кур'єр роздуплиться, що це означає "вже забрав"? Але, блін, яка ж це неприємна проблема, що вони залежать від (погано працюючої) аппки і дій користувача, щоб роздуплитися, що у комірці вже пусто? Наврядчи той поштомат копійки коштує, невже при розробці ідея про датчики обсягу не приходила до голови?
Особливо чекати, доки їхня аппка роздуплиться, що я таки "забрав", я не чекав, і вона без докорів сумління показала мені попап "помилка, давай ще раз". Ну ще раз я не можу, бо я вже вдома, до нього не законектишся, ну і, думаю, хрєн з тобою, ви ж знаєте, що я вже відкривав і забрав?
Не знають! Сьогодні прийшла нотіфікашка "ще день і ми перенесемо ваше відправлення до найближчого відділення"! Ну що ж, переміщайте, напевно ж кур'єр роздуплиться, що це означає "вже забрав"? Але, блін, яка ж це неприємна проблема, що вони залежать від (погано працюючої) аппки і дій користувача, щоб роздуплитися, що у комірці вже пусто? Наврядчи той поштомат копійки коштує, невже при розробці ідея про датчики обсягу не приходила до голови?
Фейсбук знач вчора відпочивав, чули таке? І тіки він вимкнувся, з різних сторон почали лізти дуже конспірологічні теорії про хакерів, правительство США та криптовалюту від фейсбуку, і інший подібний бруд. Цікаво, зо я в цілому не так багато торкаюся цієї частини інтернету і воно лізло з дуже неочікуваних місць.
Але насправді це була помилка у конфигурації. CTO Cloudflare вже написав статтю про те, як це виглядало ззовні: фейсбук просто перестав себе рекламувати по BGP. Тобто перестав всім іншим розповідати, як добратися до його мережі з іншого інтернету. Ну реально просто як вимкнув телефон і приліг спати. :)
В одному треді на реддіті якийсь чувак заявив, що він приймає участь в операції відновлення і дві великі проблеми полягають у тому, що:
- через пандемію в датацентрах менше людей, ніж було раніше - я так розумію, що більшою частиною «залізячники», а інші віддалено
- люди, які знають, що зробити, які вміють це робити і які мають фізічний доступ, щоб зробити - це три різні групи людей
- всі внутрішні коммунікації - через сам фейсбук, який не працює, тож складно скоординувати зусилля
Загалом воно лежало близько 4,5 годин і почало піднімати голову після 12 ночі за Києвом. Непогане нагадування про те, що інтернет одночасно і дуже складний, і працює завдяки тому, що всі ведуть себе корректно. Такі самі відчуття, як з дорожнім рухом. :)
Дуже хочеться почитати постмортем від самого фейсбука! Тож чекаємо на нього. :)
Але насправді це була помилка у конфигурації. CTO Cloudflare вже написав статтю про те, як це виглядало ззовні: фейсбук просто перестав себе рекламувати по BGP. Тобто перестав всім іншим розповідати, як добратися до його мережі з іншого інтернету. Ну реально просто як вимкнув телефон і приліг спати. :)
В одному треді на реддіті якийсь чувак заявив, що він приймає участь в операції відновлення і дві великі проблеми полягають у тому, що:
- через пандемію в датацентрах менше людей, ніж було раніше - я так розумію, що більшою частиною «залізячники», а інші віддалено
- люди, які знають, що зробити, які вміють це робити і які мають фізічний доступ, щоб зробити - це три різні групи людей
- всі внутрішні коммунікації - через сам фейсбук, який не працює, тож складно скоординувати зусилля
Загалом воно лежало близько 4,5 годин і почало піднімати голову після 12 ночі за Києвом. Непогане нагадування про те, що інтернет одночасно і дуже складний, і працює завдяки тому, що всі ведуть себе корректно. Такі самі відчуття, як з дорожнім рухом. :)
Дуже хочеться почитати постмортем від самого фейсбука! Тож чекаємо на нього. :)
Всі знають історію фейлу Kodak з книжок для MBA, коли чуваки першими у 70-х розробили матриці, але вирішили, що це вб'є прибуток від продажів плівки і поклали це все на шухляду, аби заробити побільше грошей. А потім прийшла революція і Кодак від того вмер.
Це все чухня! Красива казочка про бездіяльних менеджерів, в яких немає приводу робити краще, бла-бла-бла. Насправді Кодак інвестував мілліарди доларів у 90-ті у цифрове фото, камери на початку 00-х використовували матриці Кодака, і у середині 00-х Кодак займав більше 20% ринку цифрових камер у США. То де ж проблема? Проблема у тому, що Кодак разом з Фуджи становили дуополію з виробництва дуже складного продукту: кольорової плівки. На скейлі ще щось виробляли Агфа та Коніка, але вони були малесенькі порівняно з тими двома монстрами. І вони звикли до цього ринку: ти робиш щось добре і через те отримуєш прибуток.
Але цифрові камери це не складний продукт, тому що замість купи проблемних реагентів ти купляєш чіп, саджаєш його у корпус і вуаля! Це commodity, тож маржа на ньому майже відсутня і тебе подрізають чуваки, які вміють організувати ефективніші процеси і дешевше виробництво. І тому Кодак втрачав гроші на кожній проданій камері! А заробляти... заробляти не придумав, як. Вони багато різного спробували, але люди перестали друкувати фото, ну і взагалі...
Тож справжня історія тут не про Кодак, а про Fuji, які змогли. Фуджи ще у 90-х почали диверсифікацію бізнесу у компліментарні області: захисні плівки до LCD (гарно вгадали, що ринок полетить вгору), медичні прилади (оптика єтц), косметика (у плівках багато роботи з коллагеном, як й у косметиці для шкіри), і т.п. І група Фуджи у 2010 була в 1.5 рази більше, ніж у 2000-му! Ну й вони експериментували з value-added (на відміну від commodity) фотіками і на початку 10-х випустили дуже вдалий X100, з якого потім виросла кльова серія X.
А чому Кенон і Нікон норм себе почувають? А тому що вони ніколи не заробляли на плівці і ніколи не були такі великі, як Кодак чи Фуджи, тож їм не довелося змінювати бізнес-модель і зменшуватися у розмірах, що складно і боляче.
Це насправді і вся історія, але якщо хочете більше подробиць із цифрами, осьо велика стаття: https://petapixel.com/2018/10/19/why-kodak-died-and-fujifilm-thrived-a-tale-of-two-film-companies/
Це все чухня! Красива казочка про бездіяльних менеджерів, в яких немає приводу робити краще, бла-бла-бла. Насправді Кодак інвестував мілліарди доларів у 90-ті у цифрове фото, камери на початку 00-х використовували матриці Кодака, і у середині 00-х Кодак займав більше 20% ринку цифрових камер у США. То де ж проблема? Проблема у тому, що Кодак разом з Фуджи становили дуополію з виробництва дуже складного продукту: кольорової плівки. На скейлі ще щось виробляли Агфа та Коніка, але вони були малесенькі порівняно з тими двома монстрами. І вони звикли до цього ринку: ти робиш щось добре і через те отримуєш прибуток.
Але цифрові камери це не складний продукт, тому що замість купи проблемних реагентів ти купляєш чіп, саджаєш його у корпус і вуаля! Це commodity, тож маржа на ньому майже відсутня і тебе подрізають чуваки, які вміють організувати ефективніші процеси і дешевше виробництво. І тому Кодак втрачав гроші на кожній проданій камері! А заробляти... заробляти не придумав, як. Вони багато різного спробували, але люди перестали друкувати фото, ну і взагалі...
Тож справжня історія тут не про Кодак, а про Fuji, які змогли. Фуджи ще у 90-х почали диверсифікацію бізнесу у компліментарні області: захисні плівки до LCD (гарно вгадали, що ринок полетить вгору), медичні прилади (оптика єтц), косметика (у плівках багато роботи з коллагеном, як й у косметиці для шкіри), і т.п. І група Фуджи у 2010 була в 1.5 рази більше, ніж у 2000-му! Ну й вони експериментували з value-added (на відміну від commodity) фотіками і на початку 10-х випустили дуже вдалий X100, з якого потім виросла кльова серія X.
А чому Кенон і Нікон норм себе почувають? А тому що вони ніколи не заробляли на плівці і ніколи не були такі великі, як Кодак чи Фуджи, тож їм не довелося змінювати бізнес-модель і зменшуватися у розмірах, що складно і боляче.
Це насправді і вся історія, але якщо хочете більше подробиць із цифрами, осьо велика стаття: https://petapixel.com/2018/10/19/why-kodak-died-and-fujifilm-thrived-a-tale-of-two-film-companies/
Колись, на зорі часу (за моїми стандартами), на початку 00-х у КПІшних ньюсах (це у сенсі у NNTP-групах) була популярною фраза про «використовуй інструмент під свою задачу». Ну й загалом консенсус був, що всі ці наші комп‘ютери - вони про пошук оптимального рішення, меритократію і все таке інше.
І як тепер, після стількох років, зрозуміло, які то були наївні балачки! Величезний ландшафт рішень і те, що він постійно змінюється (і може ще якісь причини є) призвели до того, що тепер в нас фактично індустрія моди.
З‘явилася нода — ура, побігли туди! З‘явився го - ура, побігли туди! Моє комм‘юніті не любить JVM — знач все, що вони роблять, фуфло, не буду туди дивитися! Ну й таке інше, розумна оцінка рішень дуже складна і важка, тож зазвичай все через емоції.
Але ще є ефект другого порядку! Коли звичайний розробник приходить до звичайного керівництва і каже «давайте заюзаємо оцю прикольну штуку», звичайна реакція це «ох знов якась модна хрінь». Але й пробувати все підряд, що кожному на думку спаде цього тижня - теж не дуже продуктивний підхід.
А без використання, чисто з доків, зрозуміти що до чого — це неможливо. Реакт у себе в доках не пише "робить зручними не тількі хороші, але й погані рішення", Джанго не пише "ваші розробники не будуть розуміти, що вони роблять с БД", Нода не пише "пам'ять буде текти, але логіка буде текти ще гірше", і так далі.
Не бачу, що з цим можна зробити, окрім прокачувати інтуіцію на технології і вчитися розуміти наслідки від тредойффів, зроблених в тих чи інших інструментах.
І як тепер, після стількох років, зрозуміло, які то були наївні балачки! Величезний ландшафт рішень і те, що він постійно змінюється (і може ще якісь причини є) призвели до того, що тепер в нас фактично індустрія моди.
З‘явилася нода — ура, побігли туди! З‘явився го - ура, побігли туди! Моє комм‘юніті не любить JVM — знач все, що вони роблять, фуфло, не буду туди дивитися! Ну й таке інше, розумна оцінка рішень дуже складна і важка, тож зазвичай все через емоції.
Але ще є ефект другого порядку! Коли звичайний розробник приходить до звичайного керівництва і каже «давайте заюзаємо оцю прикольну штуку», звичайна реакція це «ох знов якась модна хрінь». Але й пробувати все підряд, що кожному на думку спаде цього тижня - теж не дуже продуктивний підхід.
А без використання, чисто з доків, зрозуміти що до чого — це неможливо. Реакт у себе в доках не пише "робить зручними не тількі хороші, але й погані рішення", Джанго не пише "ваші розробники не будуть розуміти, що вони роблять с БД", Нода не пише "пам'ять буде текти, але логіка буде текти ще гірше", і так далі.
Не бачу, що з цим можна зробити, окрім прокачувати інтуіцію на технології і вчитися розуміти наслідки від тредойффів, зроблених в тих чи інших інструментах.
👍3
Хто б роздуплив, що коїться з ютубними коментами? Приходять пуші від ютубу, що залишили новий коментар, йдеш його повністю прочитати - а коменту-то й нема! Люди самі видаляють, чи що? Мож з 5 останніх коментарів так прийшло і зникло, якесь дивне співпадіння. Нормальні коментарі, ніяких претензій до них немає - але й них самих теж немає. :))
Не розумію. І головне - з авторами не сконектитися, вбудованої в ютуб системи повідомлень наче нема ж…
Не розумію. І головне - з авторами не сконектитися, вбудованої в ютуб системи повідомлень наче нема ж…
Ще трохи походив і придумалось мені, що гарною іллюстрацією того, що наша індустрія живе по законах моди буде REPL. Колись Нікіта написав статтю про REPL у кложі, а я навіть виступав на ту ж тему. Якщо ви й те, й те бачили, могли звернути увагу на загальний рефрен: це проповідування. Неможливо зрозуміти, як REPL змінить ваш підхід до розробки, аж доки не спробуєш по-справжньому з ним попрацювати.
І насправді всі ці розповіді працюють дуже погано: люди, які регулярно юзають інтерактивний шел на кшталт ipython або схожих, пишуть "Прям какой-то необходимости код через РЕПЛ писать нет" (Андрій, якщо ти впізнав свою цитату, то це не до тебе конкретно претензія). Нагальної потреби нема, але й потреби у інтерактивному шелі потреби теж нема, завжди можна невелику програмку написати і все там спробувати, правда? Це питання ефективності і втрат енергії (що імхо більш важливе, ніж втрати часу) на експерименти.
Ото ж ще один ефект з цього движу для нас — те, що більшістю ми (програмісти) живемо у кам'яному віці і стругаємо код, як пращури стругали стріли для своїх луків: воно гостре і задачу виконує, але дуже вже муторно.
На останок дам вам ще демо від Шона Корфілда. Може воно вас змотивує витратити часу на те, щоб спробувати. :-)
І насправді всі ці розповіді працюють дуже погано: люди, які регулярно юзають інтерактивний шел на кшталт ipython або схожих, пишуть "Прям какой-то необходимости код через РЕПЛ писать нет" (Андрій, якщо ти впізнав свою цитату, то це не до тебе конкретно претензія). Нагальної потреби нема, але й потреби у інтерактивному шелі потреби теж нема, завжди можна невелику програмку написати і все там спробувати, правда? Це питання ефективності і втрат енергії (що імхо більш важливе, ніж втрати часу) на експерименти.
Ото ж ще один ефект з цього движу для нас — те, що більшістю ми (програмісти) живемо у кам'яному віці і стругаємо код, як пращури стругали стріли для своїх луків: воно гостре і задачу виконує, але дуже вже муторно.
На останок дам вам ще демо від Шона Корфілда. Може воно вас змотивує витратити часу на те, щоб спробувати. :-)
В мене є брат. Авжеж, нічого незвичайного у цьому немає, але тут є привід його згадати у пості: він собі завів телеграм-канал.
Само собою, можна порозповідати за тематику, бо він його завів не без приводу — не хочеться загубити у безодні фейсбуку думки з приводу освіти. Фейсбук такого не любить, коли ти туди пишеш сфокусовані пости, які на скролі лайкають менше, ніж симпотні фотки, він їх карає за таку зухвалість і ховає від людей.
Але! Як то кажуть, на конфереції є сенс ходити не на тему, а на людину: ті лектори, що гарно розповідають, навіть з проходною темою будуть цікавими, і навпаки. А Сева гарно дистилює складні і неоднозначні теми, тож читайте і підписуйтеся: @uasymposium
Само собою, можна порозповідати за тематику, бо він його завів не без приводу — не хочеться загубити у безодні фейсбуку думки з приводу освіти. Фейсбук такого не любить, коли ти туди пишеш сфокусовані пости, які на скролі лайкають менше, ніж симпотні фотки, він їх карає за таку зухвалість і ховає від людей.
Але! Як то кажуть, на конфереції є сенс ходити не на тему, а на людину: ті лектори, що гарно розповідають, навіть з проходною темою будуть цікавими, і навпаки. А Сева гарно дистилює складні і неоднозначні теми, тож читайте і підписуйтеся: @uasymposium
Якось не виходить дописати жодного поста, у чернетках всі зависли доки я цей meeting heavy тиждень доживаю. :) І щось рветься з мене литдибр, то ж так йому й бути.
Прийшли холоди, а значить вже час, коли можна знов юзати свої улюблені Beyerdynamic DT770 — бо влітку в них занадто жарко. 😁 У сенсі в мене тепер є навушники для літа: відкриті Sennheiser HD599, і зимні - баєри. хд599 такі всі воздушні, з величезною сценою і деталізацією, а дт770 - вони про щільність звуку явно. Ну точно лагер вс стаут. :)
Але річ не про це! Вдягаю їх (баєри), значить, а вони щось у вуха мої динаміками впираються. Пройшло пару днів і до мене дійшло — амбушюрам просто гаплик. На дотик просто всередині поролон зовсім трухлявий вже. Ну я знайшов у інтернеті заміну, купив, і вже навіть отримав... але щось ніяк не можу відійти від думки, що такий вік вже, що навіть навушники треба лікувати. 😂
Прийшли холоди, а значить вже час, коли можна знов юзати свої улюблені Beyerdynamic DT770 — бо влітку в них занадто жарко. 😁 У сенсі в мене тепер є навушники для літа: відкриті Sennheiser HD599, і зимні - баєри. хд599 такі всі воздушні, з величезною сценою і деталізацією, а дт770 - вони про щільність звуку явно. Ну точно лагер вс стаут. :)
Але річ не про це! Вдягаю їх (баєри), значить, а вони щось у вуха мої динаміками впираються. Пройшло пару днів і до мене дійшло — амбушюрам просто гаплик. На дотик просто всередині поролон зовсім трухлявий вже. Ну я знайшов у інтернеті заміну, купив, і вже навіть отримав... але щось ніяк не можу відійти від думки, що такий вік вже, що навіть навушники треба лікувати. 😂
Колись захотілося мені вдома зробити днс, щоб телік мона було попінгувати - і, авжеж, мій тплінк цього не вміє. Туди можна встановити опенврт, але тільки через задній прохід - вскривай там щось і колупайся у нутрощах. Я ж програміст, а не залізячник, бе. 😅
Виявилося, що я не один такий хочу опенврт без гемору (хахаха), і є компанія GL.Inet з Гонконгу, яка робить роутери одразу з опенврт. І у серпні за передзамовленням взяв новий — Flint, з 802.11ax, щоб гігабіт мій не пропадав же ж. :)
Приїхав він пару тижнів тому, я його засетапив — вони, до речі, роблять ще свою веб-морду, бо стандартна зара Люсі зроблена для терплячих. :) Вміє менше, ніж Люсі, але головні задачі закриває. Так ось, засетапив, а воно пищить. 😱 На столі, вочевидь, взагалі гучно, але й на стелажі в двох метрах все одно чутно.
Помаявся трохи і написав у підтримку. І через тиждень переписки і моїх перевірки з іншими блоками живлення кажуть: відправте нам у Германію за наш рахунок, а ми вам новий пришлемо, бо писк не повинен бути чутним на відстані більше 5 см. :)
Оце кастомер сервіс, капець! 😲 Супер-круто. Трохи непокоїть те, що може це я занадто тендітний, але ж тплінк мій не пищить? 😃 Подивимося!
Виявилося, що я не один такий хочу опенврт без гемору (хахаха), і є компанія GL.Inet з Гонконгу, яка робить роутери одразу з опенврт. І у серпні за передзамовленням взяв новий — Flint, з 802.11ax, щоб гігабіт мій не пропадав же ж. :)
Приїхав він пару тижнів тому, я його засетапив — вони, до речі, роблять ще свою веб-морду, бо стандартна зара Люсі зроблена для терплячих. :) Вміє менше, ніж Люсі, але головні задачі закриває. Так ось, засетапив, а воно пищить. 😱 На столі, вочевидь, взагалі гучно, але й на стелажі в двох метрах все одно чутно.
Помаявся трохи і написав у підтримку. І через тиждень переписки і моїх перевірки з іншими блоками живлення кажуть: відправте нам у Германію за наш рахунок, а ми вам новий пришлемо, бо писк не повинен бути чутним на відстані більше 5 см. :)
Оце кастомер сервіс, капець! 😲 Супер-круто. Трохи непокоїть те, що може це я занадто тендітний, але ж тплінк мій не пищить? 😃 Подивимося!
Анонси Клаудфлера за останні роки виглядають дуже цікаво — наче вони планують підрізати Амазон. Точніше не так, воно виглядало так раніше, а у цьому році вони прямо його підрізали. :)
Підрізали дуже яскраво — анонсом R2, повної альтернативи для S3, тільки в 6 разів дешевше для збереження і з безкоштовним трафіком. Не просто дешевше драконівських тарифів амазона, а взагалі безкоштовний! При чому воно одразу може працювати як проксі, якщо об'єкта немає — сходи он туди за ним. В бекенд чи просто в S3. :) Я не можу дочекатися релізу, щоб перекласти туди наші картинки та забути про них взагалі. :)
Але якщо подивитися уважніше на всі інші пропозиції клаудфлера, вони всі лоу-кост і працюють на самому краєчку (on the edge - воркери, key-value сховище для них, хостинг для статичних сайтів — майже статичних, є ж воркери), зовні всіх інших провайдерів платформ. Це дуже цікаво наблюдати було, але ось прочитав гарну статтю з аналізом ситуації, і там чувак фантастичну аналогію придумав: поки амазон грає у шахи, продукуючи все потужніші фігури, клаудфлер грає у го, маленькими камінчиками захоплюючи собі територію. Окружає амазон та всіх інших.
Супер круто все роблять, дуже цікаво спостерігати.
Підрізали дуже яскраво — анонсом R2, повної альтернативи для S3, тільки в 6 разів дешевше для збереження і з безкоштовним трафіком. Не просто дешевше драконівських тарифів амазона, а взагалі безкоштовний! При чому воно одразу може працювати як проксі, якщо об'єкта немає — сходи он туди за ним. В бекенд чи просто в S3. :) Я не можу дочекатися релізу, щоб перекласти туди наші картинки та забути про них взагалі. :)
Але якщо подивитися уважніше на всі інші пропозиції клаудфлера, вони всі лоу-кост і працюють на самому краєчку (on the edge - воркери, key-value сховище для них, хостинг для статичних сайтів — майже статичних, є ж воркери), зовні всіх інших провайдерів платформ. Це дуже цікаво наблюдати було, але ось прочитав гарну статтю з аналізом ситуації, і там чувак фантастичну аналогію придумав: поки амазон грає у шахи, продукуючи все потужніші фігури, клаудфлер грає у го, маленькими камінчиками захоплюючи собі територію. Окружає амазон та всіх інших.
Супер круто все роблять, дуже цікаво спостерігати.
www.swyx.io
Eating the Cloud from Outside In
AWS is playing Chess. Cloudflare is playing Go.
Колапс
За останній тиждень подивилися новий реліз Суспільного, про розвал Совку, ГКЧП і таке інше. 7 серій хвилин по 40, більшою частиною інтерв'ю від різних цікавих людей, які тим чи іншим чином приймали участь у подіях — не буду їх перераховувати, дуже вже їх багато: журналісти, діаспора, чиновники тощо.
Я занадто малий, щоб пам'ятати, що там відбувалося — взагалі пам'ятаю дисонанс у голові класі в третьому-четвертому, коли в усіх книжках, де це може бути згадано — я любив читати "Детскую Энциклопедию" і щось таке риже в трьох томах — написано "живемо в найкращій страні у світі - СРСР", а у школі проскакує Україна. :)
Тож подивитися було дуже цікаво, воно ще й добре зроблено. Рекомендую.
За останній тиждень подивилися новий реліз Суспільного, про розвал Совку, ГКЧП і таке інше. 7 серій хвилин по 40, більшою частиною інтерв'ю від різних цікавих людей, які тим чи іншим чином приймали участь у подіях — не буду їх перераховувати, дуже вже їх багато: журналісти, діаспора, чиновники тощо.
Я занадто малий, щоб пам'ятати, що там відбувалося — взагалі пам'ятаю дисонанс у голові класі в третьому-четвертому, коли в усіх книжках, де це може бути згадано — я любив читати "Детскую Энциклопедию" і щось таке риже в трьох томах — написано "живемо в найкращій страні у світі - СРСР", а у школі проскакує Україна. :)
Тож подивитися було дуже цікаво, воно ще й добре зроблено. Рекомендую.
YouTube
На межі ядерної катастрофи. Колапс на Різдво | Колапс. Як українці зруйнували імперію зла
00:00 Чи могли Росія та Україна обмінятися ядерними ударами
07:15 Осіннє загострення недовіри між двома республіками
12:00 Мітинг за захист незалежності України
16:31 Реакція в США на процеси в Україні та Росії
19:54 Візит Кравчука до Вашингтону
23:28 Чи…
07:15 Осіннє загострення недовіри між двома республіками
12:00 Мітинг за захист незалежності України
16:31 Реакція в США на процеси в Україні та Росії
19:54 Візит Кравчука до Вашингтону
23:28 Чи…
Році десь у 2006 чогось закортіло завести собі блог, на власному домені. Взяв вордпрес, поки підганяв тему — трохи роздуплився в пхп, і потроху почав в той блог писати. Але від пхп в мене залишився неприємний посмак, і я захопився пайтоном і джангою (дякую, Ваню!), і навіть пішов програмувати через це (замість того щоб адмінити лінукси).
І, авжеж, я взяв і написав блог на джанзі, під назвою Byteflow. А потім написав генератор статичних сайтів - Cyrax, бо джанга занадто повільна і взагалі, нашо блогу динаміка? :) А потім ще один генератор - gostatic, бо пайтон теж занадто повільний, і чекати рендер кілька секунд, коли пишеш пост — це не наш метод.
Ну пре мене написання інструментів, що поробиш. :) Чи не більше, ніж власне написання текстів. 😁
Так от, я довго писав пости в телеграм у окремому редакторі, а потім копіював у телеграм руцями, але ж терпець уривається! 🤦♂️ А в Ulysses нещодавно вийшло оновлення: вони навчилися оновлювати пост у Wordpress і в Ghost. Апі вордпресу торкатися трохи неприємно, а ось у госта, думаю, подивлюся.
І що ви думаєте? Все вийшло! Зробив штуку — xapi cms (ну, кросс-апі, зрозуміло?). Це такий безголовий cms, який реалізує частину апі Ghost’a. Воно ще дуже рудиментарне, але головне працює. Виглядає це так:
• Авторизуєшся через гітхаб
• Воно видає тобі логін/пароль для Ulysses
• Додаєш в Ulysses як Ghost
• Ну все, можеш писати та публікувати
Публікація якогось посту з Одісея у xapi викликає тригер вебхуку екшена для гітхабу. А у тому екшені вже можна робити, що заманеться, кастомізуй під свій кейс, як душі завгодно. Наприклад, можна забрати з апі свій пост і відправити його у телеграм. :) Покажу свій хук, як дороблю до кінця. Ну і саму запі теж покажу, хочеться трохи полірування (і, чесно кажучи, мінімального цсс на три наявні сторінки).
Тож тепер я автоматизований! Це не означає, що я більше буду писати, але означає, що я трішки щасливіший. :)
І, авжеж, я взяв і написав блог на джанзі, під назвою Byteflow. А потім написав генератор статичних сайтів - Cyrax, бо джанга занадто повільна і взагалі, нашо блогу динаміка? :) А потім ще один генератор - gostatic, бо пайтон теж занадто повільний, і чекати рендер кілька секунд, коли пишеш пост — це не наш метод.
Ну пре мене написання інструментів, що поробиш. :) Чи не більше, ніж власне написання текстів. 😁
Так от, я довго писав пости в телеграм у окремому редакторі, а потім копіював у телеграм руцями, але ж терпець уривається! 🤦♂️ А в Ulysses нещодавно вийшло оновлення: вони навчилися оновлювати пост у Wordpress і в Ghost. Апі вордпресу торкатися трохи неприємно, а ось у госта, думаю, подивлюся.
І що ви думаєте? Все вийшло! Зробив штуку — xapi cms (ну, кросс-апі, зрозуміло?). Це такий безголовий cms, який реалізує частину апі Ghost’a. Воно ще дуже рудиментарне, але головне працює. Виглядає це так:
• Авторизуєшся через гітхаб
• Воно видає тобі логін/пароль для Ulysses
• Додаєш в Ulysses як Ghost
• Ну все, можеш писати та публікувати
Публікація якогось посту з Одісея у xapi викликає тригер вебхуку екшена для гітхабу. А у тому екшені вже можна робити, що заманеться, кастомізуй під свій кейс, як душі завгодно. Наприклад, можна забрати з апі свій пост і відправити його у телеграм. :) Покажу свій хук, як дороблю до кінця. Ну і саму запі теж покажу, хочеться трохи полірування (і, чесно кажучи, мінімального цсс на три наявні сторінки).
Тож тепер я автоматизований! Це не означає, що я більше буду писати, але означає, що я трішки щасливіший. :)
Ден Луу написав новий пост, про передачу знань, вмінь і підходів культурою, і згадує там прикольний момент — про те, як легко попасти з докладом на велику конфу. Май ідею, запиши її, відправ через форму і твої шанси вже непогані! Треба просто знати, що це й все. :)
Це інсайт, до якого ми з Севою дійшли років з 10-15 тому: робити можна дуже багато чого, але ти не знаєш навіть про існування цього і в результаті втрачаєш час. Це «невідоме невідоме», на відміну від «відомого невідомого», про яке ти можеш піти почитати. Гарний приклад останнього — їзда на велосипеді, всі про неї знають, навіть якщо не всі вміють. Але от лижі... коли я почав працювати, чому ми з друзями не їздили покататися? Просто не знали, що це так просто — узяв і поїхав!
Ще кращий приклад — як зробити щось. Програмісти зара працюють у середовищі, коли ось є таск трекер і бери роби задачі. І коли ти так все робоче життя працюєш, зовсім незрозуміло, як зробити якийсь проект. А воно ж робиться просто — йдеш до людей, які повинні щось зробити, і переконуєш їх. Зазвичай, щось не робиться не тому, що ніхто не хоче, а тому, що на це треба енергія. І коли з‘являється людина з натхненням і бажанням, дати їй це зробити — найпростіший вибір у житті. 😃
Інші його роздуми теж цікаві, але він графоман, тому радити дочитати до кінця важко, я сам не можу, хахаха. :)
Це інсайт, до якого ми з Севою дійшли років з 10-15 тому: робити можна дуже багато чого, але ти не знаєш навіть про існування цього і в результаті втрачаєш час. Це «невідоме невідоме», на відміну від «відомого невідомого», про яке ти можеш піти почитати. Гарний приклад останнього — їзда на велосипеді, всі про неї знають, навіть якщо не всі вміють. Але от лижі... коли я почав працювати, чому ми з друзями не їздили покататися? Просто не знали, що це так просто — узяв і поїхав!
Ще кращий приклад — як зробити щось. Програмісти зара працюють у середовищі, коли ось є таск трекер і бери роби задачі. І коли ти так все робоче життя працюєш, зовсім незрозуміло, як зробити якийсь проект. А воно ж робиться просто — йдеш до людей, які повинні щось зробити, і переконуєш їх. Зазвичай, щось не робиться не тому, що ніхто не хоче, а тому, що на це треба енергія. І коли з‘являється людина з натхненням і бажанням, дати їй це зробити — найпростіший вибір у житті. 😃
Інші його роздуми теж цікаві, але він графоман, тому радити дочитати до кінця важко, я сам не можу, хахаха. :)
Лечу у Голандію (що блін з цією темою? чому я їх не називаю країну Нідерландами? якийсь брейн демейдж; добре хоч літак у Амстер, реально Голандія), прям от сьогодні. А вчора правительство нідерландське (виправив тут) прийняло рішення перенести Україну з «безпечних» до «небезпечних» країн.
Це означає, що прилетіти можна тільки, якщо ти підпадаєш у виключення, а так — ні-ні. Суууупер, думаю, дуже вдало квиток в мене на перший день цього тупняку... Але одне з виключень: повна вакцінація! Так що все норм, летимо!
Поки сидів у таксі, вирішив уважно все перечитати, і воно каже:
you must always complete a quarantine declaration form. Even if you are not required to quarantine.
Що мені, складно форму заповнити? Лец ду іт:
If you are travelling from Ukraine you are not required to self-quarantine.
Фантастика. Ніхто у цьому світі не захищений від людей, які приймають складні зміни з сьогодні на завтра. 🤦♂️
Це означає, що прилетіти можна тільки, якщо ти підпадаєш у виключення, а так — ні-ні. Суууупер, думаю, дуже вдало квиток в мене на перший день цього тупняку... Але одне з виключень: повна вакцінація! Так що все норм, летимо!
Поки сидів у таксі, вирішив уважно все перечитати, і воно каже:
you must always complete a quarantine declaration form. Even if you are not required to quarantine.
Що мені, складно форму заповнити? Лец ду іт:
If you are travelling from Ukraine you are not required to self-quarantine.
Фантастика. Ніхто у цьому світі не захищений від людей, які приймають складні зміни з сьогодні на завтра. 🤦♂️