# Блог Вови Рожкова > Шлях кабанчика Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages ### Про мене URL: https://www.rozhkov.me/about/ Last updated: 2022-10-12T11:06:56.000Z ![](https://www.rozhkov.me/content/images/2020/11/IMG_5573-2-.jpg) На березі Канівського водосховища Привіт, я Вова Рожков — архітектор, техлід, менеджер. Займаюсь розробкою вже більше 13 років, з 2007\. За цей час попрацював у великій корпорації, в стартапі, з друзями зробив свою аутсорсингову компанію. Мій кар'єрний шлях досить насичений: в корпорації я прокачався від звичайного інженера до керівника відділу та менеджеру проектів, в стартапі просто був першим інженером, в своїй компанії займався архітектурою та керував командою. Зараз я незалежний консультант. Для деяких клієнтів я роблю рішення від початку до кінця (бізнес-аналіз, архітектура, розробка, розгортання в прод), з іншими працюю як контрактор в рамках великих команд. Я великий фан E-shaped концепції та володію широким набором компетенцій у розробці, devops, керуванні командами і так далі. В основному я працюю з Java/Ruby та Heroku/AWS, але знаю також багато інших мов та платформ. Веду цей блог, [телеграм канал](https://t.me/full%5Fof%5Fhatred) та [твітер](https://twitter.com/xrozhokx). Долучайтеся! Я розповідаю про розробку, кар'єру, своє життя та про все що мені здається цікавим. Якщо вам цікава моя експертиза, пишуіть на [xpunkerx@gmail.com](https://www.rozhkov.me/about/xpunkerx@gmail.com) або в [Телеграм](https://t.me/xrozhokx). Я обожнюю виступати та спілкуватися з дописувачами. Ось кілька моїх доповідей—про те як працювати менше та стрім про усіляке різне: Що робити зі скляною стелею? Стрімлю цікаві відповіді У вільний час я катаюсь в горах на ровері та лижах, граю на гітарі—виходить black metal: Демо-трек Цей блог працює на [Ghost](https://ghost.org/) з темою [Alto](https://alto.ghost.io/). Код теми ви можете подивитися на [гітхабі](https://github.com/rozhok/Alto). ### CV URL: https://www.rozhkov.me/cv/ Last updated: 2022-06-07T16:51:03.000Z Software architect, technical/team lead, people manager. Java, Ruby/Ruby on Rails, Python, node.js, Bash, Spring (Boot/Cloud), Netflix OSS, AWS, Site Reliability Engineering, DevOps, (No)SQL, REST, Microservices, Docker, BDD/TDD, Gradle, Git, Jenkins, Jira, IntelliJ IDEA, etc… ## Experience ### Software Architect at Devlify, Kyiv, Ukraine Dec 2015 – Present Built receipts processing service. Designed and implemented CI/CD stuff, infrastructure-as-a-code, setup DB backups and replication, designed backend (Java/Spring Boot), wrote admin UI using Ruby on Rails, built a ton of integrations. Built image comparison service using OpenCV. Tech used: Spring Boot, MariaDB, Ruby on Rails, AWS S3/SQS/Lambda, Jelastic. Built Zero-Code chatbot conversational platform using Java, Spring Boot and Ruby on Rails. Designed and developed E-Commerce analytic tool. Tech used: Ruby on Rails for UI, dashboards and batch jobs, Python/Scrapy/Splash for scraping, OpenCV for images comparison, Postgresql for storing large amounts of data. Built a lot of prototypes for sales demos and smaller services/apps. ### Software Development Engineer at OneDome, Kyiv, Ukraine June 2015 – present Working mostly with infrastructure and site reliability of [OneDome](http://www.onedome.com). Employee #2 and first software engineer here. Designed and built microservices blueprints using Spring Boot, Netflix OSS stack, Docker, AWS ECS and CloudFormation for infrastructure-as-a-code. Built blue-green CI/CD pipelines using Jenkins Pipelines. Wrote a lot of custom stuff related to deployment and monitoring. Tech used: Spring Boot, Spring Cloud Netflix (Eureka/Ribbon/Zuul/Hystrix), almost all AWS services, Java, Python, Node, Bash. ### Technical Manager at NetCracker, Kyiv, Ukraine January 2013 – May 2015 **CRM REST APIs project:** - Project goal: development of REST API’s for existing NC components - Acted as Project Manager, Technical Manager, SME - I've designed REST API’s for three business-critical NetCracker components - Proved that REST should be mainstream approach for building API’s - Created API guidelines and best practices for new components - Managed team from 4 devs, few QA’s and two performance engineers as lead architect and project manager - Delivered project in-time and in-budget - Technologies: Java, JAX-RS, Spring, rest-assured **Order Entry project:** - Project goal: development of lot of new features in one of the most business critical and complex NC components – Business Order Entry. Team consisted from 30+ people including lead devs, devs, qa, performance guys, technical writers etc. - Acted as Technical Manager and SME - Built a team, coached teamleads and senior devs, managed scope - Made a vital architectural decisions - Promoted changes in platform components – new ORM and other improvements - Technologies: Java, Spring, Test-Ng, WebDriver, Custom UI framework **eCommerce project:** - Project goal: deliver self-service portal for one of US largest cable provider - Acted as Performance Engineer – resolved critical performance issues in solution - Technologies: Java, Spring, custom frameworks **Cloud architecture prototyping:** - Project goal: create proof-of-technology of how to deploy business applications into cloud/how to make them distributed - Acted as SME and Technical Consultant - Technologies: Java, Spring, Eureka, Hystrix, custom frameworks ### Проєкти URL: https://www.rozhkov.me/projects/ Last updated: 2022-12-24T20:31:16.000Z ## [adopt.ua](https://adopt.ua/) Портал для адопції тварин. Тут ви можете знайти собі чотирилапого друга або розмістити оголошення про пошук сім'ї для свого піклуванця. ### Про канал rozho)))k URL: https://www.rozhkov.me/about-full-of-hatred/ Last updated: 2025-11-09T16:01:40.000Z Привіт! Я Вова Рожков. З 2007 займаюсь розробкою. За цей час пройшлов шлях від розробника до менеджера проектів, з друзями заснував, розвивав та закрив аутсорс-компанію. Зараз я незалежний консультант. Більш детально про це можна почитати у мене [в блозі](https://www.rozhkov.me/about/). На каналі я пишу про все що мені цікаво—поради спеціалістам, розмірковування про технології та філософію розробки, рефлексія по минулим подіям. Я пишу чесно та про себе. Тут ви не знайдете новин про нові фреймворки або топ 10 питань на співбесідах JavaScipt-розробників, натомість можете почитати про мій особистий досвід проведень та проходжень тих співбесід, про мої проекти, про боротьбу з лінню та прокрастинацією а також багато іншого цікавого. ## Posts ### Інститут вивчення телеграму URL: https://www.rozhkov.me/daily/isw/ Last updated: 2026-09-15T06:24:50.000Z В інтернеті знову хтось не правий і ріжок знову горить. Останнім часом відбулося досить багато подій, які звичайно викликали цілу купу реакцій, експертних думок, матеріалів, картинок зі стрілками й так далі. Чи варто казати що всі пишуть повну маячню та взагалі не розуміють що відбувається і намагаються застосувати методи індукції до якихось рандомних фактів. Це і про обстановку на фронті, і про інші події. Звичайно, як інсайдер у деяких питаннях, я теж хочу заробити соціального рейтингу, спростувавши гучні заяви або твердження, особливо якщо вони якимось чином дотичні мені, але робити цього не можна. Тому доводиться скрипіти зубами та читати всяке неподобство. Опсек, йопт. ### Ваші дрони своїм дзижчанням заважають піхоті наступати URL: https://www.rozhkov.me/return-old-warfare/ Last updated: 2026-09-14T06:24:38.000Z Поверніть механізовані штурми! Вся дронова двіжуха покладається на розвідку. Якщо у вас немає очей що будуть виявляти та вести противника, то ймовірність ураження різко знижується. Тому для повернення старої війни достатньо скористатися рецептом від офісу простих рішень — вибити точки пілотів мавіків та позбивати ті мавіки що ще літають. Дивно, наскільки у нас мало уваги приділяється цьому питанню. Або, як завжди, ріжку не довели. Кожен день на позиціях пілотів починається з кабів, незалежно від напрямку. Як в старих RTS, у кацапа є неточна, але дешева та потужна зброя — чугуній, а у нас — точна, але дорога і не така потужна — старлінки. Чому мій ранок починається з трійки кабів, а ранок пілотів противника починається з кохве, шоколадки та цигарок zov? Каб що впав поряд, якщо навіть не зруйнує укриття, то може здути антени, пошкодити склад та майно яке знаходиться нагорі. День (ранній коли ще темно, бо зіб'ють) пілотів противника теж має починатися з якогось FP-2 модифікованого під ближній край — поміняти вагу БЧ на дальність і засипати підарасів фугасами, щоб не казали носу з нори. А там уже і піхота може двіжанути, а там уже і ББМка може увірватися і навіть повернутися. Зараз пілотів наєбурють пукалками фпв — від того є користь, але тільки при системному кошмарингу, а не так шо відправили дві штуки, поділили є-бал на двох та пішли займатися своїми справами. Коли противник виявляв наші позиції, то не переставав наносити ураження поки хату та все що поряд не зносили в нуль. Вибити точки пілотів → підтягнути ближче своїх пілотів та піхоту → вибити піхоту противника → перейти то пункту 1 → ... → PROFIT! ### Штабна соціопатія URL: https://www.rozhkov.me/headquarters-sociopathy/ Last updated: 2026-08-26T06:57:51.000Z Пів року не сидів на позиціях — і ось уже я перетворююсь на штабного м'ясника який жене особовий склад вперед попри дзижчання фпв, падіння кабів та приходи артилерії. Фпв відпрацювала поряд? П+п, виносьте дрон, нам треба супроводжувати піхоту. Десята доба без відпочинку? Давай-давай, у вас повний гараж посилок на відправку штрумовикам. Не добиває зв'язок? Лізь на горище перевіряти та крутити антену. Фпв кружляє? Антену крути давай! Кожен щабель війська щиро ненавидить верхній. Бойові лаять штабних батальйону. Батальйонні штабні проклинають бригадних. Бригадні злословлять корпусних. Харчовий ланцюжок війська. У 95% випадків верхній рівень не дає жодного контексту нижньому. Нижньому здається що він займається безглуздою діяльністю і це дає ще більше приводів для демотивації та зради. Колись мені здавалось що маючи контекст задачі будуть виконуватися краще, але зараз я в цьому не надто впевнений. Між штабними та бойовими утворюється прірва, яка з кожним днем глибшає. Тому що навіть мій бойовий досвід вже менш релевантний аніж побратимів — збільшилась глибина ураження, кількість та якість засобів у противника. Ще рік тому я катався на позицію на машині яку лишав поряд в капонірі, а спав, жив та заряджав батареї в заможному маєтку місцевого ґадзи, в трьох кілометрах за спиною. Піхота противника знаходилась в 5 км переді мною. Не життя, а казка, зараз такого вже немає. Мине ще пів року й обстановка погіршиться ще більше. Не буде машин та квадроциклів, майно тягай на горбу, сиди на позиціях по ~~два тижні~~ місяцю та ротуйся під погоду. Як це вирішувати? Відправляти штабних назад, щоб не втрачали відчуття війни, тримали анус в тонусі та мали більше емпатії до тих, чию роботу координують. Я знаю підрозділи які частково так роблять, але загалом через брак особового складу та специфіку роботи, це досить складно — бо треба в одній людині сумістити дві професії. *Звичайно, я буду так казати, бо не маю жодного бажання повертатися до підвально-бліндажного життя, але якщо скажуть «вперед-вперед», то ухильнутися буде неможливо.* Ну а поки всі сидять на своїх посадах, то відмежування та нерозуміння поглиблюється. [Все як у книзі](https://www.rozhkov.me/skin-in-the-game-book-review/). ### Згідно-відповідно URL: https://www.rozhkov.me/per-sop/ Last updated: 2026-08-24T06:24:40.000Z Якщо я чогось не знаю — це не моя проблема. Голова солдату потрібна, щоб у неї їсти, а думати за нього має старший начальник. Саме тому фан-клуби Сергія Флеша, пдф-ки в дельті та сигнал чати по інтересах ніколи не будуть працювати як якісні канали розповсюдження корисних практик, інновацій та системної протидії ворогу. Значна частина військовослужбовців — це втомлені та не надто мотивовані люди, які після бойового виходу хочуть відпочити та потупити у тікток, а не крутити паяльника. У великих бригадах є можливість створення власних майстерень де можливо будуть працювати такі ж не мотивовані, але принаймні не такі втомлені люди що матимуть когнітивний ресурс та мислепаливо на нові придумки. Але таких бригад, де старший начальник не шукає методи зберігання солярки, а думає про технології — не так багато. Тому всі інновації мають впроваджуватися добровільно-примусово, а не рекомендаційно через телеграм канали, а по фронту має кататися інспекція та перевіряти чи правильно використовуються засоби та збирати відгуки. Ось я [перелічив якийсь базовий список потреб](https://www.rozhkov.me/unmanned-unsystem-unforces/), і мені кажуть — та у нас все є, ось бери користуйся, ні, я не буду брати й користуватися, у мене DLC до сталкера 2 не пройдений стоїть, а в 4 вихідні на місяць я їду додому до дружини, тому вибачте, давайте спеціальні люди нам все спускають по вертикалі. *Я навіть назву придумав для таких людей — «Центр інновацій та розвитку оборонних технологій», звучить потужно, правда?* Була хороша ідея з цифровими офіцерами — навченими людьми які б ходили по штабах та переконувалися в тому, що цифрові продукти використовуються на повну. А я вам можу сказати що багато відповідальних персонажів не здатні використовувати навіть базові можливості систем, які б скорочували час на прийняття рішень. Обов'язкові тренінги з екзаменами. Чи були ті цифрові офіцери? Не знаю, до мене ніхто не дійшов. А зараз й поготів, напевне перетворилися на аналогових. Дивовижно, як в такій строгій ієрархічній системі як армія ми не можемо вирішити якісь зовсім базові речі. ### Безсила безсистемна безпілотність URL: https://www.rozhkov.me/unmanned-unsystem-unforces/ Last updated: 2026-08-18T21:42:37.000Z Ніщо не дратує мене в армії так, як неефективність та халепа якої можна легко уникнути. Чим довше працюю, тим більше підгораю від незакритих базових, гігієнічних потреб. За два роки з публікації [попереднього допису](https://www.rozhkov.me/best-practices-in-army/) нічого не змінилось. На смугу заходить топ-10 організм. Очікування — зараз заживемо, налагодять безпілотну роботу в секторі, принесуть бест практіцес, всіх навчать, всім допоможуть. Реальність — 0 взаємодії, працюють по своїм справам, на прохання попрацювати по запиту — «у нас свої планові цілі», підор пілоти нон стоп наєбурють наші позиції. Противник дуже добре налагодив роботу свого малого ППО. Очікування — потужний організм по вертикалі донесе інформацію нагору, там знайдуть протидію (вона є), спустять вниз рекомендації по модифікації засобів, та зобов'яжуть всіх проапгрейдитися. Реальність — всім п+п, підрозділи втрачають засоби на десятки мільйонів гривень щодня, потужний організм продовжує займатися своїми справами, лутає єБали. Логістика на передній край це одна з найголовніших задач. Проте через особливості роботи бомберів та пакування посилки часто розбиваються. Очікування — управління пропушить через виробника виготовлення котушок під кожен засіб, доведе рекомендації. Протестують найкраще пакування та розроблять «дефолтну посилку» (вода, їжа, медицина + місце для персональних потреб) різних розмірів (5-10-15-20 кг). Реальність — одиниці працюють з тросом і котушкою, вода та сухпаї розбиваються від скиду з висоти 10-и поверхівки, піхота голодна, позиції втрачаються, діпстейт перемальовує мапу. Радіо дрони розліталися по тилах, лютують неймовірно. Очікування — потужні організми придумають способи виявлення точок пілотів (це можливо), проведуть системну розвідувальну роботу та організують корпусні сили на колективне ураження. Реальність — п+п, літають по гарматах в кущах, лутають єБали. На мавіки з'явилися нові супербатареї що збільшують час в небі до години. Очікування — завдяки центру компетенцій на наступний десь весь корпус знає де купувати та як використовувати такі батареї, реальність — дізнаєшся про це випадково зі збитого підор мавіка який не мав долітати туди куди він долетів. Але безілотним безсистемам на мавіки п+п, тому що за 24/7 цинкування посадок не дають єБалів. Широка номенклатура антен та особливості їх застосування ніяк не задокументовані. Практики противника з проміжними підсилювачами не використовуються, кабелі купуй які хочеш, пульти переробляй де хочеш. Очікування — управління проведе роботу з тестування антен, виявить найкращий варіант та дасть свої рекомендації. Реальність — хто в інтернеті шо побачив на тому і літає. Надзвичайно важливо мати обізнаність по малому небу в секторі — засоби РЕР та технічної розвідки, інформацію про роботу РЕБ. Очікування — в надрах сил вайбкодер розробить дашборд для реалтайм сповіщення, а корпус посадить за кнопки чергового. Реальність — половина організмів не дивиться РЕР і втрачає засоби або получає піздов, інша половина хоботиться та ставить щось своє, третя половина з'ясовує «шо по небу» голосом у відповідальних. Інформація проходить з затримкою, неточна та невчасна. Це все не є складна чи велика робота. «Продакт менеджери» в армії можуть дуже швидко впроваджувати рішення та отримувати фідбек і масштабувати це. Будь-який просвітлений айпішник з мінімальним менеджерським бекграундом швидко визначить загальні для всіх речі які не є узагальненими. Але то нікому не цікаво, всім цікаві «далекобійні санкції» та гоупро на піхотинцях. Тьху. ~~P.S.: Бойові до речі вже 17 днів як не можуть порахувати, тіки про це картонкам ніхто не скаже.~~ upd: бригадопроблеми. ### Беззвітний збір на операційні витрати URL: https://www.rozhkov.me/need-money-for-opex/ Last updated: 2026-08-05T06:28:25.000Z Як і у всіх підрозділів, у нас є спільна каса. Значну частину витрат ми закриваємо саме з неї, а до вас я звертаюсь лише за цільовими потребами. Бензин, газ, солярка (зараз дуже сильно скоротили постачання), оренда житла та складів, ремонт авто, скотч-стяжки, ремонт зарядних станцій та генераторів, будівельні матеріали для облаштування та маскування позицій, нова пошта (волонтерські бали досить швидко вичерпуються, а доставка матрісів в ремонт обходиться в копійочку), кабелі для старлінків, пропелери на дрони різного штибу (матріси, вампіри), ремонт дронів, деяка екіпа замість спаленої, матеріали для підготовки БК-посилок-дистанційного мінування, і так далі, все це закривається нашим коштом. Хотілося б отримувати сотку бойових та жити за гроші багатих айтівців (тобто вас), але на практиці виходить так що збори закривають хоч і значну, але меншу частину потреб. Так, за минулий місяць ми витратили 250 тисяч, за квартал — 750 тисяч, а загалом рахунок вже не на один мільйон. Це все — гроші з наших зарплат та бойових. Раніше вдавалося частину цих витрат перекривати з загальних зборів від підрозділу, та небайдужих громадян які закидали чималі суми. За кілька років ці всі запаси вже стерлися в нуль, а зараз ще й різко виросла інтенсивність роботи, і виникають ситуація коли треба щось купити, а у бійця просто вже не лишилося грошей на карті. Для цього нам потрібен операційний резерв. Звітувати за нього повноцінно я не зможу, тому що це сотні чеків на тисячу дрібниць які треба ще заблюрити, щоб не давати зайвої інфи осінтерам. Тому для тих хто мене знає та хто довіряє — ось банка — я не буду її розбивати, а зніматиму по 10к по необхідності. PayPal: `xpunkerx@gmail.com` Дякую за довіру та допомогу. P.S. на випадок казінаріїв — абсолютно всі чеки (окрім невеликої кількості готівкових безчекових операцій) у мене зберігаються. ### Реактивна війна URL: https://www.rozhkov.me/reactive-war/ Last updated: 2026-08-03T06:24:24.000Z Де б я не був — ~~хохол~~ українець воює реактивно. Вся наша війна — це реакція на дії росіян. Піхота наступає — ви в'яло розвалюємо йобликів дронами. Накопичується — ми відступаємо. Розносять позиції пілотів — перекочуємося на інші. Починають літати у великі прифронтові міста — затягуємо сітками. І так далі. Повністю відсутня системна комплексна робота по будівництву укріплень та капонірів, завчасному наведенню переправ (противник руйнує мости), загороджувальному або дистанційному мінуванню, створенню т.зв. «кілзон» (повне випалювання місцевості та руйнування будь-яких потенційних укриттів, а не те про що вам розказують в телеграм каналах дроноводів). Ну, тобто вона може десь і ведеться, десь накопані траншеї і так далі, але коли починає смердіти смаженими сраками пілотів, то виявляється що крім сільських хат більше нічого не годиться для роботи. Відтягуються пілоти → стає важче знищувати штурмові двійки та працювати по тилах → підтягуються пілоти противника → посилюється робота по нашій піхоті та наших пілотах → діпстейт публікує пост про те що «утримання НП стає неможливим через постійний тиск ворожої піхоти» та публікує оновлену мапу. Ще коли противник на підступах і на небокраї починає майоріти втрата населеного пункту, всі посадки довкола мають бути перекопані під укриття, все що ще може бути затягнуте сітками — має бути затягнуте, а передові позиції потроху мають відкочуватися назад з тотальним знищенням всіх хат, бліндажів та посадок та мінуванням від якого цивілізовані вестерни отримали б серцевий напад. Кацап будує цілі підземні міста, натомість ми досі віримо в те що воювати мають дрони з відповідним результатом. На моїй ділянці підрозділ робить що може і це приносить результат, але воно не може бути масштабоване на всіх без відповідного задуму та волі старшого начальника. Тому продовжуємо сподіватися на те що «далекобійні санкції» примусять противника до миру, кріпитися, та повільно відкочуватися з вигідних позицій які противник стирає в порох. ### Папа, а шо лучче – ахвіцеp чи камандіp? URL: https://www.rozhkov.me/useless-ranks/ Last updated: 2026-07-31T06:24:35.000Z Третій год в армії як не можу зрозуміти концепцію звання. Ну тобто я можу зрозуміти мету — щоб бути керованою, армія потребує чіткої ієрархії, і один з методів визначити в кого товстіший — це звання. Але в нашій війні я не розумію, навіщо вони потрібні. У мене немає офіцерського звання, але я обіймаю офіцерську посаду. Мадяр (ха-ха, порівняв) має посаду *командувача роду військ* у званні майора. І навпаки — вище сидять всілякі полковники та лейтенанти, які, очевидно, є абсолютно непридатними для своєї роботи, ба більше, навіть шкідливими. Немає безпомічнішого та жалюгіднішого створіння ніж штабний піджак що жодного дня не був на війні. Всяка шляпа що за дурнуватою примхою долі та непорозумінням отримала абсолютно нерелевантну «освіту» на кафедрах та в академіях, а тепер засипає «підлеглих» необхідністю подавати [щоденні звіти](https://www.rozhkov.me/military-reporting/) на 09 00, 12 00, 18 00 та 22 00 та не хоче і не може розбиратися у своїй роботі й опановувати сучасні електронні системи. Очевидно, система військових звань себе абсолютно дискредитувала. Чому за неї досі тримаються? Ну, питання риторичне. Можу лише радіти спостерігаючи за досвідом 3 АК, які влаштували всьому цьому кодлу офіцерський вихід. Сподіваюсь, що ці практики будуть впроваджуватися й надалі. P.S.: Як виявилося, знайомий з новим ГК через одне рукопотискання, згідно з відгуками маю обережний оптимізм щодо призначення. ### Патчворк українського війська URL: https://www.rozhkov.me/afu-patchwork/ Last updated: 2026-07-30T06:24:19.000Z Невпинне бажання керманичів стругати рубанком нові підрозділи замість докомплектування старих призвело до дурної ситуації, коли на смузі в кілька кілометрів зосереджений [десяток підрозділів](https://www.rozhkov.me/brooks-law-in-army/). В кожного з цих підрозділів є по маленькій купці усіх засобів — піхота, розвід та ударні бпла, артилерія, і так далі. Кожен з цих підрозділів має свій штаб, своє підпорядкування та виконує свої задачі. Гастролери з відомих підрозділів приїздять підлутати в місцевих єБалів та набрати контенту для йоблика дня. Все це призводить до того що ніхто не відповідає ні за що, наявними засобами свою задачу виконати не може, а узгодження всіх дій та рухів займає цілу купу часу. А найгірше це те що на визначеній ділянці немає єдиного диктатора-генерала, який би вольовим рішенням реалізовував свій задум. Війна складається з великого комплексу заходів, безпосередній піхотний двіж — це найважливіша, але недостатня частка роботи, і для досягнення результату все має бути сплановано та узгоджено. Найпростіша ситуація яка зі мною траплялась не один раз — суміжний підрозділ затягнув піхоту на передові позиції, але не має ресурсу щоб доставити їм посилки й командирам доводиться *просити* колег по небезпечному бізнесу допомогти доставкою. Прохання немає ніякої сили та розраховане лише на доброчесність, а відмовити дуже легко — тому що засоби можуть бути заплановані на інші задачі, а пріоритет ніхто не визначив. Немає зверху начальника який маючи повну картину наявних засобів на смузі скаже підрозділу — «сьогодні ви робите доставку для штурмових груп цього полку». Дуже прикро відмовляти, розуміючи що десь попереду виснажений піхотинець не отримає пляшку прозорої, але ми теж не маємо вибору, тому що в нас є свої задачі, а тумбочки з якої можна діставати засоби — немає. Гірше коли під час ретельно спланованих штурмових дій по тому ж сектору починає рухатись інший підрозділ, палиться, привертає до себе увагу ворожих дронів та артилерії, чим наражає на небезпеку всіх хто поряд та повністю руйнує плани. Наша клаптева армія ефективна як мурахи які тягнуть кудись соломинку. Кожна мураха тягне у свій бік і лише за збігом обставин ця соломинка прямує у вірному напрямку. ### Деталі імплементації URL: https://www.rozhkov.me/implementation-details/ Last updated: 2026-07-03T12:58:38.000Z Зробити поверпоїнт, класні лендінги та пушку в Армія+ це звичайно добре, але ще потрібно розробити та донести чіткі інструкції до безпосередніх виконавців. В кінці місяця зазвичай приходять бойові. Багато бійців розраховують на ці гроші, бо живуть від получки до получки — не всі екс-айтішники з подушкою, і не всі мають достатню фінансову грамотність для того щоб не набирати боргів до зп. Нова складна схема нарахування бойових заблокувала їх нарахування та виплату тому що не були вчасно надані роз'яснення, а фінвідділ краще не заплатить нічого, аніж заплатить зайве і потім буде винен. Тому харчуйтесь ~~Святим Духом~~ красивим лендінгом про збільшення виплат, поки нагорі розберуться як кому і що нараховувати. Десять год тому, коли ми з партнерами виняйняли купку студентів щоб клепати форми, я надзвичайно серйозно ставився до вчасних виплат. Касовий розрив, клієнт затримує гроші — байдуже. Всі наші люди завжди отримували свої зелені папірці згідно комерційного курсу рівно кожного першого числа місяця. Немає нічого більш демотивуючого ніж потужні заяви які буквально наступним кроком не виконуються. Чому, чому не можна зробити нормально? Це ж не титанічна праця, є всі інструменти. Перед деплойментом в продакшен прогнали все на стейджингу, виловили всі баги і потім релізите. ![](https://www.rozhkov.me/content/images/2026/07/Frame-44.jpg) Щоб не дискредитувати армію ще більше потрібно зовсім небагато — планка настільки низька що достатньо мінімально виконувати заявлене. P.S.: з новими контрактами теж [не розібралися](https://x.com/dmrachnik/status/2068636783391162399), байдуже що напридумували в МО, коли це все не доведено роз'яснено узгоджено та підготовлено на найнижчих рівнях. P.P.S.: також [прокинули всіх](https://x.com/LordOfAshford/status/2068933172948091116) хто думав що збільшать базу з 20 до 30\. На презентаціях здавалося що 10-ка додається до дефолтної 20-ки, але виявилося що це тільки для тих, хто не отримує «премій» (доплати за ЛБЗ) та сидить в тилу. upd: гроші зайшли невдовзі після публікації😅 ### Поплавки URL: https://www.rozhkov.me/bobbers/ Last updated: 2026-07-01T06:24:08.000Z Попаянний від багаторічного життя в келії ухилянт кричить «нас відправлять в піхоту!!!1» під невинним постом про набір цифрових офіцерів від міноборони. Інший пригадує масове переведення людей з повітряних сил та мобільних вогневих груп в штурмові полки. Третій просто в ступорі гойдається на кріслі та бачить перед очима рубіконівського йоблика дня. За свою коротку кар'єру я бачив декілька випадків «переведення з бепелів у піхоту» — людина з самого початку хотіла в піхоту, її відбирали в безпілотний двіж, там вона якийсь час тусила, не показувала результатів і просилась на вихід. У всіх випадках це ініціювалось самими людьми. Зовсім інший масштаб має зворотній навпрямок — переведення з піхоти в пілоти. Поранені, поплавлені та попаяні (а також сезичі) поповнюють ряди війська майбутнього. На жаль, з особисто мого досвіду, це не завжди приносить користь. Через те, що з армії неможливо звільнити, то людей передають просто тому що більше їм ніде немає місця, а тут мали б приносити хоч якусь користь. Шкода, але з десятка екс-піхотинців показувати результат буде один-два. Чому так? ПТСР, поранення або травми (банально неможливість тягати навіть екофлов), загальна втома та демотивація. З іншого боку є ті хто не встиг попаятися або втратити віру в перемогу та працює за двох. Один мій екс-побратим піхотинець за відмову виконувати наказ був переведений до одного з штурмових полків де сів за волокно та став одним за найкращих пілотів. Людину яка добре виконує свою роботу ніхто просто так нікуди не буде переводити. Звісно зараз ви мені навалите фейсбучного фольклору, але я ніколи не бачив коли нормального бійця би кудись відправили. Тому не очкуйте. В штикову всі підемо після застосування ящірки, коли вже не буде на чому літати. Але то ще буде не скоро. ### Медалі відрами давали, я не брав URL: https://www.rozhkov.me/medal-of-honor/ Last updated: 2026-06-29T19:25:56.000Z СБСник керує FP-2 із затишного офісу в Києві та вже налупив рухомого і нерухомого майна на наградняк. Мобілізований зесман вийшов з позицій в Куп'янську після двох місяців перекатів по підвалах залишивши там половину зубів та шукає де взяти грошей на імпланти. Несправедливість? Несправедливість. Об'єктивна оцінка неможлива, навіть єбалістика не дає картини внеску окремої людини, тому командиру дається квота і той вже на хлопський розум визначає достойних. Для того щоб бути у верхньому квартилі (а то й перцентилі) потрібно вміти небагато — якщо ви можете записати серійники майна що їдуть на позицію, то ви вже геній по армійським стандартам. ![](https://www.rozhkov.me/content/images/2026/06/medal.jpg) Вважаю що треба запровадити окремі нагороди для піхотних посад — тому що зараз піхотний двіж незрівнянно складніший за все інше. Винайняти хороших дизайнерів, зробити якісні медалі, а не пластикову ветеранську фігню, яку ще треба надфілем обробляти від завусениць. Таку щоб не соромно було одягнути на парад через 40 років. Є час на всіляку фігню — має бути час і на вшанування воїнів. Я спокійно ставлюсь до нагород бо знаю свої реальні досягнення, але є достатньо людей для яких то досить важливо. Така нематериальна мотивація нічого не варта — чому б не заохотити тих хто цього хоче? Ну а поки шо збираю повного кавалера «Захисника України» за сумлінне ведення каси підрозділу. ### Замах на гривню, удар на копійку URL: https://www.rozhkov.me/all-bark-and-no-bite/ Last updated: 2026-07-29T13:51:58.000Z Через неможливість прибрати фундаментальну проблему війни — [страх загинути](https://www.rozhkov.me/i-wont-go/), реформи спрямовані на збільшення потоку добровольців на п'ятий рік війни, приречені на провал. Нагорі ймовірно це розуміють, але хочуть пропетляти від змін в силових методах, бо це політично непопулярні рішення. Результат вам відомий. Навіть не читав детально про нові контракти — байдуже, бо знаю що держава буде робити більше затягнути тих хто є в армії та обдурити тих хто прийде, просто через саму [природу системи](https://www.rozhkov.me/presumption-of-guilt/). Я вже давно змирився з тим, що тягнутиму лямку до талого, та не покладаю ніяких надій ні на що. Якщо неможливо уникнути силових методів мобілізації, то всі реформи потрібно спрямовувати не на добровольців які все одно [не прийдуть](https://www.rozhkov.me/i-wont-go/), а на свіжомобілізованих та тих хто вже служить. Менеджерам відомий принцип, згідно з яким ефективніше приділяти більше уваги тому хто працює добре, ніж тому хто працює погано. Контрінтуїтивно, як і «упередження виживання» — якщо у вас є слабкий співробітник, то краще його звільнити або залишити напризволяще, натомість зосередитись на мотивації та розвитку того хто перспективний або вже працює добре. Список можливих покращень просто безмежний — пан Георгій з каналу Vae Victis вже [все підготував](https://t.me/adbestias/6912) — бери й роби! Не зважаючи на тотально ухилянтський настрій населення, я вірю що більшість чоловіків, потрапляючи до війська, освоюються та впрягаються в катку. Так, ми маємо дуже велику кількість сезичів (по факту дезертирів), але хиткий баланс якось тримається. Тому лише спрямована на поліпшення умов мобілізованих та тих хто вже служить реформа може бути ефективною. На жаль, крім міноборони маємо також генштаб, а там пріоритетом є комплектування підрозділів т. зв. «штурмових військ» та створення нових бригад, що ставить хрест на потенційній демобілізації тих хто служить з початку війни. Старі бригади сточуються та перетворюються на безпі~~х~~лотні, внаслідок чого фронт перетворюється на друшляк, а кацап йде вперед. Але поза тим є багато чого що можна зробити — узгодити законодавство з реаліями, припинити мобілізовувати непридатних, покращити умови проходження БЗВП. Через вищезазначені пріоритети комплектування на жаль дуже обмеженим є найважливіше рішення кожного військовослужбовця — вибір підрозділу. Це сильно впливає на природній ріст умовно хороших підрозділів, що надалі збільшує відсоток дезертирства. Звісно що піхотний двіж це найважча робота, але крім відомих всім полків де квітне жмурилово, є й ті що ретельно все планують та максимально збільшують шанси дожити до ротації. Після таких реформ, збільшення якості та кількості мобілізованих вже можна думати й про те, як потроху виводити тих хто воює з 2022 (чи раніше) — навіть поступова та дуже повільна заміна людей буде кращою ніж десятки нових видів контрактів щопівроку. Але звісно цього всього не буде — тому очікуємо 170-і та 180-і бригади, збільшення темпів дезертирства, нові, нікому не потрібні контракти з помпезними анонсами та лендінгами та вихід ухилянтського спротиву на новий рівень. ![](https://www.rozhkov.me/content/images/2026/07/image.png) P.S.: існує думка що низькі темпи мобілізації не дають накопичити достатню кількість резервів для контрнахрюку, що зберігає життя наших людей. Так що можливо воно й на краще. *З вами був* ᛋ*\-воєнкор Ріжок, залишайтесь на каналі.* ### Я не піду URL: https://www.rozhkov.me/i-wont-go/ Last updated: 2026-06-19T06:24:49.000Z Однією з найбільших перемог рф на інформаційному фронті є глорифікація ухилянтів. Як тільки минули перші кілька місяців війни й потоку добровольців перестало вистачати для поповнення війська, то «котики ЗСУ» перетворилися на жахливих людоловів у балаклавах, а «бойові командири з досвідом АТО що цінують особовий склад» — на м'ясників що кладуть людей в безглуздих штурмах. Герой сьогодення вже давно не військовий що ціною власного здоров'я та життя стримує навалу орди, герой сьогодення — ухилянт який чинить збройний опір військовим з центрів комплектування, ухилянт який здійснює складний багатоденний піший перехід через гори та річки, та різного штибу інший ухилянт що химерними способами уникає мобілізації. Ще трохи й громади будуть голосувати за назви вулиць «Героїв спротиву ТЦК» та «Ухилянтської Повстанської Армії». Як так сталось? Комбінація небажання політичного керівництва брати відповідальність за непопулярні рішення, а військового — рішуче вимагати покращення кількісно-якісних показників. Вважаю що злочини та корупція ТЦК, а також використання владою мобілізації як репресивного інструменту мають другорядне значення в цьому питанні, хоча кожен такий ганебний випадок додає краплину в чашу ненависті народу. Чому? Бо ТЦК залучені хоч і на дуже важливому, але надзвичайно короткому початковому етапі проходження служби. У найшвидшому випадку ви будете мати з ними справу менше ніж добу — прийняли, поставили придатність — відправили в НЦ. Поза тим, риторика противників мобілізації однакова та не змінюється вже багато років — «я людина в статусі людина», «нє імєєтє права», «хай воюють депутати», «я нічого цій державі не винен», «випустіть за кордон» і так далі й так далі. Така ж одноманітна й риторика противників контрактів на умовно висококваліфіковані посади — програмістів, операторів дронів, аналітиків — «мене відправлять у піхоту», «де гарантії?», «мало грошей», можете самостійно навести ще десяток причин. Звичайно, ж, проблема мобілізації зовсім не в силових методах. Якщо завтра міністр перейменує ТЦК в «Офіс комплектування» та оголосить що тепер замість поліції та ветеранів в групах оповіщення будуть працювати неко-фембої на патівенах, законодавство узгодять з реаліями, а ГЗ підвищать в 10 разів, то зміняться лише дійові особи в тік-ток роликах. Єдина проблема мобілізації це те що *ніхто не хоче помирати*. І цю проблему неможливо вирішити ні грошима, ні неко-фембоями, ні термінами служби, ні депутатами та дітьми депутатів, ані посадками корумпованих військовослужбовців, ані «справедливим» ВЛК, ані тиловими посадами, взагалі нічим. Можна провести комплекс заходів щодо покращення умов служби — якісніше БЗВП, достойне грошове забезпечення, коротші терміни перебування на ЛБЗ, більше пільг і так далі. Це законтрить деякі ухилянтські аргументи, можливо навіть їх більшість, але жодним чином не розв'язує фундаментальну проблему — страх смерті. В короткій перспективі відсутні не-силові способи мобілізовувати велику кількість людей, і ви, мої читачі, це чудово розумієте. Вас нічого не переконало раніше, вас нічого не переконує зараз, вас нічого не переконає у майбутньому. ![](https://www.rozhkov.me/content/images/2026/06/image.png) Якщо ви не патріот/дурень/авантюрист, у вас 0 причин піддавати своє життя ризику, тому чесним буде сказати — «я боюсь загинути й тому не збираюсь йти на війну», не вдаючись до циркових номерів з ментальної еквілібристики про дітей депутатів. ### єБалістика URL: https://www.rozhkov.me/e-ballistics/ Last updated: 2026-06-15T06:41:21.000Z Публічний рейтинг єБалів є виключно медійним показником, та, що очікувано, дає мало інформації для роздумів. Суха сумарна цифра набрана підрозділом за визначений період часу не говорить ні про що, адже не зрозумілі ні характер цілей, ні кількість екіпажів що заробили бали, ні кількість спроб, ні напрям. Онлайн-табло «Підрахуйка» має трішки більше даних, але все одно, за ними не можна робити висновки щодо реальної ефективності підрозділів. Велика кількість єБалів може свідчити про: - велику кількість екіпажів - хороше забезпечення підрозділу - характер уражень (дорогі РЛС та нафтопереробні заводи, наприклад) - значну активність противника у смузі відповідальності Відповідно, сам по собі показник не може бути використаний ні для чого крім як для гучної заяви «підрозділ з топ-3 по набитим єБалам». Проте для бригад та корпусів що мають детальну інформацію, єБалістика вже дає реальний аналіз ефективності підрозділів. Легко взяти два екіпажі що працюють в одній смузі, подивитися їх результат в розрізі місяця, чітко визначити, хто молодець, а хто ні, та вжити відповідних заходів — донавчити менш результативний екіпаж, дооснастити засобами, дати більше засобів тим хто кращий і так далі. Тому це неідеальна, але хороша система, що також максимально виключає корупційний складник, бо верифікація відбувається незалежно. Згідно з [законом Гудгарта](https://www.rozhkov.me/goodharts-law/), натуральним чином ціль підрозділів змінилась з «виграти війну» на «заробити єБали», а друге зовсім не дорівнює першому. Ми можемо лідирувати в рейтингу, але все одно втрачати території, через велику кількість штурмових дій. єБалістика може зміщувати акцент на характер цілей — фокусуватися на дорогих дальніх ураженнях, та створює конкуренцію між підрозділами, що в теорії добре, бо змушує всіх до розвитку, а з іншого боку приводить до саботажу, наприклад умисним відведенням свого розвід-дрона в момент ураження, щоб суміжник не отримав відеопідтвердження для верифікації, або небажання успішного підрозділу ділитися технологічними практиками з іншими для збереження переваги. Тому ці показники повинні аналізуватися в динаміці та поєднанні з іншими даними, щоб максимально використовувати потенціал ефективних підрозділів та зупиняти противника, а не просто робити контент для йоблика дня та вечірніх звернень щодо далекобійних санкцій. *З вами був* ᛋ*\-воєнкор Ріжок, залишайтесь на каналі.* ### Нефритовий стрижень DJI URL: https://www.rozhkov.me/dji-jade-rod/ Last updated: 2026-06-08T06:24:14.000Z За 4 год війни ні ми, ні противник не спромоглися розробити масовий засіб фронтової аеророзвідки. Досі немає нічого аналогічного продукції фірм DJI та Autel. Шмавіки які нам обіцяли, я бачив тільки в каналі федорова, як і Сібірячки, що так само існують в каналах z-воєнкорів. Китай радо бажає перемоги всім сторонам конфлікту тому безперебійно забезпечує і нас і противника своєю продукцією. Втім, є нюанс. Дрон DJI з заводу не підходить для фронту. Залежно від моделі потрібні різні маніпуляції спрямовані на відключення GPS, відключення будь-якого світла, реалізації під'єднання додаткових батарей та посилення слабких вузлів — гімбалу камери та променів. Пульт потрібно перероблювати та підключати товстими високочастотними кабелями до антени-підсилювача. Ці дії спрямовані на збільшення часу в повітрі, дальності роботи та стійкості до РЕБу. Проте дрони як були цивільними, так ними й залишились — слабкі мотори та батареї, крихкий корпус. Через закритість протоколу DJI неможливо віднести антену далеко від оператора, а втрати в кабелях та на роз'ємах часто можуть стати причиною втрати зв'язку. Сам зв'язок теж цивільний. Нічого з цього ми не можемо змінити. Все що ми робимо — це ліпимо з гівна і палок воркераунди довкола функціональності, що з самого початку мала бути не такою. Тому коли почнеться повноцінна третя світова, то Китай дасть всім просратися. Не стежу за їх індустрією, але переконаний, що там є хороші аналоги мавіків які мають всі потрібні військовому виробу характеристики. Поки натівський мілтек збирає і все ніяк не може зібрати раму щодо дешевих безпілотних засобів, у китайців уже є готові технології незрівнянно вищої якості. Шкода тільки що нам не продадуть, а своє робити ніким — х8х8л не хоче йти працювати у вітчизняний мілтек, бо поліграф, мало грошей та робота в офісі. ### Де два екіпажі — там три виробники дронів URL: https://www.rozhkov.me/two-kossaks-three-hetmans/ Last updated: 2026-06-06T05:12:44.000Z Однією з декларованих переваг українського мілтеку є величезна кількість виробників. На відміну від рф, де цим займаються великі концерни або корпорації й кількість виробів та моделей хоч і велика, але обмежена, у нас — безмежне різномаїття. Кожен виробник FPV робить свою унікальну ні з чим несумісну наземну станцію та ретранслятор. Наземна станція — це валіза з монітором та антенний блок. Дрони різних виробників можна під'єднати до різних станцій, але різні станції між собою несумісні — тобто кабель, телевізор, виносний блок від одного виробника не можна використовувати для іншого. Ретранслятори мають кріплення до дрона-носія, і кожне з них унікальне. Виробник TORO колись робив заклики для створення стандарту типу «рейки Пікатінні», але це залишилось без уваги. Тому, у випадку пошкодження або необхідності замінити ретранслятор, треба перекручувати всю конструкцію. Не те щоб це займало багато часу, але навіщо витрачати час та пластик якщо можна не витрачати? На п'ятий год війни досі немає стандартного кріплення для додаткових батарей на мавіки як і стандарту довжини хвостів самих батарей, стандартного кронштейна для мавікерських антен. Кожен робить так-сяк, на свій хлопський розум. У кожного виробника котушок також своя ні з чим несумісна наземна станція, ви не можете взяти волокно одного виробника й очікувати що воно буде працювати з наземним обладнанням іншого. Однакові лише FPV батареї, і те, тому що складно придумати унікальну форму упаковки для 12 елементів 18650. Втім, якщо з коптерами воно ще так сяк, то НРК — це зоопарк де різноманітні мавпи жбурляють фекалії одне в одного та у відвідувачів. Кожен комплекс це абсолютно унікальний виріб, зі своєю унікальною наземкою, зв'язком, пультом, софтом для управління, батареями, камерами й так далі, все це потребує доробки, навчання людей, та несумісне між собою. Адепти вільних ринків критикуватимуть будь-які ідеї регуляції, і вони мають раціо. Тому що тут є широкий простір для корупційних зловживань. Беремо рішення виробника-кєнта і кажемо що тепер це «правильний» спосіб, будь ласка, всі перелаштовуйте свої виробничі лінії. Тому в нас з цим нічого не роблять. Якось воно само буде. Ініціатива мала була б йти від СБС, як найбільш компетентної структури у цих питаннях. Чому не можна розповсюдити практики найкращих підрозділів на всі Сили Оборони та натуральним чином м'яко не примусити виробників робити сумісні між собою вироби? Здається що все просто, але на практиці... на практиці гадаю що так ми й далі воюватимемо. З десятком різних комплексів, та перевідкриттями колеса кожним виробником. ### Віддалена робота URL: https://www.rozhkov.me/remote-work/ Last updated: 2026-05-30T22:06:48.000Z Голови з телевізора переконують нас що воювати мають дрони які керуються вчорашнім геймером з бункера у Києві, намагаючись заохотити зневірений мобілізаційний ресурс хоч на такі вакансії. Звісно що їм ніхто не вірить та кепкує. Керування через інтернет це тема давно освоєна, в першу чергу завдяки старлінкам. Так звані «старлінколети» перестали бути монополією однієї відомої бригади СБС та перетворилися на стандартне комерційне рішення у форматі «дороби сам» або постачається у готовому вигляді. На старлінках літає, їздить та ~~плаває~~ ходить все підряд. На жаль, як би нам не хотілося всім сидіти в Києві, але дрон потрібно доставити до місця зльоту-посадки, спорядити боєприпасом або корисним навантаженням (посилка), перезаряджати батареї, та потім забрати назад після виконання задачі або на час ротації. Для цього потрібно мати на точці мінімум дві людини. Враховуючи дефіцит людей в СОУ, то ця приваблива для агітаційних речників історія часто не може бути реалізована, бо ті двоє що виносять дрон і є пілотами. Також, ідея відсунути людей від ЛБЗ автоматично викликає у будь-якого командира негативну реакцію та заперечення. Всі мають знаходитися в секторі якомога ближче до противника, бо так треба, тому що я так сказав. Втім, є хороші об'єктивні причини не возити людей на ЛБЗ, і в першу чергу це скорочення кількості логістичних переміщень. Противник дуже активно працює по наших тилах, і заїзд на позицію на авто, як раніше, перетворюється на FPV-рулетку, і це відстань в 10 км від ЛБЗ. Мої побратими вже неодноразово попадали під удар, і тільки дивом вдалося уникнути серйозних наслідків. Друге — це масштабування, наприклад одна точка може обслуговувати дві та більше команд пілотів, або навпаки — одна група пілотів може працювати з декількох точок, по готовності. Третє — це якісніший відпочинок екіпажів завдяки кращим побутовим умовам, ліпші умови ротацій та відпочинку. Четверте — безпека пілотів, виведення їх з-під загроз кабів, молній, фпв, артилерії й так далі. Ще півроку тому я дуже скептично ставився до такого формату роботи, але вже бачу як це активно впроваджується в інших підрозділах, ну і ми теж працюємо в цьому напрямку. Ви вже дали кошти на 2 модулі R2D2 для модернізації «Вампірів» і зараз нам потрібно 4 таких модулі. Кожен по 10000, разом 40000, банка: ### Подивився «Кіллхаус» URL: https://www.rozhkov.me/daily/killhouse/ Last updated: 2026-05-15T06:24:11.000Z Дуже крутий американський фантастичний бойовик з українським продюсером, режисером, знімальною командою та акторами. Мені сподобалось, раджу сходити поки показ ще триває. Після перегляду я захотів одночасно піти служити в 3 ОШБр, ГУР та СБУ, сподіваюсь що у вас виникне таке ж бажання. ### Справжні ураження URL: https://www.rozhkov.me/genuine-kills/ Last updated: 2026-05-13T06:24:59.000Z Щодня на споживача новин вивалюються тонни шок-контенту з вбивствами людей та знищенням техніки. Як відрізнити ефективний безпілотний підрозділ від неефективного? Звісно по відеодоказах з ураженням. Як відрізнити якісні ураження? Як відразу побачити що підрозділу немає чим похвалитися, і за крутими назвами та хлопцями з ар-ками та пвс-ами немає результату? На відео ураження має бути чітко видно результат — техніка зупинилась та загорілась, людина вмерла або отримала травми він яких скоро помре. FPV дрон в момент влучання втрачає зв'язок, тому це не є об'єктивним доказом результату. Потрібна дорозвідка — або влучання має бути зафіксованим на камеру іншого дрону (мавіку, крила, сусднього FPV що проходив поряд), або на ту ж ціль повинен вилетіти ще один FPV для фіксації попереднього ураження. Ви можете мати відео з камери FPV де дрон влітає прямо в обличчя окупанту, але це нічого не значить — дрон міг не здетонувати, пройти повз, уламки могли піти в бік та не завдати важких поранень. Деякий час тому в бус моїх побратимів під час виїзду з позицій на повному ходу влетів КВН (російський дрон на волокні). Він пробив наскрізь лобове скло, залетів в салон та вдарився прямо в одного з хлопців що сидів на пасажирському сидінні. Дрон не здетонував, тому ми відбулися лише заміною лобового та зламаною рукою у потерпілого. Якби він здетонував, то результат був би значно гірший. Але противник у себе на каналі викладе це як факт ураження. Я був свідком як піхотинець противника переживав десяток практично прямих влучань FPV. Кожен з екіпажів може викласти красивий відос, але жоден не є результативним. Так само і наші піхотинці неодноразово переживали в укриттях численні спроби вбити їх FPV, але потім виходили цілими. Я був свідком як в хату або підвал з противником залітав той самий десяток дронів, але він спокійно відкопувався та перебігав далі. Особливо живучі могли пережити з півсотні FPV та десятки скидів з нічних бомберів протягом кількох тижнів, поки їх врешті не заловлять десь та не вб'ють. Тому, на відео має бути чітко видно що в результаті влучання противник припинив своє існування. Якщо вам показують відео де дрон залітає в хату, дах, підвал, кущі та потужно бухає, або де з нічного бомбера робиться скид по хаті, і вона розлітається на друзки, то це ще нічого не значить. Ймовірніше за все, противник вижив. Так само відео де відбувається влучання в техніку. Якщо це ще й радіо — то зв'язок відпаде раніше ніж ми точно зрозуміємо що влучання було, але без дорозвідки навіть пряме точне влучання нічого не гарантує. Зверніть уваги на відоси різних підрозділів. Топ-контент наразі це «йоблик дня». Всі відоси що я бачив там мали фіксацію успішного відпрацювання. Натомість є ціла купа гламурних підрозділів які намагаються вас обдурити красивии бухами хат або вльотами у техніку без дорозвідки. Без бухів хат теж нікуди. Якщо противник затягнувся, то потрібно його звідти викурювати й для цього витрачається десяток дронів, щоб скласти будівлю і змусити противника перебігти в інше укриття або послабити перед штурмом. Тому: ✅ противника розірвано на шматки ✅ противник лежить і не рухається, або має явні ознаки важких поранень (неприроднє положення кінцівок, травматична ампутація, калюжа крові й так далі по марчу) ✅ техніка зупинена та горить ✅ детонація боєприпасів ❌ дрон залітає в споруду або кущі ❌ дрон нібито влучає в техніку або противника, але далі не зрозуміло що з ними сталось ❌ потужний вибух будь-де без зрозумілого результату у вигляді мертвих тіл або горілої техніки Якщо є хороший об'єктивний результат — то підрозділ його гордо покаже. Якщо у відео-нарізці від чергового «Flying Cock Company» з 20 уражень тільки одне об'єктивне — знайте що вам замилюють очі. P.S.: трішки копіуму: якщо дивитеся відео русаків, то до них це все теж відноситься. Багато здавалося б 100% уражень не є для наших людей летальними. ### Деталі URL: https://www.rozhkov.me/details/ Last updated: 2026-05-11T12:43:48.000Z Далекого 2007-го однокімнатник показав мені сайт «ководство». Я тоді залип і перечитав його повністю. Здається, українського аналога (хоч і б російськомовного) такого рівня не було (і не буде), а про закордонні мені невідомо. Скиньте, якщо знаєте. Менше з тим, однією з речей яку я чомусь дуже добре запам'ятав, було «не використовуйте кліпарт». Замість кліпарту пропонувалось зробити справжнє фото або ілюстрацію. Навіть якщо це якісь дженерік речі, типу усміхнених офісних працівників. З того часу я намагаюсь дотримуватися цього принципу. Напевне більшості людей байдуже що на картинці, але мені — ні (одного разу я биканув на Бабіча за те що той в зборі [запостив слоп](https://t.me/toisamyibabich/1270) замість FPV). Зараз дуже багато візуального контенту пов'язаного з війною, і мене дратує неточність деталей, тому я склав список похибок, щоб ви теж з цим жили: - FPV зображаються з боєприпасом ПГ-7 (морквинка). Такий боєприпас зараз використовується дуже рідко, тому що техніка вже не катається як раніше. В основному споряджаються не такі гламурні саморобні фугасні та осколкові БЧ. - FPV зображено без батареї. Батарея велика прямокутна чіпляється зазвичай зверху. БЧ — знизу. - Оператор в окулярах. В цьому небагато сенсу, за всіх не кажу, але ті екіпажі що я знаю, 95% часу літають без окулярів. В телевізорі все те саме, + штурман пікмі палкою показує куди скеровувати дрон. - Оператор одягнув гламурні окуляри DJI першого покоління, «бабку». На зв'язку DJI працює умовний 1% дронів, зазвичай це зенітні та цифробомбери. Доцільніше було б зобразити окуляри SkyZone, але вони не такі красиві. Крім того, з часів початку війни вже вийшло кілька нових ревізій DJI Goggles, тому на тих характерних з 4-ма антенами (V2) ніхто не літає. - На окуляри накручені антени. Так в бойових умовах ніхто не працює. Якщо потрібно, то сигнал на окуляри передається через AV-кабель з наземної станції, а у випадку DJI на роз'єми будуть накручені кабелі кинуті з підвалу на щоглу до антени-підсилювача. - Дрон згенеровано АІ який натренований на DJI Phantom, він так досить характерно виглядає. Фантоми теж вже дуже давно не використовуються і згадки про нього ви можете прочитати хіба в численних постах Берлінської яка згадує про перші кроки в аеророзвідці. - Зображення окулярів DJI на логотипах підрозділів. Вище вже обговорили, на зв'язку DJI працює дуже малий процент засобів. - Згенеровані АІ дрони неправильного розміру, без батарей, антен, боєприпасів, з неправильно виставленими променями, камерами та іншим. - Пульти теж передають сигнал не по антені, а по дроту на наземну станцію, хоча бувають і по повітрю. Тому в оператора в руках має бути пульт від якого відходить кабель. - Мавік на зборі під FPV і навпаки. - Пульт від мавіка без кабелів. Всі пульти перероблюються — додаються роз'єми (2 або 4) на які накручуються товстезні високочастотні кабелі які виходять з укриття до антени на щоглі. - Мавік «в польоті» зображується без додаткової батареї (на які ви донатили гроші). Без додаткових батарей ніхто не літає. Просите десятки тисяч гривень або запрошуєте до себе в підрозділ? Витратьте годину часу та зробіть справжню нормальну картинку що повністю відповідає дійсності. Слоп — неповага до аудиторії. ![](https://www.rozhkov.me/content/images/2026/05/Frame-3.jpg) P.S.: противник працює так само, ніяких секретів тут немає. ### Шкура не в грі URL: https://www.rozhkov.me/skin-not-in-the-game/ Last updated: 2026-05-07T11:41:01.000Z 4:19 — власник «AI-powered EdTech platform» та ведучий подкасту «НЕштучний інтелект» пише у себе про те як AI бустить продуктивність, еру 100× інженерів, Claude Code для non-tech персон, [публікує вакансію](https://t.me/roman%5Fapostol/346) де помпезно шукає «“нововірів” - тих, хто не пише жодного рядка коду самостійно, за нього працюють агенти» 4:20 — цей же власник [публікує вакансію](https://t.me/roman%5Fapostol/348) персонального асистента. *sad\_trombone.mp3* ### Цифри URL: https://www.rozhkov.me/numbers/ Last updated: 2026-08-24T04:27:18.000Z Щоб в повітрі 24/7 безперервно знаходився один мавік, та вів спостереження, вам потрібно 12 людей: 4 екіпажі по 3 людини (два пілоти та один т.зв. споттер — людина яка виставляє та приймає дрон, міняє батареї та стежить за майном на позиції). 3 людини працюють змінами по 12 годин, та змінюються раз на 3/5/7/10 днів, залежно від умов. 4 екіпажі це ідеальна кількість яка дозволяє виводити людей на відновлення такої ж тривалості як і чергування, тобто робота відбувається 7 через 7. Якщо людей не вистачає то можна скоротити періоди відновлення, але навіть в такому випадку потрібно мінімум 3 екіпажі. Так можна робити, але недовго, тому що втома накопичується. Аеророзвідка мавіком — найневдячніша безпілотна робота. Сідати доводиться близько, через обмеженість заряду та зв'язку, позиція має знаходитися на висоті, зв'язок легко пригнічується РЕБом дружніх машин, дрони капризні та крихкі, пілот має бути постійно на фул фокусі, особливо вночі. Щоб закрити умовні 5 км фронту, потрібно... Потрібно багато екіпажів. Кілька під супровід піхотних груп, кілька під моніторинг переднього краю де ходить противник, кілька на підсвітку ударних коптерів, ще кілька під моніторинг власних позицій, ще пару на спостереження логістичних шляхів, виявлення та знищення ждунів, ось ми налічили як мінімум десяток екіпажів, а краще — більше. Тобто 120 людей тільки під мавіки. Яких ще потрібно возити, забезпечувати, керувати. А крім мавіків потрібно: FPV (волокно — 3 людини, радіо — 4), важкі бомбери (3 людини), крила (3 людини), зенітні. І ось уже безпілотна двіжуха розростається ще на +120 людей які знищують противника якого знаходять мавіки та крила, возять посилки на передній край куди не доїжджають НРК, розвалюють підвали з підарами ТМ-ками, знаходять цілі в тилу противника для 30 км волокна та мідстрайків. НРК двіж — ще по 4 людини на машинку, двое вивозять в поле, двоє сидять керують. В ударки не така напружена робота, тому їх зміни можуть бути тривалішими, проте відпочинок все одно потрібен. Щоб повноцінно закрити крихітну ділянку, потрібна прорва людей, і часто їх не вистачає. Противник основний свій ресурс вкидує в піхоту, яка в масі своїй конвертується в єБали. На моїй ділянці фронту ми маємо перевагу за кількістю безпілотних екіпажів та засобів, внаслідок чого вдається навіть потроху відсувати ворога. Але якщо хтось у них додумається частиною мобілізованих наситити власні безпілотні сили, то нам буде непереливки. Це звісно крім штурмової піхоти, яка традиційною тактикою бути витискати нас. 10 йшло — 8 вбили — 2 затягнулись — 1 поранили — 1 сидить. Наступного ранку повтор, а через два місяці діпстейт констатує втрату чергового села. Ну а якби ми зробили те саме (максимально наситили безпілотні сили), а не ховали голову в пісок, то тій нечисленній піхоті, яка у нас є, дихалось б значно легше. P.S.: інформація ця не є секретом, а противник працює ±так само P.P.S.: your mileage may wary ### Контрнахрюк URL: https://www.rozhkov.me/counteroffensive/ Last updated: 2026-05-01T07:18:45.000Z Якщо ви (з невідомої причини) регулярно дивитеся телеграм канали противника, або хоча б переглядаєте пости-розчарування на Діпстейті з невдалими штурмовими діями наших військ, то може скластися враження що в сучасній війні будь-який наступ приречений на невдачу. Не так давно я й сам був свідком сумних кепських подій за участі підрозділу з роду військ що не існує юридично. То чи можна контрнаступти та відновлювати тактичне положення без колосальних втрат особового складу? Звісно що так. Крім невдалих дій, я також був свідком великої кількості вдалих дій — повноцінної та результативної зачистки значних площ з мінімальними втратами або взагалі без втрат. Просто все це вимагає виваженості та поступовості. Ретельного та акуратного планування, зупинки дій за найменшої активності противника. Воювати нормально, без 150 днів на позиціях, без купи спаленої техніки та розкиданих навколо жмурів, без постмортемів на діпстейті можна. Але це повільно, а результат вимагається вже. У логіці військового керівництва будь-яка спроба затягнути, сповільнити або (не дай Б-г) відмовитися від виконання задачі сприймається не як раціональна спроба уникнути непотрібних втрат, а як боягузтво та слабкість. Командира, який відмовляється або петляє від виконання дуже швидко замінять на безвідмовного. Будь-хто притомний розуміє, що не можна розкидуватися людьми, тому що це невідновлюваний ресурс. Тому успішні командири які примудряються втримуватися на місцях і не жмурити людей — це справжні таланти політики, які щодня витримують неймовірний тиск «вперед-вперед» та знаходять аргументи. Я не знаю як справи у популярних+медійних корпусах, але точно знаю що в нас справи добре — а якщо у нас добре, значить може бути добре й у решти, просто на це потрібна воля та люди з [хистом до війни](https://www.rozhkov.me/art-of-war/). P.S.: звичайно цей пост написаний з позиції N=1\. СОУ — як гігантський аутсорсер, а бути всюди й бачити все неможливо. Не відкидаю що в історіях з голодуванням не було можливостей організувати логістику, бо не стояв там зі свічкою. Також не відкидаю що деякі ділянки неможливо тримати через об'єктивні причини. ### Хист до війни URL: https://www.rozhkov.me/art-of-war/ Last updated: 2026-07-29T13:36:09.000Z Сьогодні ти граєш в [хойку](https://en.wikipedia.org/wiki/Hearts%5Fof%5FIron%5FIV), а завтра цілодобово аналізуєш розвіддані в Дельті й осінт джерелах та зводиш в купу різні ниточки, отримуючи детальну картину стану справ у противника. Сьогодні ти бігаєш в [Squad](https://en.wikipedia.org/wiki/Squad%5F%28video%5Fgame%29), а завтра плануєш штурмові дії. Сьогодні ти читаєш мемуари полководців, а завтра пропонуєш та реалізуєш стратагеми які пропустили твої колеги по смузі. Мені катастрофічно не вистачає війського хисту. Шахову кар'єру я завершив у 8 років після нищівної поразки на міському турнірі. Для RTS у мене ніколи не хватало клепки та швидкості — тому в стар крафті моя тактика зводилась до «зібрати 3 пачки батлкрузерів/батонів та відправити на противника», в HoMM III — «зарядити одного героя на перемогу», партії в цивілізацію закінчувалися на першому-другому зіткненні з розумнішим за мене ботом, а дота знаходиться поза межами моїх здібностей. 95% моїх тайтлів у стимі — це різного штибу сінглплеєрні FPS. Тому звичайно приємно та заздрісно бачити навколо людей що залучені у війну, постійно придумують щось нове, яким *цікаво*. Ось цю цікавість ніяк не можна зімітувати, вона або є або її немає. ### Тиловий щур URL: https://www.rozhkov.me/desk-jockey/ Last updated: 2026-03-30T06:25:29.000Z Мій guilty pleasure якого я марно намагаюсь позбутися це заходити на ДОУ в коментарі до будь-яких тем що торкаються армії та обзивати та ображати людей що пишуть ухилянтські, зйобські або зрадойобські коментарі. Опонент зазвичай не маючи чим відповісти застосовує ad hominem та звинувачує мене у тому, що я «тиловик» та «сиджу в офісі», а тому не маю морального права відправляти людей на вірну загибель. Уже далекого літа 2023 року коли я обирав підрозділ та посаду ідея працювати на тиловій посаді здавалась мені абсолютно ганебною. Саме тому я свідомо пішов на бойову роботу що передбачає перебування безпосередньо у зоні бойових дій. Вже за рік [я про це пошкодував](https://www.rozhkov.me/one-and-a-half-years-in-army/), але шляху назад немає, або він надто ризиковий. Втім, з часом, попри погані соціальні навички та низький емоціональний інтелект, мене перевели на умовно «тилову» роботу, таку що передбачає розташування поза зоною досяжності артилерії та дрібних дронів противника. Тому віднедавна я, дотримуючись принципу «[шкура в грі](https://www.rozhkov.me/skin-in-the-game-book-review/)», перестав відправляти ухилянтів в окопи. Але про що ухилянти та зрадойоби забувають, звинувачуючи військових-тиловиків, так це в тому яка є колосальна прірва між цивільним та військовим життям. Заборонені або сильно обмежені переміщення без дозволу. Відсутність регламентованого «робочого дня», коли треба то будеш працювати без сну та вихідних. Низька зарплатня. Відсутність або висока складність зміни «компанії» або «колективу». Сильно обмежене кар'єрне зростання. Проживання в іншому місті, без родини. Все це забувається коли йдуть аргументи проти мене. Якщо в «тилу» так просто, то чому не підеш сам? А, тому що «не хочу, щоб відправили у піхоту»?.. Аргумент розвалюється сам собою. Будь-яка військова служба це ярмо яке не порівняти з цивільними. Хоч бойова, хоч тилова. ### Презумпція винуватості URL: https://www.rozhkov.me/presumption-of-guilt/ Last updated: 2026-03-27T07:27:36.000Z Півроку тому я заїхав на бліндаж до мінометників однієї з бригад ДШВ. Там було дві кімнатки, половина однієї з яких була вільна, чого якраз мені вистачало. У періоди відносного спокою ми спілкувалися, стандартні армійські теми — скільки воюєш, де був, шо бачив, шо робив, які проблеми. Одне з гострих питань в армії — це гроші. Частково через низьку фінансову освіченість значної кількості людей, але загалом через те що мало платять. Мій візит якраз припав на зміну в порядках нарахування бойових виплат: тепер, щоб номерам обслуги міномета, який стоїть в 3 км від дуже умовної ЛБЗ, будуть зараховувати бойовий день тільки якщо вони зробили N пострілів які були підтверджені аеророзвідкою. Якщо ж пострілів не було — то й «бойові» не нараховуються. — „Все вірно“, скажете ви, — „Не стріляв — за що тоді платити? Ми створюємо позитивну мотивацію у розрахунків та командирів батарей — щоб вони шукали цілі та наносили вогневе ураження, так переможемо“. Воно може і вірно, але що робити коли негода, коли кацап зачаївся, коли немає можливості провести аеророзвідку, коли над вогневою позицією кружляє розвід дрон, коли на позицію не змогли підвезти БК, коли позицію розібрали й люди очікують евакуації, коли... Безліч коли. Такого плану «мотивація» має йти тільки *зверху* базового мінімуму. Сидиш на ЛБЗ — маєш отримувати 3300 просто за сам цей факт. Хоч ти стріляв, хоч не стріляв. За якісну роботу — бонус. Натомість держава за замовчуванням вважає що ти не працював і *повинен доводити* факт за що тобі мають нарахувати гроші. Досить швидко ці нововведення прийшли до нас. Не буду вдаватися в деталі, але суть така сама. Не має доказів бойової роботи — немає грошей. Того тижня зустрічався з одним зі своїх побратимів, з яким я починав, але потім наші стежки розбіглись. Він підписав контракт коли ще не мав 24 років, але тоді ще не було програми 18-24\. Як ви пам'ятаєте, згодом програму розширили та зробили зворотно сумісною з минулопідписаними контрактами. Його бригада підпадає під всі умови і йому заднім числом повинні виплатити частину мільйона. Але за замовчуванням держава вважає що ніякі виплати тобі не належать, і потрібно *доводити зворотне*. Самому хоботитися, збирати документи, кудись їх подавати. Мій побратим вже рік не може добитися тих виплат, через те що або зайнятий бойовою роботою, або діловоди та фініки частини загубили документи, або вони загубилися ще вище або ще якісь дурні проблеми. Ну і звісно стара як світ проблема з отриманням ветеранського посвідчення, яке можуть видати як досить швидко (півроку), а можуть не давати *роками*. Про поранення я взагалі мовчу, деякі мої побратими *роками* не можуть отримати виплати, а про ВЛК де тебе скотське ставлення понаписано і без мене купу всього. Це абсолютно кафкіанський абсурд. Ти кладеш роки свого життя, здоров'я, можливостей, а до тебе ставляться як до сміття. У всіх випадках не ти повинен доводити державі що заслуговуєш на пільгу, виплату, премію, а держава повинна докладати всіх зусиль для того, щоб це з'ясувати. Якщо з бойовими виплатами та статусом УБД це ще можна якось пояснити складністю, то з 18-24 такого не має бути — тому що держава володіє повною інформацією достатньою для фіксації цього факту. Держава що хоче перемагати та залучати більше мотивованих людей до сил оборони не повинна поводитись як рабовласник. Смішно, тупо та дуже сумно писати щось таке на 5-ий рік війни, коли всі базові гігієнічні проблеми мали б бути давно вирішені, але ми бачимо тільки погіршення. P.S.: уже кінець березня, а я досі не отримав бойові виплати за грудень. ### Закон Брукса на війні URL: https://www.rozhkov.me/brooks-law-in-army/ Last updated: 2026-03-13T18:52:45.000Z *На Слабодухівській ділянці фронту воїнами 420 ОШП «Горбата Гора», 150 ОБрТрО, 69 ОМБр, 96 ОДШБр, 14 батальйону 88 ОГШБр за підтримки ЦСО «Б», підрозділів «Black Cock Company», «Дірлевангер» та «1488» у складі 100500-го центру ГУР, Позаземного Легіону, батальйону «Чаклун», спецпідрозділу «Братан-Х», 18-го центру ССО, а також зведеного угруповання СБС у складі підрозділів «Flying Dicks», «Летючі Хряки», бригади «Necrosis» та 488 ОБр СБС «Ухиллес» була проведена операція в населеному пункті Маленька Кишенька. В результаті було зачищено 15 підвалів, звільнено 2.5 км² території та зупинено просування противника.* Читачки та читачі з управлінським бекграундом пам'ятають про [«Brooks's law»](https://en.wikipedia.org/wiki/Brooks%27s%5Flaw) — „*Adding manpower to a late software project makes it later*“. Закон може бути певною мірою застосований до армійської взаємодії. Якщо зібрати на малій ділянці фронту велику кількість підрозділів, кожен зі своїми штурмовиками, логістами, піхотою закрепу, дроноводами всіх калібрів (мавіки, крила, фпв, важкі), ребом, артилерією, зв'язком і штабом, то після перевищення деякого ліміту робота просто паралізується через необхідність витрачати купу часу, щоб з'ясувати хто де знаходиться та чиї люди зараз рухаються. Коли немає єдиного центру управління який координує військовий задум та збирає інформаційні потоки від всіх бойових одиниць, то ефективність всього визначається ефективністю найменш боєздатного підрозділу. Ви можете випустити спецназьорів рексів в рейд який буде зіпсований, бо хтось робив переміщення в тому ж районі і його побачив противник та почав насипати по сектору. Я розумію чому так відбувається — підрозділи виснажуються, бригада здувається до взводу боєздатної піхоти, але штаб та весь «бек-офіс» нікуди не зникає та продовжує функціонувати. Як наслідок, фронт переповнений знекровленими з'єднаннями які керують десятком піхотинців що не можуть показати носа з підвалів та не ротуються по пів року. На підсилення видається така ж бригада, з такою ж кількістю піхотинців і ділянка перетворюється на вінегрет перемелений блендером. «Так віддайте людей бригади Х в підпорядкування бригаді Y і все вирішиться само собою!» — скажуть прохавані читачі. І так і ні. Ніколи люди зі сторони не будуть мати таку ж ефективність як люди зсередини. Рівень підготовки та злагодження завжди буде відрізнятися, тому треба не просто прикріпляти людей, а повністю їх передавати, переводити, заново вчити. Це все вимагає рішучих політичних рішень, тому що вищий командний склад не просто так пробився на своє місце, і поряд з тими хто пройшов шляхом меритократії є кєнти куми та брати. Тому найпростіше рішення — визначити найкращі підрозділи та масштабувати їх, а неефективні — розформовувати, так і не було прийнято, й зараз на двох ~~українців~~ піхотинців є три ~~гетьмани~~ командири. Ця інформація звісно для вас не нова, та й військовий аналітик з мене ніякий, проте вже 2026, а віз і досі там, про що я вам і доповідаю. ### Військова звітність URL: https://www.rozhkov.me/military-reporting/ Last updated: 2026-02-18T07:36:54.000Z Розпіарена «новітня» система управління та звітності Mission Control це добре, поки старший начальник не надсилає вам саморобний шаблон екселя, який потрібно щоденно заповнювати тими самими даними, але трішки в іншій формі. Це крім двох інших «звітів» в док файлі та в текстовому чаті. Будь-який військовий підтвердить вам, що в штабах надзвичайно люблять звітність. Скільки того, сього, що зробили, що не зробили. Будь ласка, ось форма на 9 00, на 12 00, на 15 00, ось на 18 00, ось на 21 00\. Кожна різна для різних людей. Звісно, у цього всього є single source of truth, і старший начальник легко може отримати ту саму інформацію з тієї ж інформаційної системи, в якій уже ведеться вся діяльність підрозділу. На жаль, через асиметрію влади, нагорі є можливість не обтяжувати себе вивченням документації до різних програмних модулів, натомість просто перекласти цю відповідальність на підлеглих. Як ви можете здогадатися, ту звітність ніхто не читає, та не використовує для аналітики. Звідки я знаю? А ви уявіть, хто буде викачувати з чатів умовних 20 екселів від 20 різних організмів та агрегувати їх в один документ? Як і у випадку з [брехливими доповідями](https://www.rozhkov.me/lie-in-reports/), коли б хто дійсно захотів щось проаналізувати, то скористався б системами, які містять всі необхідні факти та виключають будь-які маніпуляції. Все *вже* зважено, поміряно, вирахувано та готове до споживання — бери і їж! В МО ймовірно знають про цю проблематику, звідси й плани з впровадження «цифрових офіцерів». Сподіваюсь, що ця ініціатива дійсно покращить ситуацію з передачею інформаційних потоків знизу нагору. Ну а поки що будемо перекидатися ексель файликами в вацапі. ### Чухани та ентропія URL: https://www.rozhkov.me/stinkies-and-entropy/ Last updated: 2026-02-17T07:24:17.000Z Не вважаю що маю надто високі стандарти чистоти, проте батьки заклали деякий фундамент — мити посуд, виносити сміття, витирати пил, контролювати зіпсутість продуктів та впорядковувати речі. ![](https://www.rozhkov.me/content/images/2026/02/image.png) На жаль, для більшості людей навіть такі прості речі недосяжні. Складно додуматись хоча б [зім'яти](https://www.rozhkov.me/daily/plastic-bottles/) пластикову, алюмінієву або картонну упаковку, розрізати та скласти коробку від нової пошти. На жаль, навіть прямі прохання не працюють. Особливо з зумерами, у цих взагалі attention span обмежений кількома секундами роліку з тік току. „Good times create weak men“, а світ невпинно прямує до реалій Ідіократії, що поробиш. А на щось складніше, на кшталт упорядкування різноманітного майна, рівненького розкладання ящиків, прибирання різного мотлоху та зменшення ентропії навколо себе, здатен хіба один з десятка. Решті байдуже що довкола них ширяться гори сміття, мотлоху, речі розкидані абияк. Багато не здатні розвісити свої речі для сушки, а потім скласти їх назад і нічого не погубити. Для боротьби з цим явищем в армії придумали «наряди» та «чергування», але це все ± працює тільки в тилу, бо по поверненню з бойового виїзду вимога влаштовувати тотальне прибирання знизить бойовий дух особового складу. Та й хочеться, щоб було все по-людьски, без затягів. Роздумуємо над тестовим питанням «чи готовий ти шурувати унітаз ~~вилкою~~», бо зі збільшенням кількості о/c, сумарний «iq чистоти» невпинно знижується. ### «Брехня у доповідях» URL: https://www.rozhkov.me/lie-in-reports/ Last updated: 2026-01-23T07:24:13.000Z Відомі блогери, телеграм канали, депутати, та всі кому не лінь дуже часто кажуть що командування окремих підрозділів подає нагору неправдиву інформацію щодо стану справ на фронті. Мовляв, головком не в курсі що противник вже зайняв населений пункт. Інститути вивчення телеграму малюють мапу на підставі відео уражень що публікують у себе різні підрозділи. Найочевиднішим свідченням того що якусь ділянку зайняв ворог є нанесення по ній удару. Логічно буде припустити, що якщо відеозапис ураження був опублікований в телеграмі, то цей факт також був зафіксованим в якійсь інформаційній системі (наприклад тій, що рахує єБали). Також логічно буде припустити що там само будуть зафіксовані координати ураження. Відповідно, будь-якого старшого начальника від розуміння приблизно точної (±кілька км) ситуації по фронту відділяє кілька кліків. Аби було бажання. А як ліньки — для цього є армія ад'ютантів, яких можна примусити верифікувати рапорти підлеглих організмів. «Але ж ріжок», запитаєте ви, «як бути з "ДРГ-групами" противника у кількості до роти, що просочились через наші ріденькі рубежі оборони? Може ж бути так, що ураження здійснюється на точці, що знаходиться на 5-10 км у нас в "тилу"?». Дійсно, є й таке. Коли ворог виходив на північні околиці Покровська, то в самому місті ще залишалась ціла купа наших позицій. Проте, це все одно ставить під питання «контроль» нами якоїсь території, якщо противник вже повністю перерізав всю логістику крім повітря та просувається далі. Тому, знаєте, «брехню в доповідях» я не вірю. Брехати можуть (і будуть), але все легко об'єктивно верифікувати. Напевне, це просто нікому не цікаво. ### CRM для війни URL: https://www.rozhkov.me/crm-for-war/ Last updated: 2026-01-22T07:24:10.000Z Ведення бойових дій вимагає цілої купи логістично-адміністративної роботи. Облік особового складу — хто де, хто бг, хто не бг. Облік складу та майна. Облік озброєння. Облік авто, трекінг ремонтів та заправок. Волонтерська допомога. Ведення загальної каси. Комунікація з особовим складом. Комунікація з суміжними підрозділами, об'єднання в єдиний інформаційний бойовий простір. Постановка бойових та небойових задач особовому складу. Власне найголовніше — трекінг виконання бойових задач. Зараз це все вирішується окремими «продуктами», в найгіршому випадку чатом в месенджері, гугл таблицею, програмою «Mil~~f~~Chat» та дискордом. В ідеальному світі до якого ми прямуємо є екосистема «Дельта», яка сильно розвинулась за кілька років, але якій бракує десь половини зазначеної функціональності. Не вистачає «корпоративних акаунтів», календарю, пошти, оцього всього до чого звикли ентерпрайзні раби. *На моїй першій роботі фічі називали «функціоналом». Один зі співробітників якось сказав, що «функціонал» сленговий термін що позначає гомосексуаліста зі специфічною поведінкою, а фічі це «функціональність». З того часу я ніяк не можу то забути то щоразу сіпаюсь коли чую термін «функціонал».* Можна сміятися про спринти, канбан дошки та OKR які нам обіцяє впровадити новий МО, але я вже неіронічно задумуюсь про невеликий таск менеджер, тому що відстежувати задачі та контролювати їх виконання стає дедалі складніше. В ідеальному світі також існують окремі служби які мають займатися кожна своєю частинкою роботи, адже всі ці армійські задачі не ріжок вчора придумав, вони існують буквально всю історію людства. В реальному світі всі займаються всім. Можна мошнити умовну автослужбу, але від того машина сама себе не поремонтує та не пройде ТО. Звичайно, всі ці беззаперечно круті та інноваційні інформаційні системи не є передумовою перемоги. Противник має власні розробки, які хоч представлені меншим спектром продуктів та нижчою якістю, все одно не заважають йому перти вперед. Тому що у противника є задум та воля до його реалізації, а в нас вони відсутні. Тому ніяка «Дельта» та канбан для умовного ББпС не вирішать системних проблем військового управління. Можна скільки завгодно тішитися красивими пунктами управління з купою моніторів як в американських фільмах про війну, але поки це не наближає нас до перемоги, то сенсу в тому небагато. Втім, переконаний що на виході з цієї війни, якщо нам вдасться пропетляти, ми матимемо найкрутішу систему управління боєм. Залишилось зовсім небагато — власне пропетляти. ### Hundred Days Offensive URL: https://www.rozhkov.me/hundred-days-offensive/ Last updated: 2026-01-12T07:24:03.000Z *Bombed last night, and bombed the night before* *Going to get bombed tonight* *If we never get bombed anymore* [*When we're bombed, we're scared as we can be*](https://www.youtube.com/watch?v=d8G4JnfeCu0) 2017го року під час розмови з колегою на посиденьках в барі я сказав «от я б поїхав на війну, війна — це справжня чоловіча справа!», звісно говорив я це для понтів, бо якби дійсно так вважав то вже б давно був там. Насправді я просто малодушний боягуз, а для оточення раціоналізував свій вибір як «відсутність кєнтів з двіжу». Раніше вже писав що ретроспективно [краще б мені було йти на програмістську посаду](https://www.rozhkov.me/one-and-a-half-years-in-army/). Вам порадив би те ж, але у 2022-2023 мені це чомусь здавалося негідним, хотілося на справжню війну. Вже не пам'ятаю, чим я тоді думав, але напевне ріжок-2014 який щодня дивився на мапи та з болем читав новини й думав «треба йти», а потім «та ні страшно», все ж таки досяг свого. Ріжок-2024 що рахує хвилини від останнього приходу та читає [Ісусову молитву](https://uk.wikipedia.org/wiki/%D0%86%D1%81%D1%83%D1%81%D0%BE%D0%B2%D0%B0%5F%D0%BC%D0%BE%D0%BB%D0%B8%D1%82%D0%B2%D0%B0), думає «дурень, міг би зараз лежати з коханою в м'якенькому ліжечку», але вже нічого не зміниш. Досі не визначився, шкодую про свій вибір чи ні. Звісно, в абсолютній оцінці я програв. Змарнував роки життя, піддавав себе невиправданим загрозам, погіршив здоров'я, замість того щоб ще до війни виїхати та спокійно жити життя. Війна — безглузде заняття, та найраціональнішим вибором є втеча. Але щось є в тому, щоб відчувати зв'язок з усіма чоловіками усіх часів які так само як і я, йшли на зустріч небезпеці, ховалися по окопах, траншеях та бліндажах від бомб, ракет та снарядів, витримували жорсткі умови та врешті знищували ворога або відступали. Щось є в тому, щоб довести собі що можна подолати тваринний страх, зібратися та виконати завдання. Звісно я не рексував, CQB не займався, 100 днів на позиціях не сидів, з тилу противника не виходив, на острови не десантувався, але десь був та щось бачив, щоб укріпити внутрішній стрижень. ### Парадокс автосервісів URL: https://www.rozhkov.me/daily/auto-serice-paradox/ Last updated: 2025-12-24T07:24:58.000Z Чому так складно знайти хороше СТО? Чому хороші СТО псуються? Сучасні авто невигідно ремонтувати. Загалом, будь-який ремонт робити вже невигідно. Тільки сервісне обслуговування та блокову заміну. Для того щоб розібрати такий складний механізм як автомобіль, вам потрібен досить кваліфікований, навчений співробітник. Для того щоб розбиратися в усьому розмаїтті механізмів всередині механізмів, та вміти полагодити їх, потрібна ще вища кваліфікація. В Т5, на який ви давали гроші, з'їдається олива. Куди вона зникає, не змогли нам відповісти на жодному СТО. То кришка мала тріщину, то в турбіну кидало, то ще щось. Все полагодили — олива все одно зникає. Прийняли це як є, та просто регулярно доливаємо. Так а що ж з СТО? На гараж приходить працювати тямущий працівник. Робить добре, клієнт задоволений. Що відбувається далі? Якщо працівник має трохи клепки, то він піде й відкриє власний гараж. Буде працювати сам, потім знайде толкових помічників. Поки помічники ростуть, наш герой вже буде займатися менеджментом та «архітектурою», умовно роздаючи вказівки менш досвіченим «рукам». Ось в цей момент якість і втрачається — оригінальний майстер вже не бере безпосередньої участі в ремонтах, а умільці йдуть робити своє. Ба більше, СТО просто невигідно робити щось складніше сервісного обслуговування! Тому що для цього потрібні експерти (дорогі, та й вже мають своє СТО), ціна буде високою, люди за це не платитимуть. За той час, поки майстер буде шукати, куди ж зникає олива, можна вже 10 разів зробити ТО або полагодити підвіску. З тієї ж причини ніхто не любить займатися електрикою та дрібними ремонтами — бо це складно, результат не гарантований, а грошей багато не візьмеш. Тут я мав би зауважити — підвищуйте ціну. Але чомусь цього не роблять. Часто майстер може сказати «та то вам дуже дорого буде». АТБ гребе то дорого для мене чи ні? Я хочу полагодити авто, щоб воно мені ще служило. Я плачу гроші, назви ціну. Якщо я знаю що ви добре зробите, то я готовий буду заплатити. Ми вже стільки СТО поміняли. Потрібно чітко вловити момент коли справи стають кепськими та перестрибувати на інше. ### Переведення URL: https://www.rozhkov.me/transfers/ Last updated: 2025-12-22T14:29:47.000Z Цивільна людина може задуматися — «Чому не можуть зробити нормально переведення між частинами? Що там складного? В нас одна ціль, чому не можна використовувати людину максимально ефективно?». Десь напише про це журналіст, десь розповість у відео відомий блогер. Загальна ціль у нас може й одна, але у конкретного організму та начальника є своя конкретна задача. Люди — це головний ресурс. І втрата цього ресурсу означатиме, що задача, котра стоїть перед тим начальником, не буде виконаною, або буде виконана гірше. Командир — це не добрий інжиніринг менеджер з ІТ компанії, що бачить перспективи розвитку людини та розуміє, коли вона вже переросла посаду й може рухатися далі, та спокійно відпускає її. Ні. В командира є своя мета, так, ми всі на перемогу, і яким би перспективним не був цей хлопець, якщо він добре виконує свою роботу тут і зараз то його переведення поставить під загрозу роботу цього підрозділу. В цьому командир не зацікавлений. Тому тямущі спеціалісти сидять (і сидітимуть) на солдатських посадах і нікуди не можуть дітися. Мікро перемагає макро. Цю проблему можна було б вирішити централізацією та регулярним аудитом, але на це немає волі вищого керівництва. *Єдиний випадок коли переведення працюють — це як спосіб позбавитися людини. Якщо вона або об'єктивно створює проблеми, або особисто пішла на конфронтацію з командиром, то всі питання про переведення вирішуються дуже швидко.* А що ж СЗЧ? Ну, історія з СЗЧ була придумана для того, щоб якось повернути людей назад, але через прогалини її стали експлуатувати як реалізацію відсутнього механізму переведення. Нічого, скоро й це прикриють. Навіщо робити аналітику по причинах СЗЧ та щось змінювати якщо можна просто обмежити список підрозділів куди можна повернутися? ### Форварди URL: https://www.rozhkov.me/daily/reposts/ Last updated: 2025-12-11T20:47:37.000Z Ніщо не дратує мене більше ніж форварди/репости в авторських каналах. Особливо коли після першого репосту ти підписався на репощений канал, а потім половина постів з того каналу репостяться й ти читаєш одне й те саме двічі. Або репостять якусь штуку просто так, без власного коментаря. Одна справа — взяти якусь новину або подію або ще щось, пропустити через себе, переписати та видати читачам, а інша — бездушно натиснути «форвард». Таке ми не любимо. Від таких каналів що зловживають репостами ми відписуємося. Єдине виключення — це такі собі агрегатори, які тіки й репости роблять, обмежуючись невеликим коментарем. Якщо автор — хороший, то його канал виступає кураторським джерелом щодо того що відбувається. Я підписаний тільки на один такий канал. Тому і в мене ви репостів не побачите. ### Потяг на Захід URL: https://www.rozhkov.me/train-to-the-west/ Last updated: 2025-12-10T07:24:02.000Z Обожнюю їхати на Захід. Чим далі, тим менше відчувається що йде війна. Настрій покращується з кожним кілометром, який віддаляє мене від фронту. На Заході війни немає. Юрби людей на вулицях, цілі міста. Нечасті ракетно-шахедні атаки що призводять до руйнувань та трагедій, здається, спримайються як стихійне лихо, а не бойові дії. Як ураган, лісова пожежа, повінь. А в невеликих містах або горах й того немає. Максимум літаки десь літають, збили шахеда, впав на город, та й все. Хто пам'ятає дев'яності тому і вимкнення світла не здаються катастрофою. З цим можна жити. ![](https://www.rozhkov.me/content/images/2025/12/image.png) Чудове відчуття. Відчуття що війни немає, вона десь дуже-дуже далеко і там є люди які то все якось розпетляють. А я тут посиджу, в безпеці. ### Тупий URL: https://www.rozhkov.me/daily/stupid/ Last updated: 2025-12-09T07:24:04.000Z Не розумію глибинних сенсів фільмів. Після перегляду чогось, що складніше ніж марвелівська жуйка, йду читати подробиці на вікіпедію та інші ресурси, щоб зрозуміти, що ж там насправді мені показав режисер. Не маю терпіння, щоб передивлятися, розплутувати сюжет тенет та паралелі з реальністю в іншому кіно. Не дуже розбираюсь в акторській грі. Коли якийсь автор завершує свій текст фразою «думайте самі» або «пропоную вам зробити висновки» то я не думаю та не роблю висновків, не розумію куди й що. Особливо це стосується навколополітичних речей, в яких я ще більше не розуміюсь. Якщо не розжувати та не покласти сенс мені до голови, то сам він у ній не синтезується. Одним словом, тупий. ### Work-hate balance URL: https://www.rozhkov.me/work-hate-balance/ Last updated: 2025-12-08T19:08:17.000Z [Чи граю я, щоб виграти?](https://commoncog.com/playing-to-play-playing-to-win/) Часто про це думав. З прагматичного погляду на роботі потрібно зосереджуватися на тому, що приносить гроші. А гроші приносять мікросервіси на тайпскрипті, фронтенд на реакті та девопс на кубернетісі в амазоні. Але мені не подобається працювати з цими технологіями! Взагалі, для мене DX та інструменти мають велике значення, яке пересічний програміст навряд чи зрозуміє. Коли все зручно, нічого не тисне, їхати швидко та комфортно, то і жити якось веселіше. І навпаки, коли інструменти створюють перешкоди, то не хочеться з ними працювати. Сюди ж копоративні інструменти та процеси — джира, дейліки, мітинги. Сюди ж суть роботи — чи то ентерпрайз що має на меті викачку грошей з клієнтів, чи то фаанг що має за мету, щоб люди якомога довше проводили у ньому час, чи то pump'n'dump криптостартап, чи дійсно щось корисне. Коли кожен день ти витрачаєш на те щоб плисти проти течії, [сцяти проти вітру](https://www.rozhkov.me/no-piss-against-the-wind/), долати перешкоди, то й прокидатися в робочий день не дуже хочеться. Неодноразово в мене було таке що я ненавидів роботу і не хотів ніц робити. Уважний читач пам'ятає, що я фан Ruby on Rails, бо вважаю його DX неперевершеним. Але це дуже маргінальна, думка, і хоч роботу на RoR знайти можна, але чи буде доцільною інвестиція часу та знань у відносно непопулярну технологію? З іншого боку, чи будуть мені до смаку мікросервіси на тайпскрипті? Звісно ніде ~~крім~~ [~~37signals~~](https://37signals.com/) не намазано медом, і потрібно шукати баланс. Або абстрагуватися від роботи, але як це роблять люди, коли вона складає буквально третину життя я не розумію. Просто викинути на смітник минулого? Неймовірно. То як у вас з work-hate балансом? ### daily rozhok №14: птсрний URL: https://www.rozhkov.me/daily-rozhok-14/ Last updated: 2025-11-28T07:24:05.000Z П'ятниця, а значить час розважального контенту (сподіваюсь що за ніч ніде не вгатить так що розважальний контент буде не в тему) — підбірка постів з каналу [@daily\_rozhok](https://t.me/daily%5Frozhok): [Сердитий](https://www.rozhkov.me/daily/grumpy/) — люди часто питають мене «ти чого такий злий» або «ти чого похмурий, що сталось?». Стався дефіцит хімічних речовин що відповідають за пустощі, ось що я вам скажу. [Гео(love)кація](https://www.rozhkov.me/daily/geo-love-cation/) — кіберпанк в стосунках: як непомітно слідкувати чи ваша партнерка або партнер не наставляють вам роги. [Згорів з крипти](https://www.rozhkov.me/daily/crypto-butthurt/) — я не розумію як за 15 год існування криптовалют ніхто не зробив програмного продукту, яким можна було б зручно користуватись. [Нормально роби — нормально буде](https://www.rozhkov.me/daily/normal/) — про передвиборчу агітацію наших політиків та про те що ніхто тут не ставить за мету виграти війну, всі ставлять за мету продовжити та закріпити свою владу. [Ситий та голодний](https://www.rozhkov.me/daily/wellfed-and-hungry/) — сумна перспектива відсутності грошей на психолога після звільнення. Відкриваю збір на лікування ПТСР. [«Інтернет мінус, деякі сервіси можуть бути недоступні»](https://www.rozhkov.me/daily/oops-something-went-wrong/) — щось пішло не так, не вдалося сформулювати тизер цього посту. Спробуйте наступного разу. Дякую всім хто долучився до збору на ремонт навари. Чекаємо ще що там буде по ABS та підвісці й незабаром буде звіт. ### «Інтернет мінус, деякі сервіси можуть бути недоступні» URL: https://www.rozhkov.me/daily/oops-something-went-wrong/ Last updated: 2025-11-25T07:24:46.000Z Таким повідомленням вітає мене Армія+ майже кожного разу коли я відкриваю її, щоб отримати зароблену важкою працею знижку на заправці. Звісно, інтернет є, та й сервіси всі доступні. Багато інших апок теж страждають таким. «Відсутній зв'язок з інтернетом», коли інтернет точно є. Знаєте, чому так? Я знаю. Бо коли сам робив це ж. П'яток років тому ми розробляли мобільну апку. І там спочатку кожна не-200 відповідь від серверу трактувалась як «відсутність інтернету». Клієнти звісно жалілися на це, бо коли на бекенді щось набокопорили, то їм показувалась ця сама помилка. Але ж інтернет є! Врешті це поробили на традиційне «ой, щось пішло не так, спробуйте ще раз». «Йосип драний, це ж помилка!» — дякую за інформацію. «Стався збій», чудово, що мені з цим робити? «Наші найкращі спеціалісти вже працюють над вирішенням проблеми» — чорта лисого, наші найкращі спеціалісти прямо зараз зайцюють на другій роботі, а ваша помилка вже похована разом з сотнею тисяч таких самих помилок на корпоративному Sentry. Звісно, транслювати якесь 500 в щось, що зможе зрозуміти звичайна людина, складно, тому ніхто над тим не запарюється, а через кілька ретраїв воно якось само і пофікситься. Так і живемо ми у світі «Oops, something went wrong». ### Ситий та голодний URL: https://www.rozhkov.me/daily/wellfed-and-hungry/ Last updated: 2025-11-19T07:24:51.000Z В спілкуванні з людьми цивільними відчувається деяка тріщина. Кулсторі про те як я шкерюсь по підвалах, мало не гину від рандомного кабу, їду на знайденому ровері в фул екіпі по селу за авто щоб вивезти своїх тіпів бо не хочеться сидіти в траншеї, сиджу по три тижні безвилазно в бліндажі, терплю від арти, виїжджаю на одних дисках, лутаю їжу, воду, бк та майно що залишили попередники, слухаю в радєйку як гинуть побратими у звичайної людини викликають що? Звісно таких історій різного ступеня небезпеки зараз повно. Деколи серед співрозмовників починається гра «хто був у більшій залупі», але я то не дуже люблю. Так от, цивільному ці історії що? Він вже ними ситий по горло тим що є в медіа. Ситий голодного не зрозуміє, у ситого сьогодні найбільша проблема це відвал сраки в клаудфлера, йому не до твоєї жалюгідної хоботні. Влучання шахеда в тиловому місті це звичайно теж очко, але не таке очко як 24/7 перебувати у постійному стресі через очікування що по тобі буде відпрацьовувати вогневий засіб противника. Втім і мені важко адекватно сприйняті піхотні історії. Коли тіпи залітають на характері, а потім просто тиждень терплять не маючи змоги зробити нічого, і врешті якщо пощастить та буде наказ, то виходять, побиті та контужені, а потім ще чекають на евак. Висновків нема. Всі ці історії тут сенсу нема писати, це повсякденність військового, що погіршується з кожним циклом технологічної війни. ![](https://www.rozhkov.me/content/images/2025/11/image.png) Навіть 2024 та 2025 це настільки різна війна. Страшно уявити що буде далі (а найближче майбутнє це російська «Баба Яга»), адже ніхто зупинятися не збирається. ### Улюблена робота URL: https://www.rozhkov.me/best-job/ Last updated: 2025-11-10T07:24:22.000Z З 2016 року й до того як піти на війну я майже постійно працював одночасно на декількох замовників: - розробка продуктів для маркетингової агенції — повний цикл, відповідав за все — платили за задачі як домовлюсь, в середньому домовлявся добре. Дуже перспективна співпраця, що завершилась 24 лютого - розробка скраперу для перспективного HR-tech стартапу в складі команди з таких самих «консультантів» як я — платили за години, на жаль домовився задешево - девопсяча та java робота в data observability стартапі у складі відносно великої команди. Робив [маленькі](https://github.com/databand-ai/airflow-dashboards) [шматочки](https://github.com/databand-ai/dbnd/tree/develop/modules/dbnd-java). Потім це трансформувалось в короткий період в IBM поки тих хто знаходився в Україні, не звільнили — платили за години, дуже добре - rails робота в маленькому, але потужному та прибутковому продукті у складі крихітної команди — платили за години, дуже добре - нечасті консультації по архітектурі/інфраструктурі для знайомих — платили добре - паралельно зробив [https://donate1024.org](https://donate1024.org/) та [adopt.ua](https://adopt.fly.dev/) *Звісно це не були 4 паралельні роботи, максимум 2, а в останні місяці взагалі 1.* Гадаю, що зрозуміло, котра з робіт мені була найбільше до душі. Звичайно та, де я мав повну відповідальність та владу за технічні рішення. Я працював напряму з власником цієї агенції, та розробляв продукти під ідеї які він генерував. Найприбутковішою була платформа яка давала бекенд+вайтлейбл віджети для партнерських маркетингових кампанії, потім був конструктор чатботів під всі платформи, потім аналітика цін в інтернет-магазинах, потім сервіс для зберігання клієнтських даних, також one-off сайти та демки під різні ідеї, які не полетіли або чекали свого часу. Спочатку я мав невелику команду, але з рештою люди виросли та пішли, я теж виріс, і залишився на самоті. Чому ж це була найкраща робота? - абсолютна свобода в архітектурних рішеннях. З кожним новим проєктом я щось покращував, легасі підтягував під вимоги що зростали, пробував нові підходи, експериментував з технологіями - робота [напряму на бізнес](https://www.rozhkov.me/spongers/). Ніяких прошарків у вигляді прожектів, продактів, менеджерів і так далі. Код конвертуєтся в гроші. Нічого зайвого, тільки те що заробляє. З сучасними трендами profit-first знову набуває сенсу, але тоді, в інших проєктах, я робив роботу заради роботи, яка нікому не була потрібною - я повністю знаходився в контексті усіх проєктів та був дуже продуктивним. Зараз вам допоможе АІ, але тоді будь-яка вимога миттєво формувалась у мене в голові та швидко трансформувалась в код. На крайній роботі, де я вже був просто виконавцем, СТО був якраз в такій ролі. Він знав про свій проєкт все, тому що зробив його з нуля і теж був надзвичайно продуктивним, а от мені було складно Таку позицію на ринку просто так знайдеш, тому що для того, щоб мати свободу, потрібно довго працювати для отримання достатнього [кредиту довіри](https://www.rozhkov.me/reputation-institution/). Хіба приєднуватися першим-другим інженером в стартап і сподіватися що він якомога швидше вийде на хоч якийсь прибуток, а не просто буде палити інвестиції. Кожному — свій тип роботи. Багатьом немає ніякого діла до бізнесу та інженерної творчості, аби гроші платили. Не засуджую. Багатьом достатньо просто [закривати тікети](https://www.seangoedecke.com/party-tricks/) та залишатися на [нижньому щаблі](https://t.me/full%5Fof%5Fhatred/602) харчового ланцюжка. Багатьом байдуже на результат роботи й вони й раді сидіти на мітингах та видавати 0 результату, зате на двох роботах. Якщо ж вас трішки зачепив цей текст, то в мене є пропозиція: [Макс Іщенко шукає якраз таку людину собі в Djinni](https://docs.google.com/document/d/1bBhTVI4Movdwwch44CP-Xrn%5Fcnzy7HQ5Bvx-XBya4Ws/edit?tab=t.0). Так, це вже дорослий продукт, тому не все буде так просто, але переваги прямої роботи з прибутковим(!) бізнесом та перспективи розвитку того варті. Я б спробував. ### AI-скепсис URL: https://www.rozhkov.me/ai-scepticism/ Last updated: 2025-10-03T06:24:40.000Z Маю вам зізнатися, мені не подобається весь цей LLM-хайп. Мені не подобається код який воно пише, не подобається ідея вайб кодингу, не подобається недетермінованість. Звичайно також мене дратує те що перші хто виграв від винайдення LLM це спамери. Спам в коментарях, автогенерований SEO-спам в інтернеті, «ці два брати святкують день народження, але їх ніхто не привітав», спам в пул реквестах до опенсорс проєктів, слоп від колег (яких у мене не має, але вдаймо що є) і так далі. Дратує що всі кабанчики тепер вимагають обов'язкового використання AI інструментів де треба і не треба. Мене дратує те що замість детермінованості компіляторів в нас тепер є «промпти», та ціла каста техножерців які вдають що знають як звертатися до Бога-Машини, щоб він зробив те що потрібно. Короче повна шляпа це все. Але. Необачно заперечувати прогрес та відмовлятися від технологій тільки тому, що вони нам не подобаються прямо зараз. Я вже давав посилання на матеріал [«Getting AI to Work in Complex Codebases»](https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md). Якщо ви ще не прочитали його, то наполегливо рекомендую. Автори статті заявляють що *„the two of us spent 7 hours (3 hours on research/plans, 4 hours on implementation) and shipped 35k LOC to add cancellation and wasm support to BAML”*. Винятковий результат! „Але ріжок, в нас легасі кодобаза на стопіцот мільйонів рядків і це не буде працювати” — Проблема кодобаз. Small dick energy: „LLM не працює з нашою легасі кодобазою, це все шляпа”. Big dick energy: „~~Переписати все на мікросервіси~~ модуляризували кодобазу, зменшити розмір контексту який передається в LLM” „Але ріжок, в нас унікальна кодобаза і LLM нічого про неї не знає!” — Skill issue. Доки в md, md в контекст, done. „Але ріжок, AI це бульбашка! Компанії не відбивають й малої долі інвестицій!!” — [Так](https://www.derekthompson.org/p/this-is-how-the-ai-bubble-will-pop), ну і шо, ліл? Залишмо проблеми шерифа шерифу. Хай VC розбираються як відбивати вкладені гроші, наше діло кувати залізо тут і зараз поки гаряче. З часом будуть віднайдені способи зробити тренування та інференс дешевшими ніж зараз, ціни знову впадуть і наші набуті навички дуже сильно знадобляться. „Але ріжок, AI повільний, тупить і галюцинує!” — Так, але прогрес рухається вперед. Ще два роки тому АІ генерувало кріпові відео, а зараз видає такі діпфейки що не відразу зрозуміло що це таке. Мультимодальність, агенти, MCP, цей потяг летить вперед з шаленою швидкістю, і зупинятися ніхто не збирається. „Але... але я заперечую прогрес, хочу як і раніше затишно та детерміновано кодити в програмістських панчохах на двох роботах одночасно!” — А ось і справжня причина вашого скепсису! І я хочу. Я б із задоволенням влаштував би [Ріжковіанський Джихад](https://en.wikipedia.org/wiki/Dune%5F%28franchise%29#Butlerian%5FJihad), підірвав датацентри, заборонив всі AI розробки та повернув би людство до теократичного феодалізму, і всі б чудово жили без «@grok is this true???», але на жаль, нас чекає зовсім інше майбутнє. До влади прийдуть технофашисти, AGI замінить людину, але людина не буде натомість жити краще жєття, а буде злидарювати, побиратися, та битися за миску рису. Ми потрапимо в дистопію, сполучені штати на максималках, де вся влада та блага будуть належати купці багатіїв з пейпел мафії, а чернь буде вести війну за виживання на Пустці. А тому краще б нам всім не випендрюватися, а взятися серйозно за опанування AI-інструментарію. Бо ми навіть не помітимо, коли вже буде надто пізно. ### Менеджимо контекст менеджера URL: https://www.rozhkov.me/manager-management/ Last updated: 2025-10-01T11:04:08.000Z Чи бувала у вас ситуація, коли керівник приходив до вас з питанням, на яке ви нещодавно відповідали в листуванні або чаті або на нараді? Чи було таке у вас що є внутрішній інструмент якоїсь звітності, але керівник все одно питає вас за ту звітність, хоча може згенерувати все сам? Чи буває у вас таке, що ви просто говорите про якусь проблему, а керівник в момент починає дуже за це непокоїтись та пропонувати як її вирішити, хоча це і є ваша робота й ви просто не встигли закінчити речення? Мої вітання, у вашого керівника переповнилось контекстне вікно *(або він просто нездара, але цей випадок тут не обговорюємо)*. Особливо характерно це для всіляких С-левелів та топменеджерів які по суті діяльності приймають надзвичайно багато рішень. Ця велика кількість рішень просто вичерпує токени й виштовхує інформацію про ваші внутрішні тулзи, вчорашні обговорення та інші речі з пам'яті, замінюючи їх тим що потрібно вже і зараз. Звісно, недбалий інженер, недолугий ІС, жалюгідний програмістішко, що думає тільки про свій paycheck, буде сердитися. «Як так, я ж спеціально зробив репортинг для тебе, а ти все одно задаєш мені одні й ті ж питання!». А отак! Будеш мати стільки ж відповідальності, скільки твій бос, я на тебе подивлюся👊 Розумний інженер, талановитий ІС який вже ясно бачить свій шлях у стаффи, потужний програміст що думає про свій імпакт та раз на рік переглядає баланс інвестиційного портфеля, своєю чергою, знає, що його робота є малим шматочком великої мозаїки, і що якщо бос питає — то треба спокійно і без кіпішу відповідати, бо його контекст значно ширший за твій. Розумний інженер, талановитий ІС, швидко аналізує та з'ясовує патерни поведінки свого боса, та акуратно менеджить менеджера: знає стоп-слова, знає як доповісти про проблему, щоб це не викликало бурхливої реакції, знає що можна приховати, а про що обов'язково необхідно розповісти, знає межі свободи прийняття рішень, уважно дивиться яку рутинну діяльність можна запропонувати забрати у боса для подальшої автоматизації, щоб звільнити того для важливішої роботи, знає яку потрібно давати деталізацію рішень і так далі і так далі. Наведу бородатий приклад. Був в нас один грінфілд проєкт, яким керувала абсолютно нульова в технічному плані пані. З боку технарів на нього поставили нещодавно винайнятого без перебільшення талановитого тимліда. Той відразу запропонував використати фреймворк X як фундацію для проєкту. Пані взагалі не знала що це таке, та й контора любила писати все своє, тому видала категоричне «ні». Через це ми досить довго перевидумували власний DI та інші речі. Через здається 2 роки я на крису зробив прототип який переводив проєкт з самописного фреймворку на опенсорсний. Потім на крису пішов до тіпів які завідували ліцензіями та узгодив з ними використання бібліотек. Потім на крису пішов до технічних стейкхолдерів проєкту та домовився про все з ними. І тільки потім доніс рішення до тієї самої менеджерки яка 2 років тому дала відмову. „Але ріжок“, скажете ви, „стільки часу минуло, там напевне вже і менеджерка та перейшла на вищий рівень і їй копирсання в техніці вже байдуже“, і можливо будете мати рацію. Але я твердо переконаний що якби перший тимлід діяв акуратніше та проявив більше терпіння, то в нього б все вийшло і ми б не марнували час на повну херню. Звісно я не якийсь там бізнес тренер, щоб конкретизувати це до actionable advice, але якщо ви бачите що вас дратує, або здається ірраціональною поведінка начальника, то спробуйте визначити чому так відбувається, спробуйте знайти повторювані ситуації, та подумайте що можна скоригувати, щоб такі ситуації були мінімізовані. ### Страх втратити роботу URL: https://www.rozhkov.me/job-lose-fobia/ Last updated: 2025-09-29T14:38:54.000Z З дитинства мене переслідувала дивна фобія — що як завершу школу та інститут, то не зможу знайти роботу. Тоді це здавалося чимось неможливим, через уроборос «потрібно Х років досвіду для того, щоб влаштуватися в Y, але де взяти досвід?». Втім, вже починаючи з четвертого курсу я мав парт тайм роботу в ентерпрайзі, й всі одногрупники теж десь влаштувались. З того часу я перебував у повному та цілковитому переконанні що виграв життя. Що ентерпрайзи будуть завжди, і розумні та дешеві українські програмісти по 3к за штуку будуть потрібні завжди. Що з кожним роком пишеться все більше ентерпрайз слопу, для підтримки якого потрібно буде все більше людей. Що попит на розробників буде тільки збільшуватися. Пандемійні часи лише зацементували це переконання. Ну а далі з клітки випустили стохастичного папугу і все зламалось. Більше не потрібні програмісти, а тим що є — дали копняка під сраку, залишився тільки необхідний мінімум, щоб обслуговувати поки що недосконалі LLM та лупати скалу AGI. В комбінації з війною та раптово луснувшою ковідною бульбашкою це каталізувало кількість історій коли люди місяцями шукали роботу. Того тижня читав на HackerNews [тред про людей які дуже довгий час не можуть знайти роботу](https://news.ycombinator.com/item?id=45306539), буквально *роки*! Звичайно не обійшлось без городскіх сумашедших, але загалом там купа горор сторій про сотні співбесід з нульовим результатом. Як у вас з пошуками роботи? Індекси Джинні виглядають обережно-оптимістичними, але здається що скоро в строю залишаться тільки кваліфіковані погоничі LLM, ті хто насобачився запускати 10 агентів одночасно що [здатні переписати цілі кодобази з однієї мови на іншу за один вечір](https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md). Чесно кажучи вже побоююсь що після звільнення з армії поповню ряди безробітних невдах. Хоча регулярно програмую у вільний час, читаю новини по моїм технологіям та ±в тренді, але все одно стара фобія прокидається й шкребе. З іншого боку, завжди можна залишитися працювати в силових структурах, адже попит на людей з відповідною експертизою буде завжди, wait, oh sh\~ P.S.: залишилося зовсім небагато щоб завершити збір на куб з фільтрами для солярки: ### Нормально роби — нормально буде URL: https://www.rozhkov.me/daily/normal/ Last updated: 2025-09-24T10:06:32.000Z Неймовірно дивує та дратує мене те що чинна влада та інші політики думають про наступні вибори, та вибудовують свою діяльність, щоб вже отримати прихильність електорату. По Києву вже з'являються білборди з очевидно політичною агітацією за конкретних людей. Тобто мене не те щоб це дивує. Мені дивно що вони думають що війна якось сама виграється або зупиниться, головне, щоб нарід був задоволений, не сильно бухтів, та не виходив з картонками під театр. Те що з такими темпами виборів вже ніяких може і не бути, нікого, видно, не хвилює. Але це створює хибну систему мотивації яка впливає на все що відбувається далі. Якщо моя ціль — якомога довше втримати владу, а не завершити війну, то я, очевидно, не буду приймати рішень, які можуть на це вплинути. А рішення такі приймати потрібно, найперше і найнепопулярніше — це звісно мобілізація. Якщо моя ціль — якомога довше втримати владу, а не завершити війну, то я, очевидно, буду намагатися прибрати з публічного простору людей, які досягають результатів, стають популярними й отримують хоч якийсь авторитет та політичний капітал. Так прибрали пса Патрона та генерала Потужного. Якщо моя ціль — якомога довше втримати владу, а не завершити війну, то я, очевидно, буду намагатися доносити нагору тільки хороші новини, приховувати помилки, та максимально обмежувати доступ до *тіла* всіх інших. Якісь тіпи зробили сайтик де малюють червоним не те що нам подобається? Заборонить сайтик! Якщо моя ціль — якомога довше втримати владу, а не завершити війну, то я, очевидно, буду намагатися ставити на всю владну вертикаль людей за принципами строгого непотизму, а не меритократії. Кєнти та кєнти кєнтів усюди. Під кєнта почали копати? Заборонить копачам розкопки. Кєнта образив журналіст? Журналіста — в штурмово-штурмові війська! Журналісти не вгамовуються? Заборонить журналістів! Але насправді, якщо ставити правильну мету — завершити війну, якщо не виходить завершити, то зменшити втрати та збільшити шкоду противнику, якщо не виходить, то ціною територіальних поступок зменшити втрати, то люди це побачать та оцінять. У суспільства є величезний запит на справедливість. Показове знищення кєнта-корупціонера працюватиме краще ніж будь-які популістичні подачки та суперечливі закони з постановами. Якби всі рішення працювали на перемогу то ми б були в кращому положенні, а любі друзі не мали б проблем з наступними виборами. Але на жаль цього не станеться. ### Hello, human resources? URL: https://www.rozhkov.me/hello-human-resources/ Last updated: 2025-09-11T06:24:40.000Z Натрапив на історію про власника чи керівника кав'ярні який харассив своїх неповнолітніх співробітниць. Така поведінка є надзвичайно розповсюдженою. Швидше за все ваша дружина/дівчина розповідала не одну таку історію, різного ступеня крінжовості. Можливо навіть коло неї досі крутяться якісь невдахи які ніяк не можуть второпати що тут ловити нічого. Мене це дивує, але чисто з прагматично-раціональних причин. Алгоритм конструктивної конфронтації, якому напевне досі вчать в прости Г-ди школі менеджерів Стратоплан, передбачає декілька передумов для успішного досягнення цілі, з яких нам цікаві *своєчасність* та *адресність.* Своєчасність — це доносити свою проблему/зауваження/будь-що, відповідно, своєчасно, а адресність — потрібній людині. Очевидно, що якщо розглядати харасмент під кутом «конструктивної конфронтації», то він є ні своєчасним — дівчина/жінка зайнята робочими, а не романтичними справами, ні адресним — дівчина/жінка не зацікавлена в романтичних справах/в неї є партнер/не на часі. Логічно, що ті ж самі зусилля направлені своєчасно та адресно — на побаченні з дівчиною з якою ви десь познайомились, на дружній зустрічі в компанії з відповідним контекстом і схожих подіях, будуть значно продуктивніші за результатом та мати нормальний ROI, а не створювати вам репутацію кріпового тіпа. Тоді чому багато чоловіків марнують купу зусиль, ресурсів на провальне, небезпечне та крінжове фліртування? Хз, тому що довбойоби? Чи тому, що здається що раз ми багато часу проводимо разом то це логічним чином може розвитися? Адже люди на роботі проводять стільки ж або більше часу ніж з близькими. Я і сам таким був. Хоча я не перетинав межі адекватності, але згадуючи деякі ситуації я люто крінжую. Сподіваюсь що через 20 років, коли я буду потужним та відомим кабанчиком, не випливе якийсь ріжокгейт з десятих років і мене не посадять в тюрму на сім год за те шо десь комусь шось не то сказав або не так подивився. В сучасній роботі то все вже не так, бо офісу майже нема, ну вважайте то ностальгією за старими часами роботи з 10 до 18 з перервою на обід та [настільний теніс](https://www.rozhkov.me/office-games/). ![](https://www.rozhkov.me/content/images/2025/09/image-18a211d291b15bfd.png) Звичайно це все про нормісів — нездало одягнених сутулих собак з немитим волоссям. Тому що якщо ви конвенційно красивий персонаж з хорошою аурою, то проблем з взаємністю та доречністю фліртування у вас ймовірно буде набагато менше, ну то не для вас написано. ### @grok is this true? URL: https://www.rozhkov.me/grok-is-this-true/ Last updated: 2025-09-09T06:24:48.000Z Крім звичайного роздратування від того, як LLM проникли в наше життя вже попсуте жадіним та тупим корпоративним колективним несвідомим та погіршили його (і зроблять ще гірше), я дратуюсь з якою швидкістю люди самостійно продовжують пробивати дно. Ось пише людина «чатгпт каже про це наступне: ... ». Мені звісно хочеться дати тому хто це написав ляща. Навіщо? Навіщо мені знати про будь-що згалюциноване стохастичним папугою??? Мені в інфропростір мало замаскованого АІ слопу попадає, то давайте ще додамо відвертого? Як і в суперечці з демагогом, зусилля тут абсолютно асиметричні. Людина не робить жодних зусиль, щоб скопіпастити текст з LLM, а ви змушені це читати та аналізувати чи воно нагалюцинувало та має якйись сенс. Тому як тільки я відчуваю сморід LLM, то миттєво перестаю читати, бо цінність цієї відповіді від'ємна. Також, коли людина копіпастить LLM, то вона знімає з себе відповідальність щодо відповіді. «Це не я, це все грок», і якщо грок сказав неправду, то у людини лапки. ![](https://www.rozhkov.me/content/images/2025/09/image-84f03581c6a41e0a.png) Замість того щоб, наприклад, запитати у грока, а потім самому перевірити інформацію, LLM-ентузіаст просто вставляє текст не читаючи та не перевіряючи його та непрохано умисно засмічує та шкодить моєму інфопростору. А інструменти які дозволяють вставляти відповіді LLM інлайн просто невимовно бісять, бо тепер будь-який твітер тред де є твердження переповнений одноклітинними які питають одне й те саме. Скоро і в телеграмі це буде, так що очікуємо навали лайна в коментарях. Жиби той датацентр сраний згорів, тьху. P.S.: я ще не дорвався до роботи де СТО зверху спустив рознарядку використовувати курсори та інше, і люди створюють від'ємну цінність для команди генеруючи MRи які не читають. ### Ідейність vs наймитство URL: https://www.rozhkov.me/cult-vs-firm/ Last updated: 2025-09-05T06:24:08.000Z Є два способи переконати людину робити те що вам потрібно — заплатити їй гроші, або вселити їй вірус ідеї, щоб вона робила потрібне вам через переконання. *Решту способів, такі як зіставлення цілей компанії та співробітника для простоти розглядати не будемо, бо загалом вони не так часто застосовуються.* Всі менеджери проходили тренінги по мотивації, та якщо редукувати то все, то потрібно або дати грошей або напарити ідею. Або ви працюєте в культі, або в фірмі. Або потрапили в фірму де є невеликі культисти. Або в культ де є фірмачі. Правда десь посередині. Менше з тим, моєю першою роботою був якраз культ. Характерна риса — зп по нижньому квартилю ринку, персонал що працює там багато років та розповіді про крутий продукт, розвиток, місію і так далі. Далі я потрапив у фірму, але вона досить скоро стала культом, бо інвестори не дали достатньо, щоб просто платити людям притомні гроші й довелося теж слухати про велике майбутнє стартапу. Паралельно з тим деякий час я провів вже у справжньому релігійному культі (австралійська протестантська церква з диско-кулею, олдфаги чату пам'ятають) та трохи засвоїв ту науку. Далі мав вже свою фірму, де нічого людям не парив, бо розумів, що чесність — найкращий вибір, а ідеї в мене не було, бо ми просто аутсорсили. Далі пішов у фірму — стартап який мав хороше фінансування та не потребував культистів. Далі було всяке. Колись на HackerNews прочитав про контору, що кожного року чесно пропонувала своїм співробітникам проходити співбесіди в інших конторах та отримувати офери, а далі або платила стільки ж чи вище, або відпускала співробітника. На жаль я так і не зміг знайти оригінал цього матеріалу чи згадати назву цієї компанії. Це максимально чесний, ринковий підхід. Ніяких маніпуляцій, ніякого тиску. Гадаєш що вартуєш більше — без проблем, принось офер. Або ми самі бачимо що ти файний хлоп, ось тобі ще долярів. Але є проблема, навряд чи наймит буде так віддано працювати на вас, як добре оброблений та замотивований культист. Тому ідейні люди, готові покласти себе за спільну справу, надзвичайно ціняться. Ті, хто мотивується не грішми, а чимось внутрішнім здатен на великі справи. Втім, культ дуже погано масштабується. На жаль, зазвичай вдається зібрати лише ядро послідовників, що будуть тримати вкупі решту менш мотивованих, напівнаймитів-напівкультистів або взагалі чисто наймтів, які залетіли на рандомі та врешті швидко вас покинуть. Тому ідейність завжди програє грошам на довгій дистнації. Бо їсти теж щось треба, а захопливими перспективами родину не нагодуєш. Мій колега з першого культу часто розповідав історію як вони робили якийсь військовий симулятор, і коли з якихось причин перестали платити гроші, вони все одно приходили в офіс та програмували, настільки були захоплені процесом створення. Але врешті всі розбіглись. Також, очевидно, більші шанси стати культистами має недосвічена молодь. Перший культ де я був якраз робив ставку на студентів без досвіду і ставка ця себе виправдовувала на всі 200% — бо на виході вони мали армію відданих та висококваліфікованих працівників, готових до будь-якого сценарію. Що робити? Особисто [я мрію створювати ідеології, філософії, світогляди](https://www.rozhkov.me/dream-team/) за якими будуть йти інші люди, та заробляти на цьому, мати можливість існувати з цієї діяльності. Так працюють ~~культи~~ компанії та люди, що мені до вподоби. ### Згорів з крипти URL: https://www.rozhkov.me/daily/crypto-butthurt/ Last updated: 2025-09-04T13:41:57.000Z Того тижня пан Дмитро, добродій який неодноразово допомагав нам на збори, запропонував задонатити 2500$ в крипті на ремонт автівок. В мене вже був акаунт на бінансі, тому зійшлися на тому. 2500$ USDT залетіли просто по номеру акаунту. Буквально на наступний день мені пишуть з автосервісу та просять внести 100 000₴ авансом за ремонт двох авто. „Вчасно прийшли 2500$“, подумав я, якраз оплачу цей рахунок. Але як вивести ті гроші? Я пішов в чат [KnK](https://knk.wtf/) з відповідним запитом, там знайшлась людина що готова була обмінятися. Власне мені просто треба було оплатити рахунок по ІБАНу тому я навіть не просив, щоб гроші переказували на банку, а відразу на ІБАН автосервіса. Людина скинула мені скриншот QR коду на бінансі чи ще десь. Окей думаю, відсканував скриншот телефоном щоб скопіювати адресу. Далі намагаюсь розібратися, як мені переказати кошти іншому абоненту. І не можу! Бінанс вивалює на мене буквально десятки меню, дашборди, цифри, графіки, купа незрозумілих термінів! Де переказ? Де кнопка «надіслати гроші»? Не можу знайти. Тикаю рандомно по менюшках, все не те. Здаюсь, йду в пошук, «як переказати гроші на бінансі». Знаходжу відео(!) на ютубі від якогось тіпа. Виявляється, переказ називається «withdrawal». Не «transfer», як би я міг подумати! І захований він в підменю. Дуже зручно. Тикаю туди, обираю адресу, мережу (що це?), нажимаю го, а воно мені — треба 3(три!) підтвердження! Код на емейл — ок СМС на телефон — ок Двофакторний код — не ок. Я його не підключав, треба зробити. Додаю код. Щоб додати код треба отримати код на емейл та смс на телефон. Зробив. Пробую ще раз — тепер вимагає підтвердження особи (???). Ватафак, я вже проходив KYC! Тисну ок, воно мені каже як ненавистний Дія Підпис — покрути головою, кліпни, відкрий рота. Мавпую перед веб камерою, п'ять спроб — всі неуспішні. Починаю сердитися, бо не розумію чому я не можу переказати кошти що маю на рахунку. Бачу припис що можна верифікуватися через додаток. Добре, ставлю додаток. Там теж треба обличчям світити. Не можу залогінитися, бо після якогось етапу все просто зависає. Дві спроби — два зависання. З третьої спроби ніби залогінилось. Пробую провести транзакцію знову, знову коди на телефон емейл двофакторка. Цього разу підтверджую транзакцію через телефон. Не працює знову. Ще раз те саме. Ура! Спрацювало. Гроші полетіли. Через деякий час отримую квитанцію оплати рахунку. Друге ура. Я не розумію чому у фінтех продукту настільки нездалий UX. Мені, програмісту який звик до складного, важко там розібратися, а людині звичайній взагалі неможливо. Як мені пояснили в чаті — бінанс це в першу чергу біржа, тому вони навмисне виставляють «біржовий» UI нагору, а все що стосується P2P то не їх юзкейс і тому сховано десь в глибині. Минуло вже 17(!) років з появи блокчейну, а ніхто так і не спромігся зробити криптододатки для нормісів. Все якось супер складно, акаунти, гаманці якісь, те, се. Дуже незрозуміло, дуже не для людей. Криптоентузасти обіцяли нам майбутнє фінтеху, а ми отримали роздуті платформи для трейдингу фантиками. Сподівання не виправдались🤷‍♂️ Чому ніде немає апки де буде одна велика кнопка «ВІДПРАВИТИ ГРОШІ» і все. Людям же більше нічого не треба? В коментарі запрошуються криптани які пояснять що я просто не розібрався. P.S.: як побічний ефект мені раптово стало цікаво як воно все працює та навіть щось там попрограмувати. Крипто індустрія цікава як вправа для мозоку, чисто річ в собі, а нас програмістів хлібом не годуй дай зайняти розум та навернути складності. Вийду з армії, подамся в криптоскам контори☺️ ### Хайлоад — подивився «Ford v Ferrari» та «F1» URL: https://www.rozhkov.me/ford-v-ferrari-f1-highload/ Last updated: 2025-09-03T06:24:23.000Z Два кіна відділяє 6 років між зйомками та 50 років між описуваними подіями. Ті ж два кіна об'єднує бажання героїв проїхати асфальтовану ділянку землі швидше за інших. Швидкість заради швидкості, спорт заради спорту. Перше кіно про злу корпорацію яка грубо нехтує людьми які роблять всю роботу, друге кіно — про дорослішання дитини та командну гру. Перше кіно завершується зле, друге кіно завершується як в краматорському масажному салоні. Якщо дивитися з практичного погляду, то в змаганнях зараз немає особливого сенсу. Хто шарить за машинки той пояснить, які з інновацій з перегонів вже є імплементованими в цивільних авто і чи багато простору для тих інновацій там залишилось. Гадаю що небагато. Втім, що об'єднує два кіна так це бажання героїв витиснути максимум з техніки. А знаєте, де ще витискають максимум з техніки? Звичайно на хайлоад проєктах. [Колись я писав](https://t.me/full%5Fof%5Fhatred/183) що 80% всіх хайлоадопроблем — це неправильний або невдалий дизайн сховища даних і все вирішується викорененням N+1 або додатковим індексом. Звичайно ж я вам напиздів, розумієте, напиздюнькав, викупаєте, я сказав вам неправду — тому що на той момент не пропрацював жодного дня на хайлоадопроєкті, проте хотілося здаватись розумним та вдати що я не просто невдаха що робить круд на 2.5 людини, а такий самий «спеціаліст». Тільки згодом я зовсім трішки доторкнувся до таких речей, і знаєте що? Складнощі дійсно є, і вони не завжди вирішуються плюс одним індексом. Індекси до мене вже зробили! Тому зображення роботи інженерів та пілотів з фільму дуже мені зрезонувало з тими самими хайлоад проєктами, де мікрооптимізації мають значення. Як будь-який «інженер» я теж люблю роботу саму по собі, щоб було красиво та працювало швидко, байдуже що це просто машинки які ганяють по колу на радість скуфам, або якийсь бетінг який доїть тих скуфів на гроші, сама необхідність думати, експериментувати, та врешті досягати результатів є захопливою, і ця аналогія не відпускала мене й після перегляду. Навіть захотілося піти в якусь неетичну контору, просто щоб зайнятися справжніми інженерними проблемами, а не вирішувати все рядком `rails g solution for a problem`. Тому хайлоад — круто, переписати шматок коду на ~~Rust~~ Java — круто, оптимізувати стореджі та SQL — круто, тюнити параметри GC — круто, переїжджати на барметал — круто, працювати з великими об'ємами — круто. *Йдіть працювати в Дельту, там то все мало б бути.* А от мікросервіси, мікрофронтенди, javascript, та інша шляпа що зараз модна на всіх проєктах заради того, щоб дати волю розуму що любить все складне заради складності — не круто. Choose wisely. ### Прокляття менеджера середньої ланки URL: https://www.rozhkov.me/middle-management-curse/ Last updated: 2025-09-01T06:24:25.000Z Уважний читач [пам'ятає](https://www.rozhkov.me/loyalty-and-comfort-zone/) модель корпорації [«Gervais Principle»](https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-or-the-office-according-to-the-office/): *„Sociopaths, in their own best interests, knowingly promote over-performing losers into middle-management, groom under-performing losers into sociopaths, and leave the average bare-minimum-effort losers to fend for themselves.“* Лузерів (в корпоративно-ієрархічному сенсі), що працюють краще ніж потрібно, підвищують до менеджерів середньої ланки. Щоб видавати таку продуктивність людині треба бути «clueless», безглуздою, та ставити інтереси компанії вище власних. У 2008-у році сталась фінансова криза, що призвела до масових скорочень працівників та замовлень. Торкнулась вона і нас — долар виріс з 5 до 8, аутсорс та аутстаф контори втратили контракти. Тоді я працював в компанії що мала власний продукт, тому була більш стійкою до ринкових пертурбацій. Зміни торкнулись лише грошей. Всі отримували офіційну зарплатню в гривнях без прив'язки до курсу $. Але як долар виріс, то ці гривні знецінились майже у два рази. Проте зарплата не змінилась. Це звісно викликало питання у працівників — чому компанія що отримує прибутки в $ платить нам нижче ринку? Російський менеджмент тоді надзвичайно здивувався цьому, бо вони все життя працювали за рублі. До нас приїхав VP та окрім іншого розповідав байки про те як він в 98-му мав гроші на квартиру і вже збирався її купити, а потім сталась криза і він все втратив. І тому тепер ми повинні теж терпіти, тому що криза. Те що в аутсорсі який потроху оговтувався, платили в доларах, його не цікавило. Врешті, зваживши ризики та завдяки постійній адвокації українських васалів, російські пани пішли на компроміс — замість того щоб підвищити всім зарплату до ринкового рівня, різницю в курсі доплачували премію. Але не повну різницю, а згідно з розподілом по категоріях. Топ перформери отримували все, далі йшли середняки та лоу перформери яким не діставалось нічого. Ця хитра схема існувала багато років, здається аж до 2012 чи може навіть більше. І люди працювали. Я теж працював, замість того щоб тверезо оцінити ситуацію, та піти до ерату. Один раз вдався до шантажу офером та отримав незначне підвищення. Далі просто якось сидів. Але найгіршим для мене була необхідність якось пояснювати підлеглим усі ці махінації чітко усвідомлюючи що для них буде краще просто зараз встати й піти (в ерат), заробляти нормальні гроші та будувати нормальну кар'єру. Не можна розводити зраду, тому що люди стануть гірше працювати й до тебе виникнуть питання, але коли всередині усвідомлюєш дійсний стан речей то воно викликає конфлікт і дуже хочеться розводити зраду, але не можна. Також менеджеру часто треба ставити інтереси компанії вище за інтереси людей: виганяти їх в овертайм, не давати рости, не підвищувати зп, не змінювати проєкти й так далі. Що ж я зробив? Замість промоуту до соціопата який був мені закритий, я задауншивтився до лузера-IC, щоб мати змогу змінювати контори та спокійно зрадойобити коли б виникла така потреба😊 P.S.: збір на ремонт корчів продовжується: ### Насіння кунжуту URL: https://www.rozhkov.me/sesame-seeds/ Last updated: 2025-08-29T06:24:19.000Z Пам'ятаєте історію про насіння кунжуту та ефективних менеджерів що зрізали кости? Спочатку прибрали кілька насінин, побачили ефект, потім ще, ще, і ще, аж поки на булочці не залишилось кунжуту взагалі. Бездумне покращення однієї метрики без спостереження за загальним результатом робить чудеса. Продакти сидять і думають — а додаймо нотифікацію \[щоб щось покращити\]? Додають, і дійсно — покращення є! Потім додають ще, ще, ще, ще і ще. В результаті в мене щодня від київстару 5 смс з пропозиціями під'єднати послуги (які мені не потрібні), по одній пушці від уклону з ідіотськими челенджами, нагадування про те що я не залогінився у хелсі, промокод та прохання оцінити сервіс від нової пошти та ще бозна-яке сміття. Те ж щодо інших продуктів — дрібні інкрементальні зміни можуть дійсно покращувати якісь КРІ, але загальний експірієнс погіршується більше ніж сума всього зробленого, синергія тільки навпаки. Гімнергія? ### Закон Конвея URL: https://www.rozhkov.me/conways-law/ Last updated: 2025-08-26T06:24:11.000Z *«Organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations.»*[↗](https://en.wikipedia.org/wiki/Conway%27s%5Flaw) В перекладі що чув я, «архітектура систем відображає структуру комунікації між відділами компанії». Довго не міг зрозуміти цю фразу. Типу, втф, яким чином якась кафка чи база даних мають відношення до *комунікації* всередині організації? Довго не розумів, а потім як зрозумів! Найпростіший приклад — модулі що вирішують одну й ту ж задачу, але трішки по-різному. Зроблені, що логічно, двома різними відділами які не спілкуються між собою. Мікросервіси та 2-pizza teams — туди ж. Особливо прикро, коли якісь команди конфліктують між собою і починають або дублювати рішення, або робити їх несумісними, або саботувати одна іншу. Коли зрозумів, як це працює, починаєш бачити практичні спостереження закону всюди. Зараз це дуже помітно в армії. Наш фронт це буквально ілюстрація закону Конвея. Там де стоїть одна бригада або комунікація між бригадами вибудувана на високому рівні — там все у відносному порядку. Кацап бараниться, просування повільне. Там, де зібрали мозаїку зі всіх родів військ, там вже гірше, а там, де бригади активно не дружать одна з іншою, там взагалі очко і постійні провали. На жаль, спостерігав всі варіанти. Те ж з загальною структурою СОУ. Зробили СБС, але не змогли поставити туди кєнтів — робимо всередині сухопутки «Лінію дронів». Є ДШВ — але знову треба кудись прилаштувати кєнтів тому забираємо букву Д і робимо ШВ. СБУ, ГУР та НацПол теж виходять за рамки своїх дефолтних функцій та фактично мають загальновійськові підрозділи, але то вже трошки інше. Більше начальників богу начальників! Де багато начальників, там багато комунікації, де багато комунікації там фрагментованіша структура, де фрагментованіша структура, там простіше найти слабку ланку і натиснути на неї, що і робиться та в результаті призводить до втрат. Висновків немає. Все і так написано відомими діячами. Я знаходжусь на найнижчому рівні цього харчового ланцюжка тому ні на що повпливати не можу та лише з болем спостерігаю за результатами. ### Гео(love)кація URL: https://www.rozhkov.me/daily/geo-love-cation/ Last updated: 2025-07-08T06:24:58.000Z Щойно поруч *(це було в неділю)* пройшла дівчина, що розмовляла по телефону, а я, не в змозі поставити фільтри на зовнішній шум, сприйняв все що вона говорила. — «В мене немає жодної твоєї геолокації!», — промовила вона різким, надтріснутим голосом. — «Ти сьогодні був на рибалці? Так? В мене немає ні одної геолокації!», — продовжила лементувати вона. Далі не вже не слухав, бо ми йшли в протилежних напрямках. Застосувавши метод дедукції, я прийшов до висновку що таким чином дівчина перевіряла свого партнера на вірність. Навіщо ще їй знати «геолокацію»? Судячи з всього, підстави не довіряти йому вона дійсно має. Але навіщо мати стосунки без безумовної довіри? В нас і так життя не легке, кохана людина мала б виступати опорою у світі суцільної ентропії та невизначеності. Хочеться мати хоч щось надійне, а не ще один привід для серйозної тривожності. Це звісно важко, тому що всі люди помиляються, а одного разу втрачену довіру вже не повернеш. 🕵️Ви теж чіпляєте до своїх коханих GPS-маячки? Чи перевіряєте телефони на предмет небажаних переписок та компрометуючих фотографій? Реєструєтесь у сервісах знайомств чи пишете своїм коханим з лівих аків, щоб перевірити вірність? Ставте вподобайку та діліться улюбленими способами контролю👇 ### Не цікаво URL: https://www.rozhkov.me/not-interesting/ Last updated: 2025-07-08T08:10:31.000Z Часто думаю що міг би досягти більшого, якби хотів. Давно вже минули часи бурхливого росту коли тайтли мінялись щороку. Багато з тих, кого я наймав джунами, або починав зі мною, вже давно перевершили мене та зайняли верхівку в ієрархії корпоративного кріпацтва. Чи мав я можливості вирости так само? Безперечно. Просто треба було робити те що для цього потрібно, а не те що було цікавим. Замість того щоб брати проєкти за які б давали промо, я брав проєкти де міг нескінченно колупатися зі своїми фреймворками та технологіями. Замість того щоб далі йти в управління, залишився IC, щоб продовжувати колупатися зі своїми фреймворками та технологіями. Замість того, щоб грести бабло лопатою на двох ентерпрайз джава роботах або стати node.js архітектом, я перейшов до Ruby on Rails, щоб отримувати задоволення від розробки та продовжувати колупатися зі своїми фреймворками та технологіями. З моменту релізу ChatGPT пройшло вже багато часу, але з того моменту мінімум половину шпальт [HackerNews](https://news.ycombinator.com/) що є моїм основним джерелом для читання, займають матеріали про LLM. Але мені нецікаві LLM! Вогник інтересу не загоряється, шишка не димиться від релізу чергової o-14/88-uber моделі, байдуже на бенчмарки, на системні промпти, на промпт інжекшени, на курсор, вайбкод та агентів, ваще поїбать на AGI, на сотні стартапів які враплять опенАІ за +прайс, на генеративний слоп та інше лайно що вже тепер дивиться на мене не тільки з інтернету, але й з білбордів та плакатів реального світу, взагалі по ба-ра-ба-ну на це все. Через це я програв та продовжую програвати. Так не має бути. Макс Іщенко каже що [АІ це те що змінить світ так само як колись змінив iPhone](https://t.me/maxua%5Fpublic/59) (та смартфони загалом), тому не можна пропускати це вікно можливостей, бо воно ось-ось зачиниться, і ті хто були першими заберуть все. Але в нього самого щось не дуже поки що виходить, лише осьо [навайбкодили собі вільне місце в об'єктному стореджі](https://t.me/djinni%5Fofficial/1769). Гадаю що всіх з'їдять корпорації що мають інфраструктуру. Всі врапери які підняли раунд у фомо-інвесторів, швидко здуються або луснуть, коли провайдери просто зроблять всі ці речі нативними у своїх моделях та інтерфейсах до них. Всіх з'їсть джекі чанг який робить відеокарти. Всіх з'їдять датацентри де гігавати енергії будуть конвертуватися в генератор тексту для вашого телеграм порно боту. Ось там звісно можна працювати, там цікаво. А нас всіх викинуть на узбіччя і взагалі неясно як світ буде існувати далі, коли людям стане нічого робити, а багатії не поспішають ділитися своїми статками, щоб фоп третьої групи мав свою тисячу доларів за так, а не за появу на дейлі стендапах. Так от, ніяк не можу примусити себе цим всім зайнятися, перейти на огидні тайпскріпт та нехт.джс з реактом, бо моделі найкраще програмують на них, купити собі преміум плани клодів та чатівгпт, обмазатися агентами та генерувати аі слоп щоб мати гешефт з недоумкуватих користувачів які будуть дивитися мотиваційних спікерів під майнкрафт паркур відоси. Тому що нецікаво. Єдине радує. Коли війна закінчиться то надолужати всі техніки користування АІ можна буде досить швидко, бо вони постійно змінюються. Якщо до того часу не придумаю нічого путнього та доведеться знову стати корпоративним кріпаком. Ну а вам, читачі та читачки раджу якнайшвидше в то все занурюватися, бо там зараз гроші. ### Сердитий URL: https://www.rozhkov.me/daily/grumpy/ Last updated: 2025-07-07T06:52:41.000Z Є така думка що настрій людини окрім зовнішніх факторів сильно регулюється внутрішньою хімією. Тобто, в когось завжди кращий настрій не тому, що він такий позитивний, а тому, що в нього інший баланс речовин які на цей настрій впливають \[citation needed\]. Знаєте, є такий тип людей які постійно жартують, кепкують та глузують зі всього навколо, травлять байки та історії, та мають досить низький signal-to-noise ratio у своїй мові. Душа компанії! А от я, навпаки, постійно на серйозі, та не завжди сприймаю або не хочу сприймати жарти, а люди які довго перемикаються на серйозну розмову по ділу викликають у мене роздратування, бо витрачають наш час на порожню балачку. Через це напевне мене часто питають «ти чо такий сердитий?», або «що трапилось ти чо сумний?», хоча покерфейс це мій стандартний стан~~, бо я постійно напружено думаю як би зробити saas бізнес~~. А я не сердитий, в мене просто хімія така😐 Звичайно я заздрю жартівникам, бо вони краще соціалізуються, та отримують всі профіти від ефекту гало своєї аури веселості. Раніше вважав себе екстравертним пиріжком що легко встановлює раппорт з іншими, але згодом зрозумів що це зовсім не так, та ще й навпаки. Але стати таким жартівником я не можу, тому що це буде вже якась соціопатія🫤 Цікаво, чи можна це змінити контрольованим медикаментозним шляхом або дієтою? 👇Став покерфейс😐 якщо теж ходиш на серйозних щщах. Став клоуна якщо ти з тих клоунів, які влаштовують стендап виставу замість того щоб перейти до справи🤡 ### daily rozhok №13: у ріжка горить срака👩‍🚒 URL: https://www.rozhkov.me/daily-rozhok-13/ Last updated: 2025-07-04T06:30:53.000Z Вітаю всіх (хто виспався) з п'ятницею🫠Цього тижня в мене горіла срака з приводу та без привода. Приєднуйтесь та палаймо разом!🔥 🤬[Згорів від втрати логіну](https://www.rozhkov.me/daily/lost-login/) — палає срака від постійно злітаючих сесій у різних сервісах, особливо гітхабі та гітлабі. 👊[Згорів від людей які не зминають пластикові пляшки](https://www.rozhkov.me/daily/plastic-bottles/) — власне. 🙉[Згорів з TWS навушників](https://www.rozhkov.me/daily/tws-earphones/) — купив китайські аудофільські навушники а вони погано сидять. Про існування type-c—jack адаптерів не знав. Поверніть джеки в телефони! 🤦‍♂️[Згорів зі смартфонозалежності](https://www.rozhkov.me/daily/smartphone-addiction/) — набридло просинатися, засинати, тримати в руці 24/7 та ходити на лоток з телефоном в руках. Всі методики продуктивності та atomic habit разом з чорнобілими екранами — все псу під хвіст, я з отаким обличчям 🤤 годинами дивлюся АІ-згенерований брейнрот про крокоділо бомбарділо. 🍔[Згорів із фастфуду](https://www.rozhkov.me/daily/fastfood/) — не маю де поїсти та закликаю до знищення макдональдсів з кфц. 🤝Дякую всім хто задонатив на бімбер, вже є більш ніж половина, збір триває! ### Згорів із фастфуду URL: https://www.rozhkov.me/daily/fastfood/ Last updated: 2025-07-04T06:24:13.000Z Виріс в 90-их тому на фастфуд грошей не було. Макдаку в мене в місті не було, а хондоги їв один раз, на новий рік. В мене навіть десь збереглось дитяче фото де я це роблю (їм хондог). Тому вихований я в традиціях «нормальної їжі» — перше, друге, компот та десерт, а бургери з кока колою викликають у мене відразу та огиду. Але схоже що решта населення так не думає. Бо я не можу пояснити, чому у всіх містах немає хороших мереж нормальних їдалень з нормальною їжею. Нормальна, як я вже казав це перше — борщ, суп гречаний, друге — пюреха, гречка, котлетка (засуджую), салат овочевий, капусточка, морква, напій — компот, чай, десерт — тортик. Можна розбавити це все діло пиріжком. Ця їжа має бути максимально простою, поживною та «здоровою», наскільки взагалі може бути здоровим публічне харчування. І дешевою. Тому що гречку варять уже багато років, там не треба особливих технологій. І шо у нас є? Пузата Хата! Жирна їжа, [черги](https://www.rozhkov.me/daily/puzata-hata-bad/), а тепер ще й оверпрайс! Нормально похвати в пузатці зараз може встати в 300+₴₴₴! В Києві ще є 2.5 дінерси, там краща їжа, але теж досить дорога! І все! Немає більше мережевих закладів! Салатерія? Здуріли зовсім, миска рис 350₴₴₴! Люди в темі ходять точити пюрешку з котлеткою в їдальні біля закладів освіти або підприємств, коли я мав офіс коло Дмитрівської, то ходив їсти до університету фізкультури. Коли в центрі на володимирській — то в їдальню мін'юсту, там теж було потужно. У Харкові я знаю тільки один такий заклад — це «Пиріжок» в центрі, коло площі великої, більше не знайшов. Також є їдальні при Епіцентрах, Ашанах та Тавріях В, але там по перше дорого, по друге їжу гріють у мікрохвильовках що є смертним гріхом будь-якого закладу харчування. Що нам пропонує ринок? Шавуху, бургери, хотдоги, піцу та інше лайно, джанкфуд що виходить так само швидко як і заходить, не лишаючи по собі ніц корисного. Чому так? У людей немає запиту. А нове покоління виховується батьками змалечку в макдаках та не знає що таке нормальна їжа. Такими темпами скоро будуть живчик пускати по трубах замість води😒 ### Згорів зі смартфонозалежності URL: https://www.rozhkov.me/daily/smartphone-addiction/ Last updated: 2025-07-03T21:34:07.000Z Якось непомітно раз раз і смартфони настільки проникли в наше життя що тепер вже ніхто не ходить посрати без шматка скла та кремнію в руці. Прокидаєшся зі смартфоном. Цілий день зі смартфоном. Засинаєш із смартфоном. Найменша вільна мить — в руках миттєво з'являється смартфон та починається нескінченний (за)луп по апкам соцмереж. Окрема категорія людей ще й свайпають апки, закривають, щоб через 5 секунд знову відкрити й не побачити там нічого нового. І сам не помітив як став тим, над ким раніше сміявся. Телеграм канали, харкерньюз, твітер (особливо твітер) — нескінченний скролінг та гортання поглинають мене, не залишаючи часу навколишньому світу. Постійне споживання простих вуглеводнів соціальних мереж забиває бажання робити щось своє. Рейджбейт, непотрібні статті про чергову ллм-ку, критика чого завгодно від контори епл, історії що не несуть ніякої користі, думки людей які не мають для мене жодної цінності. Срака горить від втраченого часу люто, але легіони спеціалістів з людської поведінки вже давно перемогли мене, і чинити опір немає ніякого сенсу, лишається лише поринути в цифровий сублімат та обжиратися до нестями, поки не стане зле. Ще більше срака підгорає від того як дивишся на інших, я бач те розумний, я хоч читаю про ллм-ки та срач довкола некст.жс, а от інші просто тупо гортають тікток або інстаграм. В мене тяжко з візуальним або аудіоконтентом, я не дивлюся ні шортси ні тікток ні інсту, тому брейнрот мій не такий потужний, але крокоділо бомбарділо що лунає з сусднього смартфона навіює жахливі думки про майбутнє людства. Горить срака від того що корпорації грають з нами в гру з від'ємною сумою, а зробити з тим ніц нічого не можна. ### Згорів з TWS навушників URL: https://www.rozhkov.me/daily/tws-earphones/ Last updated: 2025-07-02T06:24:58.000Z Ніколи не задумувався про причини масової відмови виробників смартфонів від мініджеків. Ще рік тому я користувався OnePlus 3T, де такий джек був, і горя не знав. В мене є кілька хороших [IEM](https://en.wikipedia.org/wiki/In-ear%5Fmonitor) навушників які мають чудовий звук так добре сидять у вухах. Аж осьо оновив смартфон і там такої опції вже немає. Тоді почав шукати які взяти бездротові навушники й з подивом дізнався що справжня причина відсутності джеків — це збільшити продажі TWS затичок. Яка ганьба, який сором, яке неподобство! Ну гаразд, я вже змирився що треба буде знову платити жертву мамоні, давай думаю куплю китайські «аудіофільські» навушники як завжди, обрав [FiiO FW3](https://www.fiio.com/FW3), вони прийшли й вуа ля — ця шляпа мені не підходить. Одне вухо ок сідає, а інше нещільно прилягає, треба довго крутити, щоб знайти положення, в якому воно нормально затикає вухо. Зміна насадок не допомагає. Згодом також вилізли проблеми з втратою якості звуку. Змінив кодек на гірший ніби пропало, але все одно. Змарнував гроші. Є всілякі BT адаптери для моїх IEM, але почитав відгуки там то воно звук псує то одно з двох. Так і потерпаю досі. На нові затички шкода грошей, адаптери купувати не хочу, а смартфонів з джеками уже не існує. Здобули👍👍👍 ### Згорів від людей які не зминають пластикові пляшки URL: https://www.rozhkov.me/daily/plastic-bottles/ Last updated: 2025-07-01T06:24:18.000Z Для таких у пеклі буде окремий казан. Побратусіки сидять в підвалі, де обмежений простір, випили кока коли та закусили пляшкою прозорої й такі — «а поїбать» і запхали пляшку у пакет для сміття як є. Туди ж відправляються бляшанки від нонстопів. Ну типу а шо? П'ять пляшок == повний пакет. Всякі різні негідники не стискають пластикові пляшки, алюмінієві банки, пластикові та паперові стаканчики від макфлурі та кохве, коробки від нової пошти чим скорочують місткість смітників на порядок. Неможливо просто. І ніяк же не навчиш! Зауваження не діють. Хочеться ту пляшку запхати порушнику мого окр в горло, щоб той назавжди запам'ятав що все що має об'єм потрібно стискати, спресовувати, зминати. Я звісно не шизоенвайронменталіст з європи де треба [мити сміття](https://world.hey.com/dhh/we-wash-our-trash-to-repent-for-killing-god-d1c823bd) щоб задобрити бога екології, але ж якийсь здоровий глузд має бути? Дратує страшно. ### Згорів від втрати логіну URL: https://www.rozhkov.me/daily/lost-login/ Last updated: 2025-06-30T06:24:02.000Z Як же дратує все що втрачає логін! GitLab/GitHub тут чемпіони. Ноут змінив ІР? Логінься. Залогінився на іншому компуктері зі статичним ІР? Логінься на ноуті. Нічо не змінювалось, але минуло кілька днів? Логінься. Ще й щоразу двофакторку вводити. Дратує неймовірно. Пейпел? Логінься щоразу. Ще й курва треба постійно скіпати екран який пропонує наступного разу сканувати QR код додатком з мобіли. Розблокуй мобілу, знайди апку пейпелу, обери там опцію «сканувати QR код», відскануй. Дякую розробникам пейпелу за чудовий спосіб покращити ваші срані метрики👍 Хелсі? Втрачає логін з невідомих причин і потім надсилає пушки «ви не залогінені!». Це крім того що ця шляпа ще й постійно спапмить рекламними пушами. Дякую, те що потрібно від додатка для «здоров'я». Сабстек!!! Окремі підараси. ЧатГпт, Клауде.АІ сука постійно втрачають логіни. Два дні не відкривав комп'ютер, логінься заново, а пароля нема! Ось тобі посилання на пошту. Сентрі постійно втрачає логін. Армія+? Бажаю міцного, будь ласка, залогіньтесь! Дія? Авторизуйтесь, ось банк ід. (Дію підпис робили особливі ~~підараси~~ мразоти, але то окрема розмова). Чому не можна зробити нормально. Технології є. АІ он крокує по сеньорних головах семимильними кроками. А на виході все одно лайно. ### Збори та шахраї URL: https://www.rozhkov.me/crooks/ Last updated: 2025-06-23T06:24:49.000Z Уже кілька днів в нашому інфопросторі несеться розслідування щодо шахрайських дій смертельно хворого чоловіка, який вимагав гроші ніби то собі на лікування, а по факту на нецільові речі, ймовірно на казік. Подробиць багато, а розміри настільки потужні що хлопець навіть [мав персонального менеджера у моно](https://x.com/OKhudetska/status/1936455059337859518), який проводив йому великі транзакції та залагоджував всі питання з фінмоніторингом. Так що на додачу до [Сорда](https://babel.ua/texts/97998-viyskovogo-vlada-sorda-pidozryuyut-u-kradizhci-milyoniv-na-zsu-ta-shahraystvi-a-pochalosya-vse-z-togo-shcho-vin-obmanyuvav-divchat-velika-istoriya-babelya), [Адмірала Няв](https://x.com/yaadmiralmeow/status/1808052700346540226) та інших менш гучних випадків, маємо ще один (але здається найбільший). Люди які не шарять відразу пишуть «ні ~~грама в рот, ні сантиметру в ж~~ копійки волонтерам, бо то можуть виявитися шахраї!», інші більш прискіпливо ставитимуться до зборів, інші продовжать донатити на все підряд і далі. Попри репутаційній шкоді, що завдають волонтерському руху такі випадки, загалом підвищення вимог до звітності — це добре. Дуже-дуже багато волонтерів нехтують цим. В нас на [Donate1024](https://donate1024.org/) напевне лише 10% нормальних звітів де суми з розбитої банки збігаються з чеками та фотографіями. Решта це «всім дякую, гроші (скільки?) зібрали, потрібну річ купили (за скільки?), осьо передали (кому?)». Ще два роки я вже писав про це: [«Волонтерство та звіти»](https://www.rozhkov.me/volunteering-bookkeeping/). Час плине, а краще не стає🤷‍♂️В сусідньому каналі автор питає «а яку звітність ви б хотіли бачити?»🤦‍♂️Люди буквально не можуть зібрати раму та в екселі записати дебет та кредит, про що взагалі йде мова? Особливо важко робити звітність коли збори на великі суми. Власне наш герой досить довго вводив в оману спільноту саме завдяки цьому. Відомо що ліки проти його недугу надзвичайно дорогі, тому можна просто робити банки на мільйони та просити гроші у всіх підряд. Я підтримував не один великий збір від різних підрозділів (тобто такі що публікувались на офіційних сторінках цих підрозділів), але жодного разу не бачив звітності по них на цих же сторінках. Переконаний, що гроші пішли куди треба, але все ж. Щодо моїх зборів то чим менша сума, тим краще. Швидко зібрав, швидко придбав що потрібно, швидко відзвітував. На малих сумах ніде вкрасти. Мене надзвичайно дратує незакрита звітність. Уважні читачі могли б пройтися та побачити що в мене немає звітів по багатьох зборах що я репостив та по одному моєму [збору на майстерню фпв дронів](https://t.me/full%5Fof%5Fhatred/958). Чому нема по чужих — не завжди відстежую, чому немає по моєму — бо я просто передав всі зібрані гроші бійцю, а логістику організовував він, а в нього такі ж проблеми з бухгалтерією як і в пересічного волонтера. Фотки інструментів та дронів в мене є, але руки не доходили то все зібрати до купи та опублікувати. Коли був скандал з Адмірал Няв, то деякі люди в коментарях написали що непогано було зробити монітор монобанок, якби б слідкував скільки грошей зібрали, скільки зняли(!) і коли банка закривалась, робив би якийсь пінг. Звісно ніхто такого сервісу не зробив. В мене для того є готова інфраструктура, але я теж не мав бензину на реалізацію. Тому віз і нині там, і подекуди гроші зникають в невідомому напрямку. Що ж робити? Як завжди рішає диверсифікація. Віддавати десятину святій трійці: Притулі, Чмуту та Стерненку, десятину на збори безпосередніх знайомих та родичів і ще десятину на рандомні збори з оточення. Великий прайс віддавати тільки святій трійці або якщо добре знаєте людину. Так переможемо. ### Послухав Jethro Tull — Thick As a Brick URL: https://www.rozhkov.me/daily/jethro-tull-thick-as-a-brick/ Last updated: 2025-06-23T06:24:00.000Z Як відомо все нове — то добре забуте старе. За десятки років людство понаписало стільки геніальної музики, що то все абсолютно неможливо переслухати та осягнути, і з кожним днем її стає все більше та більше. Тому замість того що слухати новинки, я слухаю старинки. В цьому мені допомагає топ на сайті [прогархівес](https://www.progarchives.com/). З дуже високою ймовірністю те що там в [топі](https://www.progarchives.com/top-prog-albums.asp?salbumtypes=1) то дійсно варте уваги й з великою ймовірністю зайде. Так, я вирішив надолужати прогалину в англійському прог рокові, та скачав на торентах цей альбом, попередньо зацінивши його на юутубі. Маю сказати що взагалі я не є фаном фолку, та тяжію до тяжчого звучання, але ця платівка мені несподівано дуже круто зайшла! Настільки зайшла що я ганяю на репіті її вже цілий тиждень. Віртуозна гра, два треки кожен тривалістю в один бік LP, неймовірна флейта та дуже круті вокальні лінії. Я би ще більше зацінив альбома, якби знав англійську достатньо щоб розрізняти текст, бо поки що вдалося вивчити тільки маленький шматочок. Також стосовно альбому є цілий лор, бо запис є відповіддю критикам та журналістам на їх закиди попередньому альбому про недостатнью концептуальність. Обкладинка платівки — то справжня фейкова газета. Ото люди заморочувались над релізами раніше! Більше додати нічого, бо музичний журналіст з мене такий собі, тому ділюсь з вами задоволенням від прослуховування цього шедевру. ### daily rozhok №12:🍦повертається😋 URL: https://www.rozhkov.me/daily-rozhok-12/ Last updated: 2025-06-20T06:30:01.000Z П'ятниця, а значить саме час витратити час на інформаційний фаст-фуд! Сьогодні в меню порожнякові пости на будь-який смак щоб трохи розбавити ваш думскролинг: ☢️[Пройшов S.T.A.L.K.E.R. 2](https://www.rozhkov.me/daily/finished-stalker-2/) — 7 місяців проходив-проходив і нарешті пройшов. Ділюся враженнями. Хочеться грати ще, але біганина по зоні пішки без ровера втомила. Тому бігаємо в Моровінді, поки на сталкер не зроблять васяномоди з транспортом. 💰[Ідея: «Perpetuum Company»](https://www.rozhkov.me/daily/perpetuum-company/) — ріжок обчитався Сімака, придумує комунізм та хоче знищити великі корпорації які працюють виключно в інтересах підвищення цінності акцій на ринку та збільшення надоїв для акціонерів. 🏡[Житло](https://www.rozhkov.me/daily/house-crisis/) — ріжок знову винаходить комунізм з безплатними хрущовками для всіх даром і хай ніхто не піде ображеним! В коментарях активне обговорення кризи нерухомості. Забайтив читачів та читачок на 100+ коментів, давно такого не було! 🍩[Тітка клара](https://www.rozhkov.me/daily/titka-klara/) — ріжок з подивом дізнається про існування явища [shrinkflation](https://en.wikipedia.org/wiki/Shrinkflation), ділиться з читачами незадоволенням потужності пиріжків у окремій мережі пиріжкових. 🎶[Концептуальні альбоми](https://www.rozhkov.me/daily/concept-albums/) — ріжок відкриває існування прогресив року та ділиться своїм захватом з читачками й читачами. Там в каналі ще є два десятки старих постів, на які не було дайджесту, ну то вже якщо зовсім нічого робити, то гортайте догори. Вартий уваги лише [Простітє мєня мужикі за то шо нє бил в АТО](https://www.rozhkov.me/daily/non-military/), де я рефлексую на тему несправжньості своєї військовості. 😘На тому все, чмоки всім у цьому каналі, гарних вихідних, виходьте трогати траву🍀 ### Концептуальні альбоми URL: https://www.rozhkov.me/daily/concept-albums/ Last updated: 2025-06-20T06:24:54.000Z Я слухаю музику альбомами, тому концепція стримінгів де АІ за мене вирішує що мені підсунути, мені не відгукується. А позаяк музика слухається альбомами від початку до кінця, то найбільше мені подобаються концепт альбоми. Звісно, за визначенням це «альбом який набуває більшого значення ніж просто сума його треків», так би мовити, синергетичний альбом, але по факту для мене основне це коли треки переходять один в інший, без чітких пауз, або просто по одному треку на кожен бік платівки. Сюди ж відносяться деякі записи електронних виконавців, які не обов'язково концепуальні, просто там діджеї в одне все зводять. Мій улюблений або може просто перший концепт альбом то [Between the Buried and Me — Colors](https://www.youtube.com/playlist?list=PLDAD8A6BDC7ED92A3). Абсолюте мастерпіс, треки переходять один в інший, змінюють стилі, темп, розмір, вокал, і взагалі супер круті. Власне після Colors в них все таке, місцями навіть не тільки треки, але й альбоми переходять один в інший. Улюблений гурт, сподіваюсь вони не розпадуться до того часу, поки я зможу відвідати їх виступи (де вони грають альбоми з початку до кінця без пауз ахаха). Проте з Pink Floyd (а коли говорять про концепти то зазвичай згадують їх) я не є фанатом найвизнаніших робіт («Dark Side of the Moon»/«The Wall»), надаючи перевагу «The Piper at the Gates of Dawn» та «Meddle» з шедевральним Echoes. Майже все з Godspeed You! Black Emperor теж моє улюблене, хоча звісно [«*F♯ A♯ ∞»*](https://www.youtube.com/watch?v=wy4IsC5eb7o) та [«Slow Riot for New Zerø Kanada»](https://www.youtube.com/watch?v=2c9TyeKnGGk) це топ з топів, актуальний завжди. З електроніки в машині стабільно лунає [Justice — Woman Worldwide](https://www.youtube.com/watch?v=W-FtiDeHxug), хіт на хіті, шедевр на шедеврі. ![](https://www.rozhkov.me/content/images/2025/06/2025-06-19_21-34-95cf85f89d000300.jpeg) На жаль, гурти нечасто роблять такі альбоми, особливо зараз, коли всі оптимізуються під стримінги, на взагалі годують слухача по одному треку в сподіванні що то вистрелить, а середній атеншн спан того ж слухача ледве сягає кількох секунд. Тому ніц не залишається як переслуховувати старе, та відшукувати на сайті прогархівес [цікавинки сімдесятих років](https://www.progarchives.com/top-prog-albums.asp?salbumtypes=1). ### Тітка клара URL: https://www.rozhkov.me/daily/titka-klara/ Last updated: 2025-06-19T14:22:43.000Z Зайшов взяти два потужних пиріжка (pun intended), вийшов з -100₴ та чимось дрібним. «Але ж Ріжок», скажуть читачі, «ти щойно віднайшов інфляцію», а потім додадуть, «згадай ще батьків які пам'ятали батон по три копійки за совєтів!» Так. Коли пиріжкова тільки відкрилась, вона була відома низькими цінами та високою якістю продукції — пиріжки були великі та з нормальною начинкою, а не тим порожнім шматком тіста з двома з половиною маківками, які продадуть вам в бкк. Але час плине і тітка клара теж зіпсулась. Все всюди псується😒 Порції зменшуються, ціни зростають, в пляшках з йогуртом скоро будуть на заводі не дві третини наливати як зараз, а половину, а то й менше, а дефолтний торт порошенка важитиме не кіло як при карлові марксі, а півкіла, а половинний 250 грамів відповідно. При прайсі в 1₴/грам. Ну а ідейні виробники змушені підвищувати ціни та продавати круасани класового розриву. Пишіть які ваші улюблені продукти зіпсулися з часом *inb4: ріжок🫵, ти й зіпсувся!* *маководи теж пишіть про макос та іос*👇 ### Житло URL: https://www.rozhkov.me/daily/house-crisis/ Last updated: 2025-06-18T06:24:55.000Z Як же тупо що найперша потреба людини — мати дах над головою, досі не може бути вільно задовільненою! Побудувати чи купити житло — надзвичайно дорого, абсолютно недосяжно для людини в перші роки самостійного життя. Доводиться молодість витрачати на заробітки (як я), або жити в кредит та відкладати покупку на потім. В Європах житло вже давно стало не житлом, а [інвестиційним інструментом](https://www.dw.com/en/airbnb-dominated-by-professional-landlords/a-39972379) для кабанчиків, щоб ще більше пригнічувати й так пригнічених гоїв. Та й в нас, у Києві, цілі ЖК будуються відразу під лендлордів, які скуповують там цілі поверхи на пижжені у чесних роботяг гроші, щоб потім відбирати їх далі у тих же роботяг. Звісно тут вільний ринок, можеш їхати в райцентр та купити там хату за 10к доларів і в х\*й не дути, але все ж. Має бути якесь рішення, якась регуляція, щоб нагнути лендлордів (до них у мене класова ненависть), але тоді почнуть оформлювати хати на дружин, мам, кумів сватів та братів. Має бути якесь рішення, щоб знизити ціну житла, зробити його доступним для молоді. Кредити — не варіант. Мої батьки позичили грошей у родичів, щоб купити квартиру у 1997-му році. Батько віддавав борг здається аж до 2004 чи навіть далі, а сім'я моя жила хоч і не бідно, але і не багато — жодних поїздок за кордон, зайвих речей, простий ремонт і все таке. Я вже трохи напотужнічав та купив першу хату у 26 років, але то мені фартануло, бо часи були кращі і нерухомість впала в ціні. Це тупо, максимально тупо. Читачі скажуть, «але ріжок, ти що, хочеш комунізму? коли хату не можна було купити взагалі ніяк, тільки в черзі стояти?». Ні, я хочу, щоб у всіх був дах над головою. Не знаю, як цього досягти. Певне спеціальні люди вже все придумали, залишилося тільки імплементувати, але імплементація йде в розріз з метою тих хто сидить у владі та заробляє купу грошей на хабарях за видачу землі під будівництво скляної залупи преміум класу. Чекаю пропозицій по житловій реформі у коменти👇 ### Ідея: «Perpetuum Company» URL: https://www.rozhkov.me/daily/perpetuum-company/ Last updated: 2025-06-17T06:24:12.000Z Компанія, яка зосереджена на тому, щоб зробити свої продукти максимально надійними та ремонтопридатними. Такими, щоб не ламались, передавались з покоління у покоління, та були вічними. Колись давно я прочитав [оповідання](https://uk.wikipedia.org/wiki/%D0%9A%D1%96%D0%BB%D1%8C%D1%86%D0%B5%5F%D0%BD%D0%B0%D0%B2%D0%BA%D0%BE%D0%BB%D0%BE%5F%D0%A1%D0%BE%D0%BD%D1%86%D1%8F), де прибульці (чи люди з майбутнього) зруйнували економіку світу тим що пустили в обіг «вічні» товари: леза та ножі що не тупляться, машини, що не ламаються та не потребують палива і так далі. Капіталізм для існування потребує нескінченного споживання, тому, на жаль, ми такі компанії не побачимо. Також, концепт складно застосувати до складних електронних приладів, тому що вони будуть досить швидко застарівати через появу нових та вдосконалення наявних технологій. R&D відділи у FAANGах теж потребують нескінченного винаходження нових JS-фреймворків задля нескінченного редизайну продуктів, і ця манія споживання настільки захопила голови розробників, що вже неможливо комусь довести ідею існування [*good enough*](https://goodenough.us/) або [*done*](https://tonsky.me/blog/sublime/) програмного забезпечення. Проте для чогось простого, побутового це цілком можливо. Багато речей що нас оточують, вже не зроблять квантовий стрибок у якості: кухонна та побутова техніка та приладдя: мийні машини, холодильники; меблі, елементи освітлення; інструменти. Отож, наша компанія бере якусь одиницю, та доводить її до розумного ідеалу. Якість, ремонтопридатність та фокус на тому, щоб клієнт купив і більше не повертався до нас ніколи. Переконаний, що для цього не обов'язково лупити преміум ціну. Просто ніхто ніколи не задавався такою метою, бо акціонерам потрібні гроші, а не відсатисфачений кастомер. Сподіваюсь хтось колись таке зробить. ### Пройшов S.T.A.L.K.E.R. 2 URL: https://www.rozhkov.me/daily/finished-stalker-2/ Last updated: 2025-06-16T06:24:06.000Z Нарешті дожав другого сталкера. Це зайняло в мене півроку, гру купив відразу по релізу. Гра мені сподобалась. Я фан першої частини, і хоча грав ще в крадену альфу де нескінченно милувався чме3-ом на мості, гру я пройшов лише раз, та ще й за хибну кінцівку, а в аддони — чисте небо та поклик Прип'яті, не грав взагалі, вже не кажучи про моди. Єдина гра, в яку я повертаюсь багато разів, та яку дослідив з усіх боків то Morrowind, а Сталкер у мене таких емоцій не викликав, хоча обидві гри досить схожі — відкритий світ, фракції, свобода йти по сюжетній лінії або бігати фармити оселі даедр чи хрущовки з монолітівцями. Це перша моя гра з повністю українською озвучкою, і хоч я деколи ловлю крінж від дуже знайомих голосів акторів, але все одно, вона дуже крута. По геймплею здається нічого не змінилося з 2006-го — бігай-стріляй. Зате завдяки графонію тепер можна спостерігати велетенські аномалії, та сидіти на горі градирні з чудовим краєвидом, аби комплюктор тягнув (у мене — не тягне). ### Що дратувало Надто короткий день. Половину гри бігаєш у темряві й то конкретно дратує. Врешті я призвичаївся будувати графік так щоб вночі спати, але то не завжди допомагає. Надто багато ♂dungeons♂. Це просто капець, що не задача — то повзеш в якийсь темний підвал на 10 поверхів донизу, зі скрімерами та монолітівцями. Нелогічність «урбаністики». Морський контейнер у підвалі глибиною в сотню метрів? Кімната заставлена тими ж контейнерами які невідомо як туди напхали. Супер секретні лабораторії які якось біса закопані туди ж. Як це все побудували? Також всі заводи та будівлі орієнтовані строго на північ. Дуже моцні боси. Коли мене вдвадцяте з двох тичок завалив Коршунов, я здався, та понизив складність з середньої на низьку, й з цього моменту я вже продовжив грати на низькій, бо далі почався одноманітний фарм, що не несе ніякого сюжетного навантаження. Щоб завалити Шрама мусив подивитися в інтернеті підказку, бо сам не здогадався. І все одно, поки дійшов до фіналу то вся моя броня та зброя розсипались, і мусив брати те що дбайливо поклали розробники перед кімнатами з босами. Також змухлював — подивився відоси яка пушка більш потужна, де її взяти й де взяти апгрейди, то після середини гри дихалося вже легше, особливо з кровосісями, які неймовірно харили напочатку. Великі відстані. Щоб заробити трохи грошенят посередині гри треба бігати фармити червоні пушки та здавати їх Лахмітнику на Ростоку, це виснажливо та дратує. Взагалі з грішми постійні проблеми, бо кожен вихід це робота в нуль, бо всі зароблені купони витрачаються на ремонт та бк. ### Що сподобалось Сюжет хоч і дещо затягнутий та костурбатий, але сподобався. Гра дає трохи підказок на сюжетних розгалуженнях тож я обрав ту кінцівку яка мала б бути канонічною — тобто за Скіфа. Потім в інтернетах подивився решту кінцівок, бо сили проходити все заново немає. Кінематографічність теж сподобалась, 10 фільмів з 10. Локації та відкритий світ. В деякі частини Зони сюжет вас не буде заводити, тому треба проводити самостійну роботу. Багів я не помітив, напевне, бо грав вже після патчів. Грав на лінуксі. Сайд-квести — здаються місцями цікавішими, ніж основний сюжет, що крутиться довкола клятих ♂dungeons♂. Варіативність вибору хоч і невелика, але є, і мені до вподоби. Шкода що їх так мало. Після завершення гри передивився на ютубі решту кінцівок, а також декілька відосів по лору, та почитав коменти, бо не все зрозуміло якщо не мати контексту попередніх частин. ![](https://www.rozhkov.me/content/images/2025/06/image-3125c310362904db.png) ### Та й по тому Гра хороша, але повертатися до неї не буду. Час зайнятися ріжок.клубом! ### Закон Гудгарта URL: https://www.rozhkov.me/goodharts-law/ Last updated: 2025-06-02T12:08:42.000Z [«Коли вимірюваний показник стає метою, він перестає бути хорошою мірою»](https://en.wikipedia.org/wiki/Goodhart%27s%5Flaw) Закон який значною мірою відповідальний за [еншиттифікацію](https://www.rozhkov.me/enshittification/) та псування нашого з вами життя та добробуту. Гугл будує пейджранк по ключовим словам — сайти наповнюються ключовими словами не органічним, а штучним способом. Гугл міняє алгоритми — копірайтери беруться за копірайтинг та заповнюють SEO-спамом все можливе. Далі підключається АІ, і ось в інтернеті вже майже нічого не залишилося для людей. Кількість переглядів яка стимулює клікбейт та заохочує brain rot і фастфудні формати контенту. Гугл та інші фаанги дають промоушен за «shipping» і от уже постійний churn (не знаю як перекласти) продуктів стає самоціллю. Всім байдуже на користувачів, потрібно виконувати метрики які впливають на промо, інтерфейс гмейлу переписується, а в лінкедін додають ігри. Метрики A/B тестингу перетворюють букінги та інші схожі сайти на неюзабельне лайно. Тільки зараз тільки сьогодні залишився один номер, хутчіш купуй! Нещодавня [новина про CEO компанії](https://t.me/pavlopedenko/1447) який оцінює стратегії від своїх директорів виключно за допомогою промптів що призвело не до того що люди стали думати над стратегією, а до того що вони написали свої промпти й тепер пишуть документи так щоб ті проходили його. єБали, які створюють дизбаланс на фронті. Медійність операції за яку розплачуються життям відчайдухи що йдуть на човнах встромляти прапор. [«Уникнути покарання»](https://t.me/kito%5Fnews/1717) як основний рушій будь-чого в армії. Наступні вибори та тривалість термінів влади, за які ми платимо криваву ціну. Що робити? Вже нічого. Метрики замінили цьому світу цінності, і далі буде тільки гірше. upd: дякую, зібрано ~~🥺Зовсім небагато лишилося зібрати на ремонт нашої навари, менш як 14 тисяч.~~ ~~Банка:~~ ~~PayPal:~~ ~~xpunkerx@gmail.com~~ ~~Приват: 4627055113374002~~ ### Кнопка Save URL: https://www.rozhkov.me/daily/save-button/ Last updated: 2025-05-14T06:24:39.000Z Одним з найбільших здивувань від перших разів користування IntelliJ IDEA для мене була відсутність необхідності зберігати файли. IDE в фоні автоматично все зберігала. Більше ніяких Ctrl+S або зірочок у назвах файлів в таббарі! Дивовижно, що це покращення вони зробили ще приблизно у 2005-му році, але досі багато редакторів та IDE так не вміють. Взагалі колись воно було потрібно напевне через те що програми були ненавчені зберігати історію змін, або через якісь обмеження дискових підсистем, але зараз не бачу жодної причини не зберігати текст у текстовому редакторі відразу. Або фото у фоторедакторі, або таблицію у таблицередакторі. Проте досі багато інструментів потребують явного виклику функції збереження, наприклад Sublime Text. Не знаю як справи у VSCode. Я вже настільки до цього звик, що необхідність щось зберігати щоразу викликає в мене подив. Звичайно, всі браузерні інструменти працюють якраз за принципом негайного збереження та синхронізації, бо інакше ніяк. ### Простітє мєня мужикі за то шо нє бил в АТО URL: https://www.rozhkov.me/daily/non-military/ Last updated: 2025-05-12T06:24:38.000Z Чому не в ЗСУ? В ЗСУ? Чому в тилу, а не на фронті? На фронті? Чому не на Бахмуті/Авдосі/Часову Яру/Покровську? На Покровську? Чому не в ДШВ? В ДШВ? Чому не в окопній піхоті? В окопі? Чому не в землі? Після виїзду зупиняємося на заправці, вмитися водою з-під крана, а не прозорою, та з'їсти хондога, а не сухпая. Поки чекаємо на замовлення заходять замурзані, брудні чоловіки в пікселі. Я хоч і не такий чистий як тиловий щур, але в порівнянні виглядаю так ніби нікуди й не їздив. Минуло вже [більш ніж півтора року](https://www.rozhkov.me/one-and-a-half-years-in-army/), а я досі не можу асоціювати себе з військовими. Так, вся ця двіжуха смертельно небезпечна для всіх, але найбільше вигрібає Микола що сидить на передній лінії в окопі. А я поки що не сиджу. Рахуй, війни до пуття не бачив. ### Знижки для військових URL: https://www.rozhkov.me/daily/discounts-for-veterans/ Last updated: 2025-05-09T06:24:48.000Z Ніколи сам не прошу знижку, напевне через виховання, надлишок вільних грошей та страх відмови. Особливо через надлишок вільних грошей, я часто волів навіть відмовитися від знижки, щоб показати великодушність. Всілякі чорні п'ятниці та розпродажі ігнорую принципово, на олх не торгуюсь. Трішки почав після того, як прочитав книгу [«Спочатку скажіть ні»](https://www.rozhkov.me/daily/start-with-no-review/). Ну і звісно [купую просрочку зі знижкою](https://www.rozhkov.me/daily/discounts/) в Новусі. Але маю вам зізнатися що знижки для військового — таки приємна штука. Через те що заробітки мої впали разів у десять, грошики вже потроху рахуєш, та не нехтуєш можливостями. В мене нуль очікувань від якихось пільг для ветеранів (як і вдячності від суспільства), але коли я побачив в Армія+ скидос в 6 грн на літр соляри на окко та вогові, то це вже стало цікавим. Осьо сьогодні заходив в кафе, а там -10% для воєнних. Іншого разу в музеї дали скидос, а ще іншого в іншому музеї взагалі хотіли безкоштовно пропустити, але я наполіг, щоб купити квиток, бо той музей явно не шикує зараз. Зараз дивлюся в Армії+ і розетка вже дала досить потужну знижку. Ще нічого не купив, але сам факт. Зате у прифронтових містах вам дадуть непогану від'ємну знижку на житло, що дуже неприємно🤬. Чекаю іпотеку під від'ємні проценти. ### Потужний сайт URL: https://www.rozhkov.me/daily/cool-site/ Last updated: 2025-05-08T13:20:02.000Z Час від часу попадаю на сайт [Gwern](https://gwern.net/). Ви теж мали б хоч раз його бачити, якщо вилізаєте далі соцмереж, доу та постсовєцьких просторів інтернету. Дуже він мені подобається. Наповнення сайту — це досить розлогі статті, з купою приміток, нотаток, посилань назовні та один на одне. Автор заморочився з дизайном, посилання відкриваються у попапчиках, щоб швидко переглянути контент, такий же попап відкривається для термінів та персоналій для яких є стаття на вікіпедії, зноски зручно рендеряться збоку, бібліографія містить не тільки посилання на джерело, а ще й великий шмат контексту, з якого взяли цитату або дані. Взагалі сайт дуже уважний до дрібничок, його прикольно вивчати самого по собі, навіть без відносно цікавого контенту. Але звісно найголовніше, що автор розглядає статті як «незавершені», тобто він їх постійно дописує та змінює, якщо це потрібно (внаслідок нових відкриттів, фактів, або просто зміни поглядів). Тобто це така велика база знань(?). Мені дуже подобається сортувати складати, пов'язувати, тому де можливо я намагаюсь ставити посилання, але вони часто псуються. А ще хотілось би зберегти всі коментарі, хоча для цього технічно є все можливе, але на жаль я був видалив історію коментарів до початку 2021 року. Звісно більшість з них не мають цінності, але було б цікаво мати історію та бачити еволюцію. Я вже довгий час користуюсь Ghost для ведення «блогу», але на ньому напевне буде складно зробити такий же сайт. Хочеться мати щось таке яке цікаве не тільки в моменті, а взагалі. Плюс зараз я обмежуюсь телеграмом — тому що в телеграм не можна постити понад 4096 символів мені доводиться обмежувати пости. А я волію писати лонгріди (та привести до ладу ті що вже написані), додавати на сторінки якусь інтерактивність. Треба переїжджати назад на статичні генератори, або писати свою CMS. ### Півтора року у війську URL: https://www.rozhkov.me/one-and-a-half-years-in-army/ Last updated: 2025-05-08T13:18:28.000Z Минуло вже півтора року як я у війську. Армія гігантська, напрямків багато. Робота в різних підрозділах кардинально відрізняється і по умовах, і по ефективності. Ефективність залежить в першу чергу від задачі та напрямку, потім від взаємодії та управління, потім від забезпечення. Ви можете розвалювати десятки буханок на місяць, а можете за той самий місяць взагалі не бачити жодної живої душі, бо на вашому напрямку просування немає або воно максимально повільне. Можете сидіти зі своїми літачками та нюхати бебру, бо розвідка нічого не дає, а можете щодня виносити укріпи та техніку. Можете кєнтуватися з братухами суміжниками, а можете потрапити на шакала-самодура який перешкоджає роботі. Можете працювати новітніми комплексами, а можете постійно терпіти від власного РЕБу та не мати змоги нічого зробити старим обладнанням. Найгірше тут те, що ніколи не вгадаєш, де будеш, та не можеш легко змінити нічого. Війна це тобі не «ринок» де ти вільний обирати «проєкт» або «компанію». Куди послали там і працюєш. «Кар'єрне зростання» залежить від багатьох факторів. Ти не можеш просто піти в інше місце «архітектором», бо тобі так захотілося. Парадокс кваліфікованого працівника нижньої ланки — його ніким замінити, тому він сам своєю кваліфікацією обмежує зростання. Керманичів різних сортів є багато, а тих, хто може, вміє, та робить — одиниці. Тому той хто не здатний робити добре свою роботу йде на гору, а спеціаліст — сидить під землею. Зараз схиляюся до думки що якби працював за фахом (тобто розробником), то приніс би більше користі, ніж на бойовій посаді. На жаль, в мене не знайшлось достатньо мотивації та інженерної підготовки, щоб робити щось поза безпосередніми задачами. Як виявилося, мої сильні сторони — це облік та фінанси (бухгалтерія та збори коштів), програмування (дрібні інструменти для підрозділу) та загальна відповідальність та організованість. Слабкі — відсутність хорошої радіоелектронної підготовки, невміння працювати руками та брак досвіду з залізом. Також ймовірно варто було б йти працювати у мілтек. Наші компанії роблять дуже потужні рішення, і це не 2.5 людини які на гаражі збирають 5 дронів на гроші волонтерів, а справжні, масштабні, промислові виробництва, і там не вистачає спеціалістів. Якби повернути час назад то я б вкладався в SDR-детектор дронів та автоматичне подавлення (так звана «штора»). Дуже перспективний напрямок, який досі не закритий. Хоча скоро всі будуть літати на волокні з яким ніц не зробиш. Війна одноманітна та втомлює. При тому, що я маю досить хороші умови по ротаціях, та не отримую й десятої долі тих випробувань, які проходить піхота, я вже теж втомився. Найбільше мені хочеться, щоб війна зупинилась, а я зміг то все відкинути та повернутися до сім'ї, мирного життя і роботи. Створювати, а не знищувати. Багато хто скаржиться що в армії «отупів». Я цього не відчуваю, бо намагаюсь постійно щось програмувати, на відпочинку та коли є вільна хвилинка читаю HackerNews та більш менш залишаюсь в ІТ контексті. В мене немає зайвої бравади. 152, 122, 120-й та інші міліметри не раз свистіли поряд, обіцяючи смерть, але проходили повз і в жодному разі мені не хочеться повторювати цей досвід (а доводиться). Як казав один командир, «мотивація — це лише тонкий прошарок вашої свідомості, що дуже швидко нівелюється танковим пострілом противника». І це правда. Чекаю на договорняк. ### ❤️ до IntelliJ IDEA та інтегровані AI-асистенти URL: https://www.rozhkov.me/intellij-idea-love-integrated-ai-assistants/ Last updated: 2025-04-23T11:26:03.000Z Зізнаюсь що досі не використовував AI на повну потужність через відсутність нормальних інтеграцій з IntelliJ. Я працюю в IntelliJ IDEA з 2006 року, з версії 5.0\. Тоді мені її показав одногрупник з яким я також мешкав у гуртожитку. Він вже працював в конторі де займався розробкою казуальних ігор на Java-аплетах. Я моментально зачарувався цією IDE, яка була значно зручніша ніж Eclipse або NetBeans, в яких ми тоді програмували, і далі використовував тільки IDEA. Коли на роботі почали щучити за піратські версії, то я купив персональну ліцензію, яку досі оновлюю. Починав я програмувати на Java, але потім підключив інші мови — звісно в першу чергу JavaScript, потім зручну роботу з базами даних, потім Python та Ruby. Зараз в IntelliJ є плагіни майже до всіх мов. IDE для мене це не тільки редактор. Всередині я запускаю та дебажу сервери (чи то Spring Boot апка, чи то Rails, чи Python), репли (Rails Console), ad-hoc скрипти через Scratches, нотебуки. Всередині IDE я працюю з усіма базами даних які у мене є — постгрес, mysql, clickhouse та іншими. Через IDE я роблю коміти, через IDE я збираю проєкти (gradle та інше). В над-проєкт у мене відразу додані всі проєкти над якими я працюю, тобто мені не треба робити додаткові рухи, щоб перемкнутися на інший проєкт. Єдине що я поки що не роблю це не запускаю браузер😅Хоча такі можливості є. Також не користуюсь вбудованим терміналом, тому що в мене не вийшло подружити його з [fnm](https://github.com/Schniz/fnm). ![](https://www.rozhkov.me/content/images/2025/04/image-44380e27f34403df.png) Я надзвичайно звик до цього середовища і до всіх хоткеїв. Настільки, що пересідати за щось інше для мене має високу когнітивну вартість. Так, я знаю що в VSCode є якісь плагіни які теж дають такі можливості, але воно все якесь костурбате та інше. І саме тому я досі нормально не зайнявся вайбкодингом. Тому що для IntelliJ не було безплатних адекватних плагінів які дають такі можливості. Навіть просто чат-асистента нормального не було крім AI Assistant, а на нього у мене зараз немає грошей. Я спробував [Supermaven](https://supermaven.com/), але він мені абсолютно не зайшов, тому я вимкнув і повернувся до браузерних версій AI. Потім побачив [ProxyAI](https://www.tryproxy.io/), але він поламав мені всі хоткеї тому був викинутий на мороз. І ось нарешті JetBrains зарелізили [Junie](https://www.jetbrains.com/junie/) та додали якийсь FreeTier для AI Assistant. Тому я нарешті можу програмувати як всі нормальні вайбкодери. Втім, попросив я Junie дещо додати, а він написав що тека з проєктом некоректно визначена, хоча все було коректно і понаписав коду в іншому проєкті, не в тому, контекст якого я вказав🙃 Тому Junie я пригальмував, а от AI Assistant це топчик. Friction, тертя, що перешкоджає користуванню AI нарешті прибране, можна вибрати потрібну модель, можна додавати контекст проєкту, а можна не додавати, можна просто ставити рандомні питання, можна перемикати моделі. Дуже зручно. Майбутнє (та й теперішнє), звичайно, за повністю інтегрованими рішеннями. AI буде всюди, подобається нам це чи ні. Тому можу позаздрити поколінню що росте на курсорах та віндсерфах, вас чекають великі справи! ### Телеграм бот для обліку пального URL: https://www.rozhkov.me/fuel-accounting-telegram-bot/ Last updated: 2025-04-21T06:24:44.000Z Яка суперсила програмістів? Правильно, [можливість створювати власні інструменти](https://www.rozhkov.me/working-class-hero/)! Дуже люблю за це нашу роботу. В нас є задача вести облік пального: скільки видали, скільки куди та хто витратив. Спеціальної людини для цього немає, а каністри зберігаються на імпровізованому складі, до якого мають доступ водії. Потрібно знати скільки ще лишилося. Раніше це вирішувалось такою-сякою комунікацією в чатах, але одного дня я втомився на це дивитися і вирішив все ~~ускладнити~~ автоматизувати. Нашвидкуруч зробив бота, який має дві кнопки «+ пальне» та «- пальне». Людина викликала бота, тапала скільки треба й все. Дані зберігалися в базі у вільному вигляді (jsonb). Подивився на це і переписав збереження в гуглотаблицю — простий список транзакцій (додав/забрав), а суму брав з окремої комірки. Виклав — відразу отримав фіча реквести. Показувати хто саме зробив транзакцію. Вказувати авто, яке заправили. Постити в чат саму транзакцію, щоб відразу це було видно. Мав трохи вільного часу, та сів до роботи. В телеграмі є можливість додавати кнопки до повідомлення, то я все зробив на тих кнопках. Також є можливість редагувати повідомлення, тобто можна робити такий собі TUI. Людина тапає «мінус пальне», наступним повідомленням відображається список автівок, можна вказати потрібну. Дані синхронізуються з гуглотаблицею, список авто береться теж з таблиці. Буквально тут же колега натапав не те що треба, замість мінус пальне наробив плюсів. Додав кнопку «Скасувати», щоб можна було видалити хибну транзакцію. Додав посилання на таблицю, щоб швидко внести великий об'єм якщо ми отримуємо пальне. Зробив все так щоб повідомлення апдейтились інлайн, тобто щоб бот не смітив зайвим у чат. ![](https://www.rozhkov.me/content/images/2025/04/image-370e75b4b7d17c11.png) Все дуже просто (насправді не дуже, бо через відсутність стану та бази доводиться багато контексту записувати в самі кнопки, і потім діставати їх звідти) та зручно. Шкода що решта месенджерів не мають такого ж розвиненого API для ботів, як телеграм. Я б залюбки програмував все під Signal. А телеграм виступає надзвичайно зручним інтерфейсом для розробки таких штук. Додатки ставити складно, на сайти заходити — незручно, хоча якби в Google Sheets можна б було програмувати кнопки, то я б зробив це там. Дуже люблю робити собі такі маленькі проєкти-автоматизатори рутинних дій. Здається, справжній програміст має відрізнятися від несправжнього тим, що змінює оточення під себе, розроблює та дороблює інструменти. Також такі проєкти тримають мою зозулю на плаву та запобігають попайці. Діліться своїми такими проєктами в коментарях👇 ### Централізація інтернету URL: https://www.rozhkov.me/internet-centralization/ Last updated: 2025-04-18T18:50:21.000Z Дуже сумно спостерігати як гігантські компанії поглинають все і вся. Деякий час тому я [радив вам скористатися безкоштовним Cloudflare Tunnel](https://www.rozhkov.me/localhost-in-the-wild/). Cloudflare — компанія на якій зараз тримається половина інтернету. [Набокопорили з BGP-роутами](https://blog.cloudflare.com/cloudflare-outage-on-july-17-2020/) — ні в кого нічого не працює. Новому стартапу дуже складно буде зайняти місце клаудфлеру. Ресурси та накопичена ними експертиза є колосальною, і [повторити цей шлях з нуля](https://www.rozhkov.me/gitlab-pipelines-monitor-vibecoding/) (ну ок, з одиниці, бо значна частина технологій вже готова до використання) дуже складно, тому інвесторів це не цікавить. Корпорації можуть дозволити собі робити безплатні або дешеві альтернативи наявним інструментам, таким чином ще більше посилюючи централізацію. Ось вищезгадані тунелі. 95% розробників не потрібні адвансед фічі ngrok, за які той платить гроші, і вони спокійно можуть і будуть користуватися клаудфлером. Тому що когнітивна різниця між 0$ та 1$ значно, значно більша ніж між 1$ та 2$, крім того, програмісти *дуже* не люблять платити гроші за інструменти. Онлайн-документи, пошта, файли, пошук. Все або монополія, або олігополія. Все закрите, доступ тільки через пропрієтарні інтерфейси та обрізані й обмежені API. А навіть якщо щось і реалізує відкритий протокол, наприклад пошта, то вендор зробить все, щоб ви мусили користуватися його платформою, як це роблять великі поштові сервіси налаштовуючи агресивні спам фільтри що фактично унеможливлює відправку пошти з власного сервера. Сумно це все. І далі буде тільки гірше. ### Майже навайбкодив десктопний монітор CI пайплайнів URL: https://www.rozhkov.me/gitlab-pipelines-monitor-vibecoding/ Last updated: 2025-04-14T08:25:08.000Z Дуже хочеться робити якісь десктопні апки. Сумую за часами коли всі програми були offline-first, і працювали значно швидше ніж зараз. Одна з ідей які циркулюють у мене в голові це програмуємий статус бар тільки в треї. Наприклад, є [polybar](https://polybar.github.io/), але він займає непропорційно багато вертикального місця, а я не знаю як та чи можливо зробити менюбар апок так само як в macOS. Також на ці статусбари зазвичай виводять непотрібну інформацію, типу швидкості мережі чи пісні що грає, або завантаженості CPU. Я б хотів щось корисне, що використовую в роботі щодня. Вже тривалий час мені муляє одна проблема: необхідність перевіряти чи успішно пробігли мої CI пайплайни. Нотифікації на є-пошту вимкнені, тому доводиться йти в інтерфейс гітлабу або гітхабу та дивитися чи там все гаразд. Я хотів зробити собі простий нотифікатор який би свистів мені про те що щось зламалось. До того ніяк не доходили руки, але нарешті з'явилося трішки вільного часу і я вирішив вовайбкодити. Задача дуже проста — через GitLab API витягнути всі пайплайни, які були нещодавно та подивитися їх статус. Якщо хоч один пайплайн впав — показати червону іконку, якщо нічого не впало, але щось біжить — синю, якщо все пробігло коректно — зелену, якщо нічого не бігло крайні 2 дні — сіру. Повторяти через інтервал. Пішов в Claude та запитав, як мені зробити програму для Linux Mint Cinnamon (я вже 6 років [сиджу на Linux Mint](https://dou.ua/lenta/articles/from-macos-to-linux-desktop/)), яка відображала в треї статус моїх пайплайнів. Отож, для [Cinnamon](https://github.com/linuxmint/cinnamon) (так називається десктоп в Linux Mint) є SDK для розробки «аплетів». Його засновано на Gnome, відповідно доступний [GJS](https://gjs.guide/) — це біндинги GNOME SDK для JavaScript. Виконується все це всередині [SpiderMonkey](https://spidermonkey.dev/), тобто це не браузер, та більшість Web API недоступна. Проте цей SDK радикально знижує вимоги до програміста. Claude видав мені купу готового коду, я поставив аплет собі в систему, і звісно ж нічого не запрацювало. З'ясувалося, що код був написаний під HTTP клієнта попередньої версії. Попросив переписати, але знову нічого не запрацювало. Я зрозумів що навряд чи досягну мети чисто на вайбах, та пішов читати документацію. AI пропустив пару обов'язкових параметрів, я пофіксив це й отримав краш десктопа. Вайб зовсім згас, і я взявся акуратно переписувати все що мені нагенерувало. За кілька годин роботи вже мав готовий аплет який не падав та коректно все відображав. Результат можете подивитися тут: . А якщо ваш десктоп базується на Gnome, то можете і поставити. ![](https://www.rozhkov.me/content/images/2025/04/screenshot-4d27e203e40aad37.png) Круто що LLM сильно спрощують розробку прототипів. Хоч я і не зміг ваншотнути проєкт, але замість того щоб гуглити як ті аплети взагалі робити, я з першого разу отримав шаблон, який сильно прискорив розробку. Фактично, я лише підправив виклики до SDK. **Заохочую вас спробувати щось навайбкодити для себе!** P.S.: до речі, гітлабівські іконки мені теж допоміг перефарбувати Claude. Я просто скинув йому hex-коди палітри та попросив зробити червону, зелену та синю версії. P.P.S.: якщо знаєте схожі проєкти для інших систем, такі от невеликі статусбари, то скидуйте, мені цікаво. P.P.P.S.: звісно це не вайбкодинг, бо я копіпастив все з веб-інтерфейсу. Вже після того як написав матеріал, пошукав та знайшов безкоштовний плагін для IntelliJ: [ProxyAI](https://www.tryproxy.io/). Настуного разу спробую скористатися ним. ### Фундаментальні розробки URL: https://www.rozhkov.me/foundation-research/ Last updated: 2025-04-03T06:24:36.000Z [Я багато писав про fly.io](https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/) — тоді ще новачка на ринку IaaS/PaaS хостингу. Я й досі тримаю всі свої проєкти там. За час що минув вони сильно покращили стабільність та додали багато нових продуктів — managed k8s, GPU та інше, втім, я ними поки не користуюсь, тому не розповім тут нічого. Проблеми з падінням серверів здається пропали взагалі. Але зараз не про це. Fly публікували детальні матеріали щодо подробиць реалізації своїх сервісів. З самого початку все працювало у них на Consul (діскавері) + Nomad (оркестрація). Мені цей стек раніше дуже подобався, бо я, внаслідок неформатності, ніяк не хотів визнавати k8s переможцем серед оркестраторів та тяжів до альтернативних, простіших рішень. Останній проєкт який я робив перед початком великої війни якраз вже частково працював на Nomad і я мав великі плани щодо продуктизації цього у свій маленький PaaS. З часом Fly звісно вперлися в обмеження сторонніх рішень. Як справжні інженери, замість того щоб надсилати PR у сторонні рішення, вони зробили свої. Вони зробили власний [оркестратор](https://fly.io/blog/carving-the-scheduler-out-of-our-orchestrator/), власний розподілений сторедж станів, власний OCI рантайм, власний проксі-сервер та багато чого іншого, частина це опенсорс, частина — ні. Все це — фундаментальні розробки, платформа. Таких проєктів є не так багато, і працювати над ними — для мене було б великим привілеєм. Я і більшість з нас — звичайні крудороби, розробники апок, а не фундаменту. Ті ж, хто робить фундацію, програмують для програмістів, та потроху штовхають світ вперед. Звичайно, багато таких розробок вийшли з недр гігантських компаній, часто від того, що вони мали надлишок венчурних грошей, а програмістам треба було якось обґрунтовувати свої промо-пакети. Удвічі круто, що для Fly ці розробки мають безпосередній вплив на бізнес. У своїй кар'єрі я мав необережність надто багато працювати над платформою у компаніях, бізнес яких був зовсім про інше, та знаходився далеко від грошей, про що вас вже [застерігав](https://www.rozhkov.me/spongers/). До чого це я? Після того, як Heroku прибрали free tier, на ринку утворився вакуум, який хутко заповнили різні [Coolify](https://coolify.io/), [Render](https://render.com/) і так далі. Але повноцінної альтернативи досі немає — все якесь недороблене, костурбате. Тому я досі плекаю мрію про розробку свого хероку, ця ідея не покидає мене вже понад 6 років. Треба було починати раніше🥲 ### Корчі URL: https://www.rozhkov.me/lemons/ Last updated: 2025-03-17T07:24:00.000Z Nissan Navara — бойова класика ЗСУ. Їхали додому, посеред дороги на ходу відвалилось заднє праве колесо з напівоссю. Ну, буває. Знайшли вночі евакуатор, затягнули до найближчого міста, поставили там на ремонт. Міст повністю під заміну, поставили, віддали. ![](https://www.rozhkov.me/content/images/2025/03/photo_2025-02-05_22-23-50-663a69a62d7f89b6.jpg) Ford Galaxy — їхала собі по трасі, потім почала глохнути. Грішили на те що залили бенз замість соляри, дотягнули до міста, залишили на СТО. Ще не дійшла черга, але попередньо щось з системою запалювання. T5 — зламалась стійка аморта. Замінили, поїхали. Покатались зовсім трохи по розбитим дорогам Слобожанщини — знову зламалась стійка аморта. Відвезли на СТО. Вердикт — не поставили якусь там проставку тому зламалось. Замінили. Машина пережила ще два заїзди на позиції по нездалим дорогам і знову почала стукати й торохтіти. Відвезли на СТО. Знову зламалась стійка і тріснуло місце кріплення під неї. Замінили, поїхали. Поки живе. Ще один Т5 — колега їхав-їхав і заїхав до кювету. Подробиці не розповідав, але коли виїжджав то спалив зчеплення. А ви питаєте, [нашо вчитися на механіці](https://www.rozhkov.me/how-to-get-driver-license-exam/) їздити? Разом зі зчепленням пішли на вихід шруси та ще якісь запчастини. Трохи їздили на спаленому зчепленні поки воно не відригнуло остаточно. Відбуксирували на СТО, чекаємо шо скажуть. Паджеро вагон 3 — тільки-но отримали від волонтерів. Ніби все ок. Дали виїхати до міста колегам, колеги наїхали на пеньок, пошкодили бампер та захист дна, повезли на СТО. На СТО сказали що треба всю підвіску міняти, бо вона ушатана. Дякуємо нашим європейським партнерам за корча! Став на СТО. Форд ренжер — передали без АБС. Відпав по дорозі з Європи напевне. Не брали його навіть, бо взимку на такому очко їздити, але робити треба. Мерседес спрінтер — дали без підвіски та гальм, все зробили, двигун не тягне. Форсунки під заміну. Їздили поки так, але треба зробити, бо не тягне. Тойота хіасе — прудкий рамний бусик. Єдина машина яка не розсипалась від їзди по ямах. Коли потепліло колега вирішив з'їхати в поле, набрав багна, повідривав підкрилки, бампер пошкодив і все таке. Також відпала фара на ходу (хз як) і двигун чек показує. Їздить, але треба робить. Куплений цілком за кошт мого товариша [Вані Devium](https://www.linkedin.com/in/devium/recent-activity/all/) Паджеро 2 — перекупи нахвалювали тачку «з-під діда», пробіг менше 100к, все тіп-топ, тільки на морозі глохне поки не прогріється. Їздили-їздили, поїхали додому, вже на під'їзді машина перестала тягнути. 20 км/год більше не може. Грішили на соляру, залили пульс — не допомогло. Став на СТО, вердикт ще невідомий. Навара, та сама на якій відпало колесо та поміняли міст. Ніби все ок, але шось гуде коли їдемо. Поїхали додому, на півдорозі пишуть «стійте стійте у нас зламався міст»🤦‍♂️. Та що ж таке. Вертаємося назад, з моста витікло все масло. Розбираємо його, вхідна шестерня (хз як це називається) розбита. Викликаємо евакуатор, тягнемо на СТО. На СТО вердикт — міст поміняли, але забули закрутити корка чи шось таке, масло витікло, міст згорів. Дякуємо, дуже дякуємо, на небокраї майорять 40к за новий міст. Ремонти корчів ми завжди закривали зі своєї кишені, але зараз фінансове становище похитнулось, і відразу навалилось багато всього, тому змушений звернутися до вас, мої шановні дописувачі. Банка: Дякую🙏В договорняк та припинення вогню не вірю, згортатися ще не час. P.S.: жодна машина не постраждала від FPV, бо їх прикривав РЕБ, на який задонатив пан Дмитро трохи менше року тому. Спроби були. ### Сердитий кандидат та програмування на папірці URL: https://www.rozhkov.me/angry-candidate/ Last updated: 2025-01-30T11:00:51.000Z Стрімкий розвиток LLMів та ремоуту значно ускладнили оцінку кандидатів на тепле місце де заробляєш легкі гроші. Якщо є можливість шахраювати, щоб отримати роботу — всі будуть це робити. Так працює ринок. Тому гадаю що час повернутися у середину нульових — співбесіди в офісі та програмування на дошці або папірці, без комп'ютерів. Саме так я і проводив значну частину співбесід, коли ще не так були популярні дзвінки по скайпу та онлайн кодинг (для цього тоді просто не було нормальних інструментів). Вхідною задачею у нас був традиційний фізбаз, далі обхід лінкедліста та дерева. Все просто, пишеться в десять рядків за 15 хвилин, а якщо десь і зробив помилку, то нічого страшного. Зазвичай все проходило нормально. Але одного разу нам з колегою попався той самий архетипічний коментатор з ДОУ який скаржиться на лайвкодинг. Він розсердився та в досить грубій формі сказав що не буде програмувати на папірці, задача наша дурня, автокомпліту немає, так не має бути й взагалі не для нас його квіточка росла. На секунду я навіть подумав що зараз він накинеться на нас та ділом доведе свої переконання, втім ми ввічливо сказали що на цьому завершуємо та спровадили його на вихід. 🫣А як щодо інтровертних пиріжечків які пітніють та забувають геть про все на світі під стресом спостерігача, хоча коли ніхто не бачить то розкривають суперсили програмування? Ну, такі звичайно є, але наша задача — *якомога швидше переконатися що людина здатна програмувати* та перейти до наступних етапів оцінювання. Той, хто спокійно напише дерево на папірці, точно вміє програмувати й швидше за все впорається з нашими задачами. А інтровертний пиріжок зможе попасти до нас через знайомих, коли вже він такий потужний. ### Підсумки 2024 😑 URL: https://www.rozhkov.me/2024/ Last updated: 2024-12-31T07:24:54.000Z 🤝Величезна подяка людям які підтримували збори та допомагали мені. 💸Дякую всім підписникам які залишились з [@Donate1024Bot](https://t.me/Donate1024Bot). Багато чому навчився, десь потерпів, десь разом з колегами наробив суєти. Живий здоровий як польський цвєх квадратовий, а це у нашому ділі головне. 🫡Цього року загинуло декілька бійців, з ким я був знайомий особисто та ділив побут. Честь. 🥳Зібрав бінго — день народження, Різдво та новий рік зустрічатиму на ~~підвалі~~ чергуванні. 👨‍💻Програмування та дрібні проєкти дуже добре бережуть від попайки, коли є можливість завжди сідаю щось писати, радий що цього року можливостей таких достатньо. Коли занурюєшся у звичне середовище розробки, здається що ось воно — звичайне життя. 🥹Дякую всім читачкам та читачам які залишаються зі мною. ![](https://www.rozhkov.me/content/images/2024/12/IMG20241230180555-1-.jpg) 🎄Щасливого Нового Року та веселих свят!🎄 ### Втомився боротися з лінтерами URL: https://www.rozhkov.me/tired-of-linters/ Last updated: 2024-12-30T10:05:16.000Z Програмував вчора одну цікаву штуку, ну і як завжди, десь в коді який збирає докупи великий реквест, написав багато рядків. На всіх своїх проєктах я використовую статичний аналізатор коду [RuboCop](https://github.com/rubocop/rubocop). За замовчуванням він досить затягнутий, і я трохи попустив правила. Врешті за стільки років користування я помітив що він мені більше не допомагає, а заважає. Бо методів які збирають докупи великий реквест у мене багато. Бо рядків більше за 140 символів у мене теж трохи є. Бо неможливо та недоцільно бити код на купу дрібних шматочків якщо він робить одну штуку. Ті методи які можна порефакторити я і так рефакторив, а те що неможливо або не треба то ніколи не рефакторив. А те що там рядків забагато то я і без рубокопа бачу. 😤Одним словом, я втомився вимикати інспекції інлайново, та ультанув: ``` Metrics/ClassLength: Enabled: false Metrics/AbcSize: Enabled: false Layout/LineLength: Enabled: false Metrics/MethodLength: Enabled: false ``` Нарешті можна розслабитись та писати весь код в одному файлі😌 ### Телеграм-бот для скриншотів bluesky URL: https://www.rozhkov.me/bsky-screenshots-bot/ Last updated: 2024-12-29T20:33:44.000Z Доробив свого [бота який робить скріншоти твітів](https://www.rozhkov.me/twitter-screenshot-telegram-bot/), щоб підтримував також скриншоти з bluesky. Прикольно що в мікроархітектурі сервісу скриншотів, тобто враперу селеніуму, я подумав про майбутнє та зробив API яке приймає url та css-селектор. Тому сам врапер переписувати не потрібно було, а лише додати в телеграм-бот регексп який дістає посилання на bsky. Як і у твітері, в Bluesky розробники зробили спеціальний HTML-атрибут який видає div з власне постом. Єдиний нюанс — в твітері цей атрибут завджи однаковий, а в Bluesky унікальний для кожного користувача та має формат `data-testid="postThreadItem-by-#{bsky_profile}"`, наприклад `data-testid="postThreadItem-by-maxua.com"`. Тому довелося додатково ще парсити й це. ![](https://www.rozhkov.me/content/images/2024/12/image.png) Можна було б рендерити пост самостійно, ATProto дозволяє це зробити, але набагато простіше дописати кілька рядків коду😅 Бот — [@chat\_keeper\_bot](https://t.me/chat%5Fkeeper%5Fbot). Ви можете додати собі його в будь-який чат, і він теж буде працювати. ### Як зробити, щоб http://localhost:8080 було видно в інтернет URL: https://www.rozhkov.me/localhost-in-the-wild/ Last updated: 2024-12-25T10:17:25.000Z 🎄Всіх з Різдвом!🎄 Типові задачі веброзробника: протестувати oauth («логін через гугл»), протестувати вебхук (різні інтеграції), швидко, без деплою на тестовий енв, показати комусь як сервіс працює «на вашій машині». Розумні люди придумали для цього тунелі. Ви підключаєтесь до машини в інтернеті та створюєте тунель. Машина відкриває 443 порт та проксує всі запити на ваш комп'ютер. Та ж машина в інтернеті може подбати про доменне їм'я та SSL-сертифікати, щоб гугол не сварився на ваш http://localhost. Якщо ви раптом ще не використовуєте в роботі такі інструменти то я наполегливо раджу спробувати. Найпопулярнішою тулзою раніше був [ngrok](https://ngrok.com/). Пишеш у терміналі щось типу `ngrok http http://localhost:8080` і він відкривав тунель, створював вам домен виду `randomstring.ngrok.io` та підіймав вебсторінку з логом запитів. Дуже зручно. Звісно гроші за щось треба брати, тому у безплатній версії з кожним перезапуском апки або по таймауту в декілька годин домен змінювався. Дуже незручно, наприклад щоб тестити oauth доводилося постійно змінювати callback url. За гроші всі проблеми вирішувалися, але хіба ми не програмісти, щоб витрачати 5$ на таку просту задачу? В мене колись була ідея зробити власну програму для таких задач, але, якщо подивитися на [список альтернатив](https://github.com/anderspitman/awesome-tunneling), то стає зрозуміло що тут вже ловити нічого. Все придумано до нас😕. Ось мені знову знадобилося затестити телеграм бота, і я вже зібрався запустити `ngrok`, але він кудись пропав з лептопу. А може його там взагалі не було. Тому я згадав про вищезазначений список та подивився що там є. А там [першим пунктом](https://github.com/anderspitman/awesome-tunneling?tab=readme-ov-file#recommendations) йде рекомендація [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/). Ставиш собі в систему бінарник, реєструєш ключик, створюєш в адмінці тунель, даєш йому домен і все працює! Повністю безкоштовно, без дурних обмежень. Звісно лог запитів не такий зручний як в ngrok, але все ж. Тому, хто не знав що є така штука — користуйтесь. Хто знав та сидить на безкоштовних рішеннях з обмеженнями — міняйте стільця. ### Святвечір URL: https://www.rozhkov.me/daily/christmas-eve/ Last updated: 2024-12-24T17:34:26.000Z Читачі з Заходу України або ті хто має родину в селі, мене зрозуміють. Неймовірно сумую за різдвяними та великодніми святами дитинства, коли вся родина збиралась разом на святкування. Їли-пили-колядували, потім ходили по родичах та сусідах. Снігу насипало нормально. Справжнє Різдво! Атмосфера як у фільмах. Зараз вже звісно не так — дітей в родинах менше, урбанізація та розпорошення родичів по світу не дозволяють збиратися таким же натовпом як раніше, в дев'яностих, коли були живі ще мої прадід з прабабою, наїдки які раніше споживались якраз на свята, зараз доступні щодня, а снігу вже багато років як немає. Проте частина моєї родини все-таки збирається. На жаль, третій рік поспіль змушений пропускати ці події, а другий рік поспіль вже святкую в соляного. Замість 12 страв — дві, замість великої ялинки — маленька, коляда в ютубі, ~~вертеп не прийшов~~. Ну нічо, наступного року точно вже точно буду у своєму селі. ![](https://www.rozhkov.me/content/images/2024/12/IMG20241224112828-1-.jpg) *Христос народився!* ### Купив новий смартфон URL: https://www.rozhkov.me/new-smartphone/ Last updated: 2024-12-23T07:24:51.000Z У виборі техніки я максимально консервативний. «Працює — не чіпай». Я не страждаю ADHD тому телефони та екрани не розбиваю, не топлю та не ламаю. З 2003 року, коли отримав перший телефон, я міняв їх тільки з причини застарівання. Приблизно 1 раз на 4-5 років. Перший смартфон я купив у 2013\. Це був Jiayu G4S, на той момент «конкурент флагманам». Він служив мені вірою і правдою, але нездала робота тачскріну в дощ, низька точність GPS, а невдовзі й недостатня потужність процесора для нових апок, які ставали все повільнішими, поставили мене перед питанням вибору нового смартфону. Мій товариш тоді якраз купив OnePlus 3 і нахвалював його. Тому взимку 2018 року пішов у магазин «Кокос» де купив OnePlus 3T — на той момент вже не конкурент флагманам, але все ще достойний апарат. Все з ним було добре — і 3.5 джек, і фізична кнопка, і потужність. Звісно, з часом апки ставали працювати все повільніше. Я не бачу які цьому можуть бути об'єктивні причини. Пошта як показувала пошту, так і показує, галерея — фото, а мапи — мапи. Чому ж з часом все починає псуватися? На війні у тебе немає часу чекати поки телефон з 6 гігабайтами пам'яті роздуплиться та перемкнеться з сігналу на мапи, тому я прийняв рішення про заміну. На жаль, вибору останні десять років у нас немає — всі продають однакові здоровенні лопати без аудіоджеків та фізичних кнопок. Тому я потицяв туди-сюди та й зупинився на OnePlus 11\. На OLX швиденько був знайдений та придбаний «біток з америки» за помірний прайс (17 000 грн). Андроїд зараз пропонує «перенести» все з іншого телефону. Звісно, це ж Андроїд, тому опція спрацювала лише з другого разу і зробила не те що мала б зробити. Мала б повністю скопіювати телефон зі всіма апками та їх даними й налаштуваннями, а по факту скопіювала файли та *список* апок, які потім ще встановлювались. Тобто всі мої програми втратили свої налаштування, а деяка частина програм, які зникли з плей маркету, взагалі не поставились. Шляпа, короч, але краще ніж нічого. Телефон працює значно швидше попередника. Все відкривається моментально, нічого не тупить крім явних тормозів самих апок. Все було чудово до чергового оновлення, після якого телеграм, фф, гмейл та ще деякі програми фрізило на 3 секунди після швидкого перемикання на них. Я навіть написав про це тред на реддіті й там купа людей підтвердило таку ж поведінку. Отак все зіпсували. З цікавинок у цьому телефоні — відсутність світлодіода-нотифікатора. Оцей котрий можна налаштувати мигати різними кольорами залежно від того, що тобі прийшло. Такого немає, натомість нам пропонують т.зв. AOD — постійно увімкнений OLED-екран, в якому цю роль грає кружечок навколо селфі-камери. Звісно я економлю батарею, тому функцію цю вимкнув. Велика перевага OnePlus — це пропрієтарний формат зарядки, комплектна має потужність 100 Вт, та повністю заряджає телефон за пів години. Абсолютно незрозуміла для мене річ в андроїдофонах — це бажання «оптимізувати» всі програми підряд. Дійсно, нафіга мені отримувати пуш нотифікації від месенджерів та інших апок якщо їх можна не отримувати? Ми напихаємо в телефон купу пам'яті, ставимо потужний процесор та GPU, щоб потім нічого на ньому не запускати, бо о Б-же, сідає батарея! На попередньому телефоні в мене, наприклад часто не проходили дзвінки у Signal, а це, між іншим, дуже важливі дзвінки були. На цьому такого ніби немає, але все ж. Туди ж т.зв. Sleep Time Optimization, це телефон вночі все вимикає ну бо ти спиш, нема шо комусь тебе турбувати. Ох телефон, як би я хотів, щоб воно так і було насправді😓 Пишіть чому мені треба було купити айфон в коментарях👇 ### wtf is corepack? URL: https://www.rozhkov.me/js-ecosystem/ Last updated: 2024-12-20T07:24:44.000Z Я регулярно [оновлюю всі залежності всіх проєктів на найновіші](https://www.rozhkov.me/rotting-software-update/). Оскільки в мене в основному Rails та Java то це тривіальні процедури: оновити версію рубі на найновішу що вийшла, а потім зробити `bundle update`. Жодна з версій залежностей в мене не залочена, тому я постійно живу на всьому останньому. В Java трішки складніше, там версії лочаться, тому треба піти й перевірити що зараз останнє, бо автокомпліт IntelliJ щось перестав працювати. Звісно час від часу щось трохи відвалюється, але загалом все працює чудово, і я ніколи не маю проблем з тим що версії чого застаріли на два роки й оновитися дуже складно або просто неможливо. Ось я вирішив оновити докерфайл проєкту, бо колись давно виникла проблема з `alpine` та однією з версій рубі, щось там крашилось, довелося змінити базовий імедж на `debian-slim`. Разом зі зміною я втратив [jemalloc](https://www.rozhkov.me/zero-cost-memory-consumption-improvement-with-jemalloc/), але тоді це було не таким критичним. Отже, я вирішив повернути все назад. Для rails є гем (бібліотека), який генерує докерфайл, вже оптимізований, з шарами та усякими оптимізаціями щодо розміру імеджу на виході. Запустив-перегенерив. Звернув увагу що у мене не змінилась версія `yarn`. Хто пам'ятає — це така альтернатива `npm` яку написали у фейсбуці коли `npm` був ще неоптимальним. З якоїсь причини це є дефолтний пакетний менеджер js-залежностей в Rails. І от я дивлюся що він у мене версії типу 1.22.11 чи щось таке. Дивно, думаю, йду на [офіційний сайт](https://yarnpkg.com/), а там пише що вже є 4.x.x. Дивлюся як його оновити, а там `corepack enable`⁣, а потім `yarn set version stable` та `yarn install`. WTF? Читаю далі, а виявляється що *«we don't tell you to run* `*npm install -g yarn*` *to install Yarn - we even recommend against it».* Короче в джаваскрипті придумали якусь штуку що зветься `corepack` і тепер треба робити через неї. Також, вже досить давно додали `npx`, але я не розумію чим це відрізняється від `npm`. Все як завжди. Поки в джаві нічого не змінюється вже 10, а то й більше років і ти як запускав `./gradlew build`, так і запускаєш, поки в рубі ти як робив `bundle install`, так і робиш, джаваскріптери знову видумують щось нове. *Ну гаразд, ще можна відзначити python, де vc-backed контора написала заміну pip, pyenv, virtualenv, poetry, setuptools та ще бозна-чому на расті —* [*uv*](https://github.com/astral-sh/uv)*. Зараз вона на хайпі, всі пісяють кіпятком крім ортодоскальних пітоністів які незадоволені тим що пакетний менеджер пітона написаний не на пітоні.* І це я ще не торкався теми фронтенду! Бо я так розумію що вебпак уже давно потьмянів, і новий shiny object фронтендерів це [Vite](https://vite.dev/). То я ще не згадую про rollup (?), parcel(??) та esbuild (???) які можна використовувати для збірок фронтенду. Зовсім забув про [Bun](https://bun.sh/) та [Deno](https://deno.com/)! Що це, кому, навіщо? Одним словом, джаваскріптова екосистема як була клоун фієстою 10 год тому, так такою й залишилась і навіть стала гірше. В чому причина? Популярність платформи? Ну так подивіться на джаву або на PHP — там такої шляпи немає. Новизна? Камон, 10 год уже SPA-непотріб впевнено крокує по куцим просторам 8 гігабайт вашого макбуку а ви так і не можете визначитися чим ставити пакети. 🤦‍♂️ ### Страхи збуваються URL: https://www.rozhkov.me/fear-became-true/ Last updated: 2024-12-18T07:24:10.000Z Телеграм-бот [@Donate1024Bot](https://t.me/Donate1024Bot) щоранку розсилає всім підписникам новий збір. Щоб уникнути випадкового подвійного спрацювання, цикл розсилки схований всередину `select for update`. Коли робив [інтеграцію з Bluesky](https://www.rozhkov.me/bluesky/), то додав код, який також публікує збір у Bluesky. Звичайно, я не перевіряв E2E виклик, і просто скопіпастив рядок з реплу. Виглядало це якось так: ``` Lock.find_by(key: "daily_post").with_lock do random_post = Post.random_post TgUser.pluck(:tg_id).each do |tg_id| SendDailyPostToUserJob.perform_later(tg_id, random_post.id) end random_post.update(posted_count: random_post.posted_count + 1) SendDailyPostToBskyJob.perform_later(post_id) end ``` Запушив код опівночі та й ліг спати. І звичайно що я побачив наступного ранку? Вірно, 6 однакових постів у себе. Справдився [мій найбільший страх](https://www.rozhkov.me/double-spend-fear/) — зациклити відправку однакових повідомлень клієнтам. Тесту на цей код у мене теж не було, бо ліньки було возитися з моканням та стабанням і перевіркою асинхронних штук. На тому й погорів. Уважний читач звісно помітить тривіальну помилку. Також я не мав перевірок на те, що збір вже було відправлено конкретному підписнику. Тому створювалась пачка джоб які асинхронно відправляли його в окремих транзакціях, а транзакція, що мала б проставити посту прапорець «опубліковано» не комітилась, джоба ретраїлась, і все йшло по колу. Добре що я помітив це достатньо швидко та мав можливість виправити, погано що недостатньо швидко і всім таки прийшло шість однакових повідомлень. Ймовірно через це декілька людей відписались та не задонатили гроші, і тепер сума зборів впала на 3-5 тисяч гривень😔 Зараз я також ще раз подивився на цей код та знайшов там декілька способів хороших оптимізацій, але вже боюсь його пушити, бо немає тестів 🤦‍♂️️. Схоже що настав час таки їх зробити. 🥺Вибачте всі кому прийшли зайві повідомлення. Я знаю що тих хто досі читає бот, а не закинув його в архів, лише кілька десятків, але мені дуже цінна підтримка кожного з вас. P.S.: в мене була купа тестів на те що правильно обчислюється щоденний збір — що він у коректному статусі, не дублює попередні, публікується у правильному порядку і так далі. Але це все були юніти, а такого, щоб перевірив повністю як відпрацював лок та джоби та ще у декількох потоках — ні. Бо складно та й так все два з половиною роки працювало як годинник. P.P.S.: можете порадувати ріжка та підписатися на бот [@Donate1024Bot](https://t.me/Donate1024Bot) і донатити щоденно хоча б по сотні гривень — то вже буде досить потужно🥺 *update: після того, як я написав пост, натрапив на таку штуку в Rails як [запуск джоб після коміту транзакції](https://x.com/siaw23/status/1859318910576730184)*🤯*. Хтось уже не раз зіткнувся з проблемою як у мене і написав для неї коробочне рішення. Читайте доки!* ### Bluesky URL: https://www.rozhkov.me/bluesky/ Last updated: 2024-12-16T07:33:18.000Z Прийнявши факт що для розробки нативних апок [я недостатньо розумний](https://www.rozhkov.me/screencast-struggles/), вирішив зробити щось простіше. Послухав [черговий епізод](https://newsletter.maxua.com/p/power-of-open-platforms) подкасту Startups are hard Макса Іщенко, де той схвально відгукується про відкритість Bluesky. Мені ще давно дали туди інвайт, але я не заходив. Вирішив подивитися. [Bluesky](https://bsky.app/) — це твітер на відкритому протоколі, без алгоритмів та сумнівних власників. Зараз він потроху відвойовує аудиторію в тих місцях, де твітер заблокували, або серед тих людей, яким не подобається політика твітеру. Коли я робив [Donate1024](https://donate1024.org/), то хотів, щоб збори публікувались не тільки в телеграм бот, телеграм канал та на сайт, а ще й у твітер, фейсбук та інстаграм. Але, на жаль, зробити це дуже складно через [закритість](https://www.rozhkov.me/walled-garden-platforms-are-bad/) екосистем. Тому я навіть не намагався, і просто забив. Протокол Bluesky, [AT Proto](https://docs.bsky.app/docs/get-started), відкритий, а для доступу до API не потрібно проходити через пекельні кола верифікації та отримання токенів. Реєструєшся і твої логін та пароль і є ключами доступу. Дивовижно, наскільки ускладнений є доступ до API великих сервісів, генерація мільйона ключів, збереження їх у файли, токен щоб отримати токен яким будеш рефрешити токен. Я вже не кажу про IAM, через який просто хочеться викинути все у вікно. Далі все просто — є перелік методів: створити пост, завантажити картинку, отримати якусь інформацію. API повний, тобто використовуючи лише його, можна писати власні клієнти, алгоритми стрічок, рахувати статистику і так далі. Спільнота вже створила цілу купу апок під Bluesky, ось, наприклад, добірка: Офіційний SDK для AT Proto є тільки тайпскрипиту та пітону, для вашої мови теж швидше за все буде щось від ком'юніті. Donate1024 написаний на Ruby on Rails, під Ruby є декілька SDK, найживіший серед яких це [minisky](https://github.com/mackuba/minisky). Його я й взяв. Трішки повозився, щоб передати логін та пароль, а далі все просто — методи описані в документації, бери й роби. Єдина особливість це те, що для форматування тексту AT Proto використовує не розмітку, а так звані фасети. Тобто замість `тут буде [посилання](https://..)` передається просто текст `тут буде посилання` і окремо об'єкт фасету, який вказує індекси початку та кінця фасету та тип (посилання, хештег, юзернейм): ``` { index: { byteStart: 6, byteEnd: 15 }, features: [{ $type: 'app.bsky.richtext.facet#link', uri: 'https://example.com' }] } ``` Здається що це дуже незручно, бо потрібно проходити по тексту, щоб знаходити індекси початку та кінця. Так само зроблено і в телеграмі, хоча телеграм дає можливість передавати маркдаун який він вже конвертує у фасети всередині. Я спочатку здивувався та бомбанув чому так, а потім прочитав [мотивацію](https://www.pfrazee.com/blog/why-facets), де один з розробників наводить аргументи за, головний з яких це сумісність між різними клієнтами, тому я попустився та погодився. Щоб прикріпити до поста картинку потрібно її спершу завантажити на сервер, отримати посилання, а потім вставити його у пост. Дещо незручно, але вже як є. Не знаю чи можна завантажувати через API відео, здається що вже так, але я ще не пробував. Через вебклієнт можна. Також випадково натрапив на рейтліміт. Через те що в мене не зберігалась сесія між постами, я перевищив ліміти на логін (хоч і коректний) і система мене заблокувала. Мусив чекати добу поки відпустить. API дозволяє вказати дату коли було зроблено пост. Дуже зручно, щоб перегнати у Bluesky всю історію, що я й зробив. Результат: Як і в [боті](https://t.me/Donate1024Bot), кожного дня на акаунті буде публікуватися новий збір та новий звіт. Підписуйтесь, донатьте. Платформа дуже класна своєю відкритістю. Я не знаю які плани щодо монетизації, дуже сподіваюсь що засновники будуть дотримуватися своїх цінностей. Також підписуйтесь на . Хоч в мене ніяк не ходить займатися мікроблогінгом, буду пробувати. ### Захотів зробити апку для скрінкастів URL: https://www.rozhkov.me/screencast-struggles/ Last updated: 2024-12-15T10:54:32.000Z Коли я ще працював на теплій програмістській роботі, то мав потребу записувати короткі відео для користувачів та клієнтів. Дуже проста функція — екран + кружечок з вебкамери + мікрофон. Розумні люди для цього зробили [Loom](https://www.loom.com/) та йому подібні, професіонали користуються [OBS](https://obsproject.com/). Але Loom не має апки для лінукса і працює лише як аддон у браузері. Я побачив тут opportunity та подумав — а чому б мені не зробити таку нативну апку? Задача звучить досить просто — іконка в треї, натискаєш на неї — починається запис, натискаєш ще раз — запис завершується і відкривається віконечко з посиланням на твоє відео, яке можна пошарити кому треба. Чому нативну? В мене є незакритий гештальт. Дуже дратує веб-bloatware. План був такий — зробити опенсорну апку та закритий сервер. З людей брати гроші за сторедж. Таких проєктів багато, а значить ідея провалідована. Поліз робити, і... Виявилося що все не так просто. Я хотів взяти rust, ui бібліотеку [egui](https://www.egui.rs/), там зробити одну кнопку. Почав копати як отримати доступ до екрана та вебки, і нічого кращого ніж ffmpeg не знайшов. Для раста є біндинги до ffmpeg, але вони настільки низькорівневі, що їх вивчення не вкладалося в бюджет mvp. Мені вдалося зробити мікропрототип запису екрана, але я так і не зміг прокинути параметри кодування ffmpeg які регулюють якість і також зіткнувся з несумісністю версій. Якщо пошукати, то є програми для запису екрана, які враплять виклики до бінарника ffmpeg, наприклад [Blue Recorder](https://github.com/xlmnxp/blue-recorder). В принципі це те, що мені треба, туди тільки додати кружечок з вебки й аплоад на сервер. Врешті через високу складність цю ідею я закинув. Потім знову повернувся, з менш амбітною ціллю. Просто зробити клон Loom. Браузер дає високорівневе API яке ховає всі складності. Давай думаю зроблю апку на електроні. Електрон — вчорашній день, розумні люди написали на расті [Tauri](https://tauri.app/), який швидший та компактніший. Ну, думаю, зараз заживемо, на джаваскріпті я вже точно подужаю зробити задачу. Розгорнув хеловорлд, згенерував через Claude мінімальну версію запису екрана, запускаю, і... нічого. Дивлюся в чому справа — апка не може запитати дозвіл на запис. Йду на github, щоб дізнатися що Tauri [не підтримує WebRTC](https://github.com/tauri-apps/wry/issues/85) і поки що не планує це робити🤦‍♂️ Потім я пішов ще раз подвитися як працює Loom та інші веб-додатки для запису екрану. Мені дуже не сподобалося що воно завжди запитує дозволи та також показує бейджик «ви шарите ваш екран». Я ж хочу нативне рішення, тому відмовився від електрону. Давай думати далі, я ж Java-розробник? Напевне там щось має бути. Ось JetBrains зробили [Compose Multiplatform](https://www.jetbrains.com/compose-multiplatform/), візьму його, а вже якесь АРІ в джаві має бути. Почав шукати — та ж проблема, є біндинги до ffmpeg якими хз як користуватися. Якихось притомних бібліотек теж не знайшов — все або старе, або обмежене. Вирішив що раз на джаві тямущого не зможу зробити, то й котлін брати не варто. Ще раз подивився на Loom. Ще раз подивився на ffmpeg. Зібрав однорядкову команду на ffmpeg яка записує одночасно відео екрана, вебкамеру та звук з вебкамери в один файл і накладає вебкамеру власне на запис екрана. В цілому можна було б взяти ту програму на расті яка врапила бінарник ffmpeg, додати туди аргументів та якось то зліпити докупи, але такий підхід має фатальний недолік — самого кружечка з вебкою воно не показує. Втім, Loom теж цього не робить. Ніби проста задача — а все тааак складно! Ідеально б мати якесь високорівневе API яке б дозволяло отримувати потрібні відеопотоки та комбінувати їх і відразу стрімити. OBS цю задачу вирішує просто чудово, але виглядає це все абсолютно непідйомно. Думаю що робити далі. *update: читач підказав рішення, автори якого вже пройшли увесь шлях та написали нативну апку на расті: [Cap](https://github.com/CapSoftware/Cap).* ### Супераппи URL: https://www.rozhkov.me/superapps/ Last updated: 2024-12-13T13:28:31.000Z Неймовірно дратує що кожна маленька апка на телефоні прагне заполонити собою все і стати всім. Акції, кешбеки, програми лояльності, ачівки, геймифікація, челенджі, завдання, та ще бо-зна що. Альо, додаток Київстар, мені від тебе треба тільки статистику по витратах та можливість заплатити, мені не треба пхати «завдання» та «винагороди». Ти просто труба для передачі трафіку! Уклон, я просто хочу доїхати з одного місця в до іншого. Мені не потрібні «медіатори», не потрібні пропозиції від твоїх партнерів, не потрібен кешбек. Ачівка «пральня» у монобанку перший раз виглядає дотепно, але потім дратує. *Аватари*? У банкінгу? Зробіть десктопну версію, бо я вже задовбався копіпастити реквізити ібанщиків. *Тим часом ріжок: купує сталкер 2 спеціально через моно картку, щоб отримати ачівку та костюм для аватара.* ![](https://www.rozhkov.me/content/images/2024/11/3.jpg) Хто придумав *сторіз* в апках? Здається вперше ця «іновація» перетекла з інстаграмів до наших ворогів з тіньков банку ще дуже давно, але можу помилятися. Виконувати *завдання*? Я тобі гроші плачу ти, тупа відрижка недолугого менеджера, а ти мені ще вказівки будеш давати? Замість того, щоб довести *одну* функцію до ідеалу, нас засипають сміттям яке продакти почули на семінарах зі збільшення надоїв від клієнтів. Цікаво, який реальний ROI у того всього. Звісно у відверто шахрайських схем київстара по підключенню мелодій дзвінків та іншого непотребу від яких треба відмовлятися то великий, а у решти? І це я ще не кажу про умисне не розділення пуш нотифікацій на категорії, щоб користувач не міг залишити сервісні повідомлення та відключити рекламні й промо. Особливо дратує «оцініть якість обслуговування» від НП. Ганьба, і чим далі, тим гірше. Відправляємо промені ненависті продактам які зголосилися придумати й зробити це, та згадуємо благословенні часи коли за продукт був відповідальний програміст, і ніякого прошарку дармоїдів, робота яких зводиться то того, щоб дивитися на метрики в дашборах, не було. ### Реклама в уклоні URL: https://www.rozhkov.me/uklon-advertising/ Last updated: 2024-11-23T15:31:55.000Z Замовив оце вчора таксі, і на екрані очікування з неймовірним подивом побачив *рекламний блок*. WTF??? ![](https://www.rozhkov.me/content/images/2024/11/Screenshot_2024-11-21-12-39-42-55_6f9749693bcb80397671b10f6a84cc99.jpg) Я плачу гроші уклону, не маленькі гроші, а мені за мої ж гроші показують рекламу? Вперше я це спостерігав у вайбері, де навіть якщо я б поклав гроші на рахунок, то мені все одно буде показуватись рекламний блок + промо від «бізнесів». Вайбером я (в тому числі через це) користуватися перестав, але з самого патерну, коли «преміум»-користувач має дивитися рекламу, крінжанув. Мало того що водії з невідомих причин занижують мені рейтинг (4.82 наразі), попри те що я вчасно виходжу, не бикую, в дорозі мовчу, і завжди залишаю чайові, мало того що прайс на послуги в порівнянні з убером та болтом вище, мало того що воно мені шле промо пушки постійно, так тепер ще й рекламу пхають. Хто тут серед підписників є з Уклону, передайте продактам проносних променів. *Я колись з ними сидів у коворкінгу в Астарті, але зараз не сиджу.* Дизвподобайка, відписка. Свої крінжові історії про уклон пишіть у коменти (у твітері це цілий жанр)👇 ### Загубив корок від бака URL: https://www.rozhkov.me/daily/fuel-cap-loss/ Last updated: 2024-12-25T10:20:49.000Z Осьо вчора заїхав на заправку заправитись. Заїхав на потужному вантажному бусі рено мастер, в якому корок від бака не прикріплений до кузова, та відкривається і закривається ключем. Лючка немає. Дуже не зручний оцей замок і те що лючка немає теж шляпа. Ну я вийшов значить відкрив, корок поклав поряд з колонкою та й пішов на касу. Почекав поки заллють, ~~поїв фронтового хондога~~, та й почалапав назад. Тим часом залипав у телефон по якимось справам. Сів завів поїхав домів. Приїхав, чілю, аж тут мене осяює — а кришку ж я не поставив на місце! Йду до авто, дивлюся — дійсно, корка немає, горловина зяє чорнотою, навколо бризки соляри. Їду назад на заправку, йду до своєї колонки, бачу корок! Радісно хапаю його та дякую пані-оператору паливного пістолета що зберегли мій дорогоцінний корок. Пані здивовано на мене дивиться, а я починаю розуміти що корок не мій, а пана який якраз заправляв свій тазик. Розчаровано повертаю корок назад, шукаю по всій території заправки свій, а його ніде немає. Поки я приїхав то прийшла інша зміна, і вони про загублені корки ні сном ні духом. Повертаю назад, їду дорогою, бо, очевидно, оператор вставив його у горловину, але не зміг закрутити, а той вилетів від вібрації. Бачу на узбіччі щось схоже — ура! Радісно підбігаю тільки для того, щоб знайти уламок чийогось іншого корка, який, очевидно теж мені не підходить. Розчаровуюсь другий раз, знову їду додому. Звісно по дорозі вже нічого не знаходжу, темно. Приїхав, взяв гумове кілечко яким колись змотував пачки доларів, целофановий пакетик та зімпровізував затичку. Сьогодні буду шукати заміну. 🤬Звісно я б його ніколи не втратив, якби як у всіх нормальних машинах був лючок а корок був прикріплений гумовою стрічкою або ланцюжком. ### Дауншифтери URL: https://www.rozhkov.me/downshifters/ Last updated: 2024-11-20T07:24:00.000Z Є категорія людей які не мають бажання працювати або ефективно використовувати свої навички, натомість обмежуюсь роботою явно нижче їх ~~потужностей~~ можливостей. Я знаю як мінімум чотирьох програмістів, троє з яких принципово хотіли в піхотний двіж (і один з яких вийшов живим з дуже ризикованої операції про яку ше кіно знімуть), а четвертий — займається сумнівною паперовою роботою. Я б дуже хотів бачити їх у більш хай-тековій суєті, бо в армії небагато людей які легко роздупляться з радіотехнікою, більшість все-таки вимагають навчання, яке часто йде важко. Все-таки технар є технар, навіть якщо людина мала чисто софтверний бекграунд. Може воно й на краще коли людина хоче займатися чим хоче і не займатися тим чим не хоче, та й командир не відпустить бійця просто так, навіть якщо навести всі аргументи що він буде більш ефективним. Якщо у цивільній роботі уникати відповідальності та «підвищення» у менеджмент середньої ланки це правильна стратегія яка мінімізує ризики та максимізує прибуток, то на війні від цього залежить боєздатність. [Навіщо працювати СТО на 8к якщо можна працювати за ті ж в 8к сенйором помідором?](https://www.rozhkov.me/miserable-salaries-of-ukrainian-ctos/) Отож. Навіщо отримувати більше відповідальності та напрягатися, якщо гз таке ж? *P.S.: Ну гаразд, я теж принципово не хотів йти на ЗСУшні ІТ-галери, але то окрема історія.* ### Agency URL: https://www.rozhkov.me/agency/ Last updated: 2024-11-15T07:53:37.000Z Є такий термін в англійській який я не знаю як нормально перекласти *(«суб'єктність» — шляпа)*. Зазвичай під цим мається на увазі здатність людини активно діяти та змінювати світ довкола себе. Це людина якій треба більше всіх. Яка тягне проєкти та двіжухи за собою, на якій все тримається. Зазвичай ці люди роблять щось своє, але якщо вони достатньо [clueless](https://www.rozhkov.me/loyalty-and-comfort-zone/), то можуть робити й ваше. Такі люди — на вагу золота. Бо тих, хто буде робити через підсрачники — багато, тих — хто буде робити без підсрачників — теж багато, але тих, хто буде рухатися сам та брати на себе відповідальність, щоб роздати підсрачників першим та розписати таски другим, а крім того придумувати ще й щось нове і робити це проактивно, а не чекати на команду зверху — одиниці. Отримати в команду тіпа який буде сам шось робити — це неймовірна вдача. На цивільній роботі я був наполовину таким тіпом, бо друга половина — то ріжок-антикапіталіст який [постійно ригав](https://www.youtube.com/watch?v=6VQUT0lwFSs&list=PL9tqPYOK0bHsk0D937gh0rqwNfLLdfDlO&index=2) від необхідності працювати на дядю (та й працювати в принципі). Оцієї половини якраз і не вистачило, щоб стати VPoE або повноцінним CTO у великій конторі, а не [залишитися hands-on-architect](https://www.rozhkov.me/stranger-across-the-strangers/). Будь-який бос шукає саме таку людину, але небагато таких людей зацікавлені в тому щоб за так батрачити на чуже. Зазвичай це або вже підприємці, або люди які мають солідний [овнершип](https://www.rozhkov.me/ownership/) у своїй конторі й не рипаються. Ну а в армії? В армії таких людей як ви розумієте небагато, і на них все й тримається. За можливості, будьте саме такою людиною. Якій треба більше інших, яка наводить двіж, суєту, мутиться. За можливості, тримайтеся таких людей. Отримаєте частку від успіху, а як не будете тупити то й самі підтягнетесь. ### Local-first dev environments URL: https://www.rozhkov.me/local-first-dev-environments/ Last updated: 2024-11-08T07:24:00.000Z Найбільше мене харить коли код проєкту неможливо запустити локально. Коли є мільйон залежностей, кафки-хуяфки, редіси-хуєдіси, бридка трійця S3/SQS/SNS, мерзенний OAuth 2.0 та інша шляпа яка не запускається або складно запускається на вашому комп'ютері. Коли для підйому адмінки проєкту над яким ти працюєщ тобі пропонують докер композ на більше рядків ніж сорци кожного мікросервісу, з яких він складається. Коли їхав мікросервіс через стаб і моком поганяв, а половина тестових даних складені в YAML файли які останній раз оновлювалися за першого коміта у той мікросервіс. Коли на старті проєкту лід видає тобі вагон кредів та інструкцій де отримати ще вагон кредів щоб потім захардкодити їх в дотенв-файлі. Коли тобі пропонується піднімати на ноуті, прости Г-ди, кубернетіс🤮 ∈)☼(∋. Очко. Найцікавіше, що для спрощення розробки міленіали придумали мейнфрейми з тонкими клієнтами — ваш код запуститься на потужному кластері десь в клауді, а ви зі свого IDE будете давати команди. Дуже круто, дякую. *Один з найабсурдніших стартапів минулих років це Mightyapp — «Mighty makes Google Chrome faster & use 10x less memory. Mighty speeds up Chrome on your laptop by streaming it from a more powerful computer in the cloud—that makes your browser & other apps run significantly faster.» Просто вдумайтесь, браузер(!) в клауді(!!!)! Ідея звісно не полетіла і фаундер запівотився (хоча це не назвеш півотом) в AI-генерацію логотипів та дизайнів.* Зважаючи на те, що лептопи та десктопи розробників зараз набагато потужніші ніж ті крихти vCPU які нам відсипає гіпервізор за вказівкою Безоса, склалась просто ганебна ситуація. І ми самі себе в неї загнали. E2E тести які проганяються по ночам тому що «тест suite займає 2 години» забивають ще один цвях у труну продуктивності. Як щодо того, що запустити їх локально? Ой, не можна? А як мені тоді продебажити тест що падає? Проєкт має збиратися та запускатися локально без усіх цих хоботів. Цикл read-evaluate-print має бути настільки коротким, наскільки це можливо. Зовнішні залежності мають бути мінімізовані. Звісно за роки роботи працьовиті міленіали навигадували різних стабів для хмарних сервісів типу DynamoDB Local. Але менше ж з ним — відсутня залежність ліпша за стаб. Хотів би вам дати пораду сьогодні подивитися на свій стек та викинути щось, але я знаю що ви з більшим задоволенням додасте ще один мікросервіс та ще одну клаудну шляпу від амазону. Тому насолоджуйтесь роздуванням complexity. Ми, ~~інженери~~ кодери, це любимо. Без порад. ### 100% coverage тести, які нічого не тестують URL: https://www.rozhkov.me/useless-tests/ Last updated: 2024-11-04T07:24:00.000Z В далекому 2010 році, коли долар був по 8, я працював на ентерпрайзному проєкті разом з консультантами з компанії Thoughtworks. Тієї, звідки Мартін Фаулер, тієї, що публікує [Technology Radar](https://www.thoughtworks.com/radar), за яким, ви, ймовірно стежите. На нашому проєкті не було тестів, тому що в компанії на той час не було культури тестування. *Власне, мінусів у такому підході я не бачу, але то вже інша історія.* Консультанти звісно відразу ж прийнялись виправдовувати свій рейт у 3000$ за день роботи та заявили що для успіху проєкту неодмінно потрібно мати високе покриття тестами. Наш код у 90% випадків виглядав приблизно так: ``` class Action { public void doThing(Context context) { ResultOne resultOne = ServiceOne.getInstance().doThing(context); ResultTwo resultTwo = ServiceTwo.getInstance().doThing(context, resultOne); context.setResult(resultTwo); } } ``` Типова імперативно-процідурна ентерпрайзна локшина, де всі та все ходять у бази та зовнішні інтеграції. Звісно, з коробки такий код не є тестабельним, через статичні методи. Тому спочатку консультанти винесли сервіслукап в окремі методи, а згодом ми зробили там вже нормальний DI. Але, оскільки більшість коду ходила кудись назовні, то потрібно було писати моки та стаби (різницю питають у вас на співбесідах), а самі тести зводилися до того що ми перевіряли що мок викликається з необхідним параметром, та виглядали десь отак: ``` class ActionTest { @Test public void testDoThing() { ServiceOne mockServiceOne = mock(ServiceOne.class); ServiceTwo mockServiceTwo = mock(ServiceTwo.class); Action action = new Action(mockServiceOne, mockServiceTwo); Context context = mock(Context.class); ResultOne mockResultOne = mock(ResultOne.class); ResultTwo mockResultTwo = mock(ResultTwo.class); when(mockServiceOne).doThing(eq(context)).thenReturn(mockResultOne); when(mockServiceTwo).doThing(eq(context), eq(mockResultOne)).thenReturn(mockResultTwo); action.doThing(context); verify(mockServiceOne).doThing(context); verify(mockResultTwo).doThing(context, mockResultTwo); verify(context).setResult(mockResultTwo); } } ``` Таких тестів ми писали *сотні.* Цілі спринти були присвячені ретельному моканню. Каверадж відразу полетів у небеса. Але, як ми можете здогадатися, ці тести нічого не тестували, а просто викривленим чином дублювали вже написану програму, та радикально ускладнювали рефакторинг. Згодом, я зустрічав такі «тести» в інших компаніях на інших проєктах. Формально каверадж є, а по факту ні. Писали такі тести? Згодні з тим що вони марні чи вважаєте що все правильно нам консультанти сказали? Діліться у коментах👇 ### Best practices та центри компетенцій в армії URL: https://www.rozhkov.me/best-practices-in-army/ Last updated: 2024-10-25T06:24:00.000Z Коли працював в ентерпрайзі в кінці бородатих нульових то застав розвиток так званих «центрів компетенцій» та впровадження продукту Confluence (не плутати з Confluent!). За гучними словами ховалась корпоративна вікіпедія та обов'язок розробити курс+тренінги по продукту, овнером якого я був. Найпопулярнішою звісно були матеріали та тренінги від джентльменів з System Performance. Кілометрові гайди по переписуванню ораклових запитів та тюнингу гарбедж колектора розходились як гарячі пиріжки та втримували хиткий продукт від того, щоб він не впав під власною вагою остаточно. Зараз мене надзвичайно дивує та засмучує відсутність адекватної системи передачі знань та впровадження рішень які працюють у війську. Робота з системами, які, фактично з'явилися посеред війни, кожним підрозділом вивчається заново, заново набиваються ґулі, заново розробляються велосипеди. Чому командування не візьме, те що добре працює, наприклад, умовний ОПУБАС пана Мадяра, і не впровадить його практики на все військо? Я знаю про деяку конкуренцію, та, якщо це можна назвати «заздрість» між різними підрозділами та структурами, маю деякі думки щодо причин цього, але так і не можу зрозуміти що заважає взяти й розкатати рішення якщо не на всі збройні сили, то хоча б на підрозділи, які не мають цих самих сильних центрів компетенцій та проходять весь шлях з нуля. Чому «Небесний русоріз» влаштовує пан Стерненко, а не проводиться системна робота зі знищення розвід крил по всьому фронту? Зробили ж мобільні вогневі групи які досить успішно справляються з шахедами, значить можемо? Так само з іншими складниками — чому не беруть бригаду яка показує результат, та не переносять її досвід на інші? Зараз багато тримається на горизонтальних зв'язках, якщо знати потрібних людей, то можна напроситися на навчання, так, але це має бути системна робота. Туди ж і проблема переведень. Якби це питання урегулювали то хороші частини швидко б отримали більше людського ресурсу, і масштабування відбулося само собою, органічно. Питання є, відповідей немає, час плине, а ми й далі знову й знову робимо від 0 до 1. ### Про розформування ІТ-галер URL: https://www.rozhkov.me/disbanded-it-departments/ Last updated: 2024-10-23T06:24:00.000Z В армії у будь-який момент часу ви повинні [вміти пояснити](https://www.rozhkov.me/be-solution-not-a-problem/) командуванню чим ви займаєтесь та якого результату досягли. Інакше є ризик що заняття вам придумають за вас, і воно не обов'язково вам сподобається. Я не знаю справжніх подробиць нещодавніх подій з розформуванням т.зв. «ІТ-галер в ЗСУ» (хоча сама назва вже натякає), тому можу лише робити припущення. А припущення моє таке, що серед вищого командування не було «чемпіона» який постійно б доносив важливість роботи цієї галери, та досягнуті завдяки діяльності підрозділу результати. Наприклад, як цільова аудиторія армійських ІТ систем я можу абсолютно точно сказати що Дельта є критично, повторююсь критично важливим продуктом, без якого робота багатьох підрозділів хоч і не встане, але надзвичайно сильно ускладниться. Чи знають про це великі начальники? Мені невідомо. Але коли б я був розробником якоїсь такої системи, то приділив би багато уваги тому, щоб [зробити свого боса щасливим](https://www.rozhkov.me/your-job-is-to-make-your-boss-happy/). А вийшло так що хтось побачив оппортуніті укомплектувати кілька стрілецьких батів. Звісно в ідеальному світі всім нам хотілося б, щоб командування було б зацікавлене в розвитку ІТ, тримало руку на пульсі розробки, та всіляко сприяло б впровадженню усіх цих продуктів. Але маємо те що маємо. Чи займались ці галери дійсно потрібною роботою, чи це була міцна команда рубістів з Дніпра, що видумували самі собі завдання? Чи давали ці команди результати, чи робили авторизацію користувача впродовж десяти спрінтів, а щокварталу переписували все на новому джаваскріпт фреймворку? Мені то все невідомо. Сподіваюсь що спеціалісти продовжать роботу за фахом, а продукти будуть робити дедалі суттєвіший внесок в перемогу. ### Армійські cost та revenue центри URL: https://www.rozhkov.me/cost-and-revenue-centers-in-army/ Last updated: 2024-10-18T06:24:00.000Z Завжди наголошував що айтівцю-вонабі-кабанчику потрібно знаходитися [якомога ближче до клієнта](https://www.rozhkov.me/spongers/). Бути тим, хто генерує прибутки, а не витрачає. Хендс-он-солюшен-архітектор, який вміє сам запрограмувати демку та продати її клієнту — без одного звільнення🐗, а девопс, ім'я якого CEO згадує лише коли до нього доходить ескалація інциденту на продакшені — це cost centre, який першим піде під ніж скорочень. В будь-якій армії головна сила це піхота. Скільки б літаків, кораблів, артилерії, та дронів у вас би не було, без піхоти це все не працює. Ми регулярно бачимо це на прикладі постійних втрат територій. Так, ворог кладе сотні життів за безіменні посадки та руїни сіл, так, техніку та людей знищують в епічних масштабах, але тактика струмка води, коли з роти солдат до крайньої хати забігає десяток і починають накопичуватися там, працює. Працює, бо в тій хаті немає нашого кулеметника, який би викосив всю погань, що пережила вогонь артилерії та FPV. Через це ми повільно відступаємо. І тому у генералів та високих начальників комплектація піхоти є першим пріоритетом. Бо якою б технологічною зброєю ми не володіли, територія наша поки там стоять наші люди. А коли людей нема, то ціла бригада безпілотних систем нічим не допоможе, бо усіх не вб'єш. Серед пріоритетних підрозділів які набирають собі людей в учєбках перші — це ДШВ та морська піхота. І також безперестанно формуються нові стрілецькі батальйони (чому не доукомплектовуються існучі бригади — питання це мене теж цікавить). За уявною логікою генерала, будь-хто, хто не в піхоті це cost centre, [дармоїд](https://www.rozhkov.me/spongers/), який незрозуміло чим займається, замість того, щоб утримувати хату у вщент зруйнованому селі на Донбасі. А от штурмовий взвод — це вже ніфіга собі revenue center, який може і відбити черговий м'ясний накат, і щось зайняти, і замінити зточений батальйон. Історія з нещодавнім розформуванням ІТ-підрозділів якраз дуже проста. Хтось подивився що в штаті є ціла купа людей, які займаються незрозуміло чим і порушив питання щодо перетворення cost на revenue, та й все. Тому я не дивуюсь випадкам коли різного штибу спеціалістів переводять в піхоту де вони швидко отримують поранення або гинуть — це цілком вкладається в армійську логіку. Що з цим робити? Вже нічого, всі таймслоти та можливості пройобані, а нам залишається лізти в помиральну яму. ### R&D на війні URL: https://www.rozhkov.me/rnd-at-the-war/ Last updated: 2024-10-16T06:24:00.000Z Коли я йшов до війська то мав план — зробити біля підрозділу R&D відділ який буде розробляти, впроваджувати та масштабувати технічні рішення. Мені здавалося, що армії не вистачає технічно компетентних людей які могли б адекватно оцінювати нові та існуючі продукти, модернізувати їх, розробляти свої. Головна перепона для цивільного спеціаліста або команди — це ускладнений доступ до тестування своїх рішень (як на полігонах, так і в бойових умовах) та несерйозне ставлення з боку військових. Здавалося, що зсередини можна робити все значно ефективніше. На ділі виявилося що не все так просто. Я є сильним прихильником [однозадачності](https://www.rozhkov.me/singletasking/), і робити декілька речей одночасно мені просто складно. Коли ти воюєш, то це займає увесь час. По поверненню з бойової задачі хочеться не займатися дослідженнями, а просто відпочити. Але й відпочити не дуже виходить, бо вже потрібно готуватися до наступного «спрінту» і привести до ладу хоч те обладнання що вже є. Концепцію [«шкури в грі»](https://www.rozhkov.me/skin-in-the-game-book-review/) реалізувати досить складно — якщо ти щось крутиш, то в тебе немає часу на війну, а якщо ти на війні — то немає часу крутити. Можна спробувати якось розтягувати ці періоди так, щоб за період між війною можна було зробити щось путнє, але на ділі мені це не вдалося, і навряд чи вдасться. Великі бригади та підрозділи вже давно це зрозуміли тому мають команди фактично тилових спеціалістів які й займаються всіма розробками. І хоч це не зовсім «шкура в грі», але вже значно краще ніж Т- або Ш-шейпед фулстек стрілець. Коли ти на війні то хочеться мати 100% надійне рішення, з яким приїхав, розклався, відпрацював, поїхав, а якщо шось не так, то не фіксиш сам, а відправляєш виробнику. На цікаві досліди абсолютно немає часу, можливості та бажання. Разом з тим твердо переконаний, що інженер, який щось розробив, [повинен випробувати власноруч](https://www.rozhkov.me/missing-dogfooding-in-miltech/) свій виріб в бою. Інакше не рахується. ### 100 км/год за 3 секунди URL: https://www.rozhkov.me/daily/100-kph/ Last updated: 2024-09-03T19:40:34.000Z Мені завжди був незрозумілий дроч автомобілістів на швидкість автівок та динаміку розгону. Ну типу, нашо мені розганятися за 3 секунди до 100 км/год? Шоб шо? Шоб доїхати до наступного світлофора, та чекати на жигу, яка неквапливо суне позаду? Де розганятися до 300 км/год якщо по місту фактичне обмеження 70, а по трасі 130? Короче не викупав приколу і списував все на типове раптове зниження інтелекту у тих хто купив собі бляшанку А зараз, ото вже поїздив рік і викупаю. Їздив я цей рік звісно на дизельних корчах: бусах та джипах різного ступеня побитості. По-перше, коли їдеш на набитому бусі з причепом і треба обігнати фуру, машина не їде, а на зустріч вже несеться потенційна смерть, то дуже хочеться, щоб в корчі стояв потужний мотор який дозволить знизити тиск у п'ятій точці під час маневру. По-друге, я раптово зрозумів тіпів які разом зі своїми подругами приїжджали на лютій швидкості в стовп на панамері або беенве. Шось однозначно є в тому щоб тапка в підлогу та їхати на всі гроші під відповідний саундтрек. *Особливо* якщо поряд сидить файна пані. В такий момент теж шкодуєш, шо ти не на беенве, а на важкезному джипі який не буде їхати. А ще я став викупати неефективну та невчасну роботу автоматичної коробки на тих машинах, на яких їжджу. Шкода що в нас немає хорошої та недорогої інфраструктури для перегонів, а то я б вже купував собі жовтого лотуса на номерах «JAVANINJA». Висновків нема. Не ганяйте по місту, не порушуйте ПДР та бережіть себе. P.S.: також захотів аудіосистему поставити, щоб музяка качала і тиснути тапка в підлогу було веселіше та атмосферніше. Порадьте комплект або контору чи що. ### Відвідав DOU Day Picnic URL: https://www.rozhkov.me/dou-day-picnic/ Last updated: 2024-09-02T08:25:51.000Z Цієї суботи DOU провів на території Unit City нетворвкінг-івент [DOU Day Picnic](https://dou.ua/dou-day-picnic/). Там була запланована велика програма: стендап, дискусії, стенди мілтек-компаній, військових бригад, фондів та компаній, фудкорт та різноманітні розваги. Мене туди покликали на одну з панельних дискусій з військовими, але я не знав чи буду в Києві, тому сказав, щоб на мене не розраховували. Але за кілька днів до проведення обставини таки склались і я знову попросився. На жаль, місця на ту дискусію вже не було, але мене покликали на іншу😅. Поки я домовлявся, то прийшло повідомлення що відбій, ніяких вихідних, 🪖час їхати на війну, довелося знову перепрошувати й казати що шанси попасти на подію невисокі. Втім в день проведення я все-таки зміг порішати питаннячка та забігти туди на годинку в обід та приєднатися до панельної дискуії ввечері. Подія мені дуже сподобалась. Я з тих людей, які люблять та цінують двіж в тилових містах та не вимагають від суспільства лізти в помиральну яму. На заході була величезна купа людей, яскраві стенди, різноманітні двіжухи. На вході зустрів пана [Климова](https://t.me/xanf%5Fdev), але той не мав часу, тому тільки привіталися, всередині вже побачив [Бабіча](https://t.me/toisamyibabich) з Бабічатами та перекинувся з ним кількома словами. Пройшовся біля 3д-принтерної суєти [Романа Лютикова](https://t.me/frontender%5Fclj). Мене впізнали двоє підписників, пану Данилу привіт. Решту часу провів у розмові з біздевом компанії Himera, чиїми радейками ми користуємося, та й побіг у справах. Ввечері приїхав вже на свій виступ. Я складав компанію серйозному дядьку з 95 ОДШБр та двом поважним панам, наскільки я зрозумів, головним по розробці ІТ-продуктів в МО. Звісно що для такого питання як «ІТ системи в армії» години часу не вистачить. Встигнув тільки 5хв постендапити про нюанси Дельти, та й все. Хто був присутній — тішусь думкою що трохи вас розвеселив. ![](https://www.rozhkov.me/content/images/2024/09/IMG_2158.JPG) По факту панове айтівці з МО сказали що фічі не робляться, бо нема людей, а людей нема, бо не дають штатку, а дядько з ДШВ сказав що поки нема наказу то робить нічо не можна. Сумно. Сподіваюсь що МО таки виб'є штатку і рота-друга програмістів зайде саме як програмісти, а не як дроноводи, зв'язківці та ребо-рерівці. Також сподіваюсь що великий начальник з ДШВ дасть наказ на впровадження Дельти й тоді запануємо. Виступ швиденько закінчився, я трішки поспілкувався з джентльменами з МО, які очікувано виявилися дуже приємними та зацікавленими людьми. Потім ще мав розмови з рандомами та й по тому. 🦆Вимкнули світло, і поки роздупляли генератор то, я так розумію, Байдак проводив якийсь аукціон. Але на жаль мені вже був час йти, тому ні афтерпаті, ні фото з Максом Іщенко я не зробив. Та й грошей на аукціон вже давно немає🥲 👍Дуже достойна подія, чудова організація. Я радий що ДОУ пішли в бік реальних подій. Сподіваюсь, що таких заходів буде більше і вони ставатимуть кращими. ❤️Дякую ДОУ за організацію й класний подаруночок, та чудовим Марії Дубініній та Віці Осиповій за запрошення❤️ ### Обісрався з Wi-Fi роутером URL: https://www.rozhkov.me/wifi-shit-myself/ Last updated: 2024-08-21T06:24:00.000Z Рік тому коли геть втомився від мікротіку, [звернувся до громади за порадою](https://t.me/full%5Fof%5Fhatred/802) який роутер брати. Люди звісно радили все підряд, у кого що стоїть. Але ж я багатий айтівець! Тому вирішив гуляти на всі гроші, по-багатому та обрав кубик [Amplifi HD з двома антенками за 8500₴](https://www.rozhkov.me/wifi-fixed/)(!). Приніс додому увімкнув і отримав 100 мегабіт замість тисячі. Я думав то тимчасова поломка, але насправді весь час роутер постійно скидав аплінк на провайдера до 100\. Допомагали тільки ребути. На форумах я знайшов людей з такими ж проблемами, але рішення не було. Офіційного сервісу в Україні здається теж немає. Коли почалися відключення світла, то я спробував зробити ДБЖ на мінімалках. Роутер живиться через Type-C, тому без перехідників працював від повербанка. Я купив повербанк де була заявлена наскрізна зарядка, та під'єднав його. Через день такого з'єднання роутер помер. Миготів і не хотів вмикатися. Так сяк з 20-го разу перетикання роз'єма він таки оживав, але як тільки вимикали світло то все починалося знову. Терпець урвався, тому я знову взявся до вибору роутера. Почитав відгуки там, сям, подивився OLX, бо я беру тільки вживане залізо, та й зупинився на TP-Link Archer AX23\. Знайшов такий за 1600₴, написав, поїхав, забрав, приїхав, увімкнув, налаштував. Все запрацювало відразу (логічно), роутер без проблем вхопив гігабіт, і не збивав до 100, ніяких дурнуватих налаштувань «апаратного NAT» робити не довелось, а швидкість виявилась в півтора-два рази вищою ніж на оврепрайcнутому шматку лайна від Ubiquiti. Воїстину, треба було слухати людей які з самого початку радили тп-лінк або кшийомі, всі ці убер девайси з меш нетворками, красивими екранчиками з підсвіткою, з цілими операційними системами та терміналами для анальних налаштувань це очко та шляпа від лукавого. ![](https://www.rozhkov.me/content/images/2024/08/90n8qq.jpg) Ну а я змарнував сім тисяч гривень та час на перезавантаження роутера, щоб той нормально взяв гігабіт (з якого міг витиснути лише третину). Ганьба мені, респект громаді. ### Куди рекрутуватись у 2024 URL: https://www.rozhkov.me/recruiting-in-2024/ Last updated: 2024-08-19T10:10:02.000Z Вітаю панове військовозобов'язані! Час плине, гайки затягуються, мобілізація повзе, тому хочу нагадати вам як бути, куди йти, та що робити. Цей пост для тих, хто не поспішає на передову, але й не втратив рештки гідності, не зрадойобить, не почепив собі до ніку прапорець північної кореї, та не готується форсувати тису. Зрадойобів та зйобків попрошу утриматися від коментарів. Коли ви, внаслідок дій співробітників ТЦК, опинитесь на БЗВП, шанси потрапити в частину, яку б ви хотіли, дуже примарні. Після проходження підготовки до вас будуть приїжджати покупці з різних бригад і теоретично ви зі своїми айтішними скілами матимете варіанти попасти на щось цікавіше ніж стрільця у стрілецькому батальйоні новоствореної піхотної бригади. Але я заохочую вас зробити крок назустріч, та підвищити свої шанси дожити до перемоги. Вам потрібен підрозділ з мотивованих та підготовлених людей. Як відомо, з мотивацією та підготовкою у звичайних мобілізованих є певні проблеми, тому нас цікавлять підрозділи де 1) проводять який-не-який відбір та 2) якісно готують. В ЗСУ/НГУ з тих бригад про які мені відомо це звісно 3 ОШБр та 12 БрСпП «Азов». Але служити можна не тільки в ЗСУ. Крім цього у нас воюють спецслужби: СБУ та ГУР. У спецслужбах ретельніший відбір, краще забезпечення, вища зарплатня та очевидно спеціальні завдання, а не просто багатомісячне утримання ділянки фронту. Зараз людині з вулиці набагато простіше потрапити у ці структури, тому не втрачайте можливості! Нижче перелік організацій, які я б розглядав. Я зібрав для вас посилання на телеграм канали та сайти, де ви зможете знайти анкети для вступу. **СБУ** — [телеграм канал](https://t.me/SBUkr) — [сайт](https://ssu.gov.ua/alfa), там є посилання на анкету для вступу в ЦСО «А» **ГУР:** [загальний сайт з анкетою](https://gur.gov.ua/content/career.html) Артан — [телеграм канал](https://t.me/artan%5Fgur) — [сайт](https://www.artan-gur.com/) Братство — [телеграм канал](https://t.me/BatalionBratstvo) — [сайт](https://bratstvo.army/) Реванш — [телеграм канал](https://t.me/revanche%5Ftactical) — [сайт](https://www.revanshua.com/) Химера — [інстаграм](https://www.instagram.com/sd%5Fhimera/) Шаман — [сайт](https://www.pirateship.company/) Кракен — [телеграм канал](https://t.me/kraken%5Fkha) Афіна — [телеграм канал](https://t.me/tg%5Fathena%5Fgur) Стугна — [телеграм канал](https://t.me/stugnabat1) Особенное предложение для граждан рф и этнических русских: РДК — [телеграм канал](https://t.me/russvolcorps) — [сайт](https://rusvolcorps.com/) **ЗСУ:** 3 ОШБр — [телеграм канал](https://t.me/ab3army) — [сайт](https://ab3.army/) 108 ОМБ «Вовки Да Вінчі» — [телеграм канал](https://t.me/smertvorogy) — [сайт](https://vovkydavinci.army/) 92 ОШБр, батальйон БпАК «Ахілес» — [телеграм канал](https://t.me/fedorenkoys) — [сайт](https://achilles.army/) 414 ОПУБАС — [телеграм канал](https://t.me/robert%5Fmagyar) Сили безпілотних систем — [сайт](https://usforces.army/) ССО — [телеграм канал](https://t.me/recruiting%5Fsofua) — [сайт](https://sofua.army/) **НГУ:** 12 БрСпП «Азов» — [телеграм канал](https://t.me/azov%5Fmedia) — [сайт](https://azov.org.ua/) --- Звичайно, найбільш жадана «спеціальність» — це піхота. Піхоти не вистачає всюди, не тільки в ЗСУ, але й спецпідрозділах. Через брак навченої та мотивованої піхоти та нездале управління на місцях, росіяни зараз досягають неабияких успіхів на Донбасі. Одними дронами, на жаль, навалу не зупинити. ![](https://www.rozhkov.me/content/images/2024/08/image.png) Але у вас, айтівців, все ж є хороші шанси попасти в БПЛА, рер, аналітики, зв'язківці. Втім застерігаю вас від бажання «відсидітись» на тилових посадах. Так не вийде. Навіть дроновод — досить небезпечна професія, бо працювати ви будете у радіусі роботи ворожої артилерії та FPV. Проте якщо йти на ризик — то йти підготовленим, спорядженим, та в компанії вмотивованих побратимів під керівництвом досвіченого командира. Думайте, пересилайте друзям, знайомим та колегам. Якщо знаєте ще хороші підрозділи — пишіть у коментарі, я додам. ### Performance by design URL: https://www.rozhkov.me/performance-by-design/ Last updated: 2024-08-06T08:47:52.000Z В [попередньому дописі](https://www.rozhkov.me/twitter-screenshot-telegram-bot/) я зробив маленький сервіс який скриншотить твітер. Зазвичай все що я пишу на Java то роблю на Spring Boot, через багату та зрозумілу екосистему та відносну швидкість розробки. Цього разу для загального розвитку взяв [vert.x](https://vertx.io/), який заявлений найшвидшим Java-фреймворком згідно з результатами [Ultimate Web Frameworks Benchmark](https://www.techempower.com/benchmarks). Мій проєкт складається лише з двох ендпоїнтів — `/health` для перевірки чи все ок та `/api/screenshots` власне для скриншотів, тому бойлерплейту було мінімум. Але що мене відразу вразило, так це те що фреймворк за замовчуванням виставляє таймаути на обробку HTTP-запитів. Якщо час виконання перевищує софт-ліміт, то в лог пишеться повідомлення: `Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 2031 ms, time limit is 2000 ms` Якщо ж час обробки перевищує хард-ліміт, то ліба викидає експешн: ``` io.vertx.core.VertxException: Thread blocked at java.base/java.lang.Thread.sleepNanos0(Native Method) at java.base/java.lang.Thread.sleepNanos(Thread.java:491) at java.base/java.lang.Thread.sleep(Thread.java:559) at java.base/java.util.concurrent.TimeUnit.sleep(TimeUnit.java:446) at me.rozhkov.snapshottr.App.handleScreenshotRequest(App.java:79) ``` При цьому код продовжує працювати, але експешн буде в логах. Це чудовий приклад коли швидкодія закладається самим фреймворком та спонукає розробника думати як організувати обробку, щоб вкладатися в ліміти. Я завжди виступаю за sane defaults, бо в сучасному світі занадто багато опцій, варіантів, прапорців, та перемикачів, щоб конфігурувати то все кожного разу. Можливо у Spring Boot теж є таке налаштування, але його треба додатково увімкнути. Розробники роблять все на своїх машинах та не задумуються про швидкодію, поки не прийде час стрес-тесту, але тоді вже може бути запізно. Раніше я вже згадував про [автоматичне логування](https://www.rozhkov.me/pro-orm/) реквестів, SQL-запитів та часу їх виконання у Rails. Вважаю що це має стати стандартом усіх таких бібліотек. Чим прозоріше для нас, розробників, те, що виконується на сервері та скільки часу воно займає, тим більше можливостей писати відразу нормально, а не як-небудь. Уявіть проходити мільйон співбесід по алгоритмах та системному дизайну, щоб потім влаштуватися у твітер та писати неймовірно тормозний сервіс, який віддає вам твіт цілу вічність, не може відразу завантажити тред, а глибина дом-дерева може позмагатися з глибиною node\_modules того недолугого фронтенду який змогли написати олімпіадники. Це абсолютна ганьба та дискредитація інженерного ремесла від тих, хто заявляє найвищі вимоги до наших вмінь. *Пруф що твітер можна зробити швидким та нормальним я вже давав — це [Nitter](https://github.com/zedeus/nitter).* Пишуть що *Premature Optimization is the Root of all Evil*, але я з цим не погоджуюсь. Нормально роби — нормально буде, і для цього не треба витрачати надмірно багато часу та зусиль. Просто з початку задайте собі адекватні обмеження та дотримуйтесь їх. ☝️Практична порада 👉Подивіться чи підтримує ваш фреймворк схожу функціональність та увімкніть її. ### Телеграм-бот для скриншотів твітера URL: https://www.rozhkov.me/twitter-screenshot-telegram-bot/ Last updated: 2024-08-05T08:23:50.000Z У нас в телеграм-чаті каналу часто приносять посилання на твітер. Дивитися їх незручно, бо ти тикаєш посилання, щоб почитати коротенький текст. Логічно було б цей текст вставляти в прев'ю лінка, але твітер так робити не буде, бо їм потрібен енгейжмент. Якось прочитав у блозі Swizec Teller пост про те як він [зробив скріншотилку інстаграма на лямбді](https://swizec.com/blog/serverless-chrome-on-aws-lambda-the-guide-that-works-in-2019-and-beyond/). Згадав про це і подумав — давай і собі зроблю! Впевнений що таких проєктів є ціла купа, але я хотів отримати задоволення від розробки, бо люблю робити продукти та програмувати😊. Колись давно я хотів зробити бота який буде [автоматично банити за матюки](https://t.me/full%5Fof%5Fhatred/297), проєкт провалився і зараз цей бот просто рахує статистику повідомлень (хто більше написав) та робить ще деяку дрібну роботу. Вирішив його розширити. ШІ швидко підказав потрібний код: ``` def screenshot(link) browser = Ferrum::Browser.new({browser_options: {'no-sandbox': nil}}) begin browser.go_to(link) browser.network.wait_for_idle(duration: 2, timeout: 30) path = "tmp/tweet_#{Time.now.to_i}.jpeg" browser.screenshot(path: path, selector: 'article[data-testid="tweet"]', quality: 95, format: "jpeg") path rescue StandardError => e Rails.logger.error("Error capturing screenshot: #{e.message}") nil ensure browser.reset browser.quit end end ``` За 5 хв протестив локально — все працює як треба! Заливаю, не працює. WTF? Починаю розбиратися. Спочатку думав що проблема в alpine на якому зібраний базовий образ. Потім думав що проблема у твітері який блокує запити. Потім в, тому що недостатньо пам'яті. Потім в, тому що браузер закривається. Перевів з альпіну на дебіан, переконався що курли на твітер з хоста проходять, додав пам'яті, зробив браузер перзистентним. Але все одно скриншоти робились через раз. Я витратив ще купу часу на різних форумах у спробах розібратися що ж не так, адже все було максимально просто — бібліотека то тонкий врапер над процесом хроміума, там нічому було ламатися. Врешті я здався і вирішив переписати все на Java. ШІ швидко підказав потрібний код на Selenium: ``` driver.get(url); driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); WebElement element = driver.findElement(By.cssSelector(cssSelector)); File screenshotFile = element.getScreenshotAs(OutputType.FILE); ``` Я нашкрябав вебсервіс який би виставив ендпоїнт до інтернету. З [минулого разу](https://www.rozhkov.me/ruby-on-snails-1-req-sec/) я згадав про [Ulitimate Web Frameworks Benchmark](https://www.techempower.com/benchmarks/), і такий думаю, давай не буду брати Spring Boot, а візьму vert.x. Сказано—зроблено—задеплоєно. Запускаю — не працює😅 Хром видає якісь крипто помилки, нічого не гуглиться. Заходжу на хост, запускаю хроміум вручну, той пише OOM. Фух, ясно, даю машині більше пам'яті, вуаля — все працює. ❓Наступна проблема—браузер не встигає завантажити прев'ю картинки або відео, які є у твіті. На жаль, я не знайшов як це нормально вирішити, тому просто додав 5 секунд очікування після відкриття сторінки. Можливо читачки та читачі підкажуть як більш елегантно це розв'язати? Ну все, чатботи крутяться, скриншоти мутяться. Додав туди ще код який буде відповідати в телеграм, бо не хотілося робити муторну інтеграцію з основним сервісом. Потім подивився що скриншоти треба в рамку, бо телеграм їх обрізає по висоті. Додав паддінгу 50px та й вспокоївся. Три доби — жодної помилки, пам'ять не протікає, в середньому скриншот робиться за 7 секунд. Як на мене, це дуже багато, але вище написав що не знаю як виправити таймаут. Бот — [@chat\_keeper\_bot](https://t.me/chat%5Fkeeper%5Fbot). Ви можете додати собі його в будь-який чат, і він теж буде працювати. ### Пілоти та штурмани до-GPSних часів URL: https://www.rozhkov.me/ancient-navigators/ Last updated: 2026-07-29T13:48:39.000Z Одна з причин втрат дронів на фронті — це втрата пілотом орієнтації у просторі. Дрон десь летить, хоп — відвалився на хвилину зв'язок, вітер миттєво здуває апарат у довільному напрямку, зв'язок з'являється, але де ти знаходишся — вже незрозуміло. А навіть якщо й зрозуміло, то вже може не вистачити заряду повернутися. GPS глушиться з обох боків по всій лінії бойового зіткнення. Відповідно системи навігації які мали б штатно працювати відключаються, і, залежно від комплексу, пілот може покладатися тільки на візуальні орієнтири, або на інерціальну систему навігації. Я не бачив, щоб інераціалка працювала добре, але я бачив не так багато, тому уявимо що її немає і потрібно працювати тільки по тому, що бачиш. Це не так складно, якщо заздалегідь вивчити сектор та характерні орієнтири, та літати поступово збільшуючи дальність та набуваючи впевненості на місцевості. Днями я слухав стару пісню про пілотів літаків-бомбардувальників і рапотово усвідомив, що *раніше не було ніяких автоматичних систем навігації які б сказали де ти знаходишся*. Карта й компас — крутись як хочеш. Уявіть що ви маєте летіти щось там бомбити за *тисячу* кілометрів і потім повернутися додому. У вас немає детальних супутникових знімків, лише топографічні мапи. Дивовижно! А як робили нічні вильоти(🤯)? А як накладались маневри при зіткненнях з винищувачами противника? А якщо попав у хмари? В цьому світлі така штука як якийсь перший трансанлатичний переліт видається вже не такою простою. Злетів, став на курс, ізі? Але на кінцевій ділянці траєкторії похибка може складати сотні кілометрів! Цікаво, як працювали штурмани-пращури? Теж такі «о, озеро в формі х\*я, значить ми тут, потрібно зміститися східніше»? Одним словом, я переповнився повагою до штурманської професії. Тут у двох посадках можеш заблукати, а люди якось орієнтувались в *океані*! Дивовижно! P.S.: зрозумів чому навігаторам у фантастичних всесвітах (Дюна, WH40k) відведена така важлива роль. ### Жалюгідний стан українського ТҐ — дрібні канали та ТҐ-верс URL: https://www.rozhkov.me/poor-state-of-ukrainian-tg-small-channels/ Last updated: 2024-07-29T06:24:00.000Z Дрібніші автори не змогли вийти на плато стабільності та закинули свої канали: [Стрілецький](https://t.me/dmytrostriletskyi) розчарувався низькою кількістю переглядів і втратив мотивацію [Всеволод Соловйов](https://t.me/uasymposium) написав десяток постів та й повернувся до наукової діяльності [Психотроніки](https://t.me/psyson) впали в чорну депресію та хіккують дома, також повністю зафейлили всі обіцянки робити топ-контент про [ШІ](https://t.me/psychothron) В навколоайтішних, але не програмістських каналах я не шарю. Читачі, підказуйте, чи є в нас круті QA, дизайнери, продакти, маркетологи, редактори, фаундери? Ганебно що в укртґ немає нормального каналу з мемами. Вcі тягають профунктор оптікс (походу не скролять наверх де реклама вакансій яндексу та збербанку). Я пропонував своєму товаришу зробити мемний канал, бо в нього [класно виходить це в Лінкедіні](https://www.linkedin.com/in/devium/recent-activity/all/), але той не захотів. upd: ще канали про які я не знав: 🔥[Кіт і Лампа](https://t.me/kitilampa) — найближче до того що я маю наувазі, топ канал. [Kito San News](https://t.me/kito%5Fnews) — був СТО став військовим, хороший контент [Юра Пузіченко](https://t.me/pan%5Fpuzich), він же «Пан Пузіч» подає надії! Пише регулярно. 🔥[Стендап Сьогодні](https://t.me/stendap%5Fsogodni) — топ, мінімум форвардів та ютубів, максимум власного контенту [Мамкін Архітектор](https://t.me/mamkin%5Farchitect) — теж непогано [Євгеній Гизила](https://t.me/hyzyla%5Fblog) — туди ж, але пише нечасто [Роздуми Спрощенця](https://t.me/decomplexifier) — забив на канал [Алекс про усе](https://t.me/AlexKovalchukTg) — постить в основному меми [igoro.pro](https://t.me/igoro%5Fpro) — канал з одним постом та одним підписником. Сподіваюсь автор не заб'є! Є ще декілька каналів, я вирішив зібрати все в одній купі та зробив каталог: [https://blogigram.com](https://blogigram.com/). Старі підписники пам'ятають цей [проєкт](https://www.youtube.com/watch?v=Gi5WrRCrhww&t=1960s), з якого я колись хотів робити зручну-телеграм читалку лонгрідів, але не доробив. Шкеритись від орланів та зал у посадці — не писати код, і я звісно дуже сумую за програмуванням тому реанімував проєкт і планую потроху його розвивати ~~поки телеграм не закриють~~. Якщо ви знаєте ще якісь авторські канали, то пишіть в коменти — додам до списку. P.S.: сам початковий список я взяв у автора каналу [import \_\_hello\_\_](https://t.me/import%5Fhello). Дякую за підбірку! ### Жалюгідний стан українського ТҐ (та ІТ) URL: https://www.rozhkov.me/poor-state-of-ukrainian-tg/ Last updated: 2024-07-26T10:25:15.000Z Надзвичайно засмучений тим що у в українському навколоайті телеграм просторі немає контенту. У нас немає потужних авторів рівня російських. Там ціла купа висококласних спеціалістів які регулярно ведуть блоги, ютуби та канали. Чому так? Декілька гіпотез: - Аудиторія телеграму рф в 10 разів більша за українську: в 10 разів більше каналів та в 10 разів більше підписників. Звісно що на таких цифрах кількість перейде в якість. - Історично українське ІТ сфокусовано на аутсорсингу. Ця робота набагато менш цікава ніж продуктова розробка. Натомість російське ІТ завдяки великому внутрішньому ринку тримало впевнений паритет з аутсорсом, а потім народило купу успішних продуктів. Відповідно люди які створювали російські продукти прожили цікавіше життя ніж люди які тримали весло та сиділи на лавці з індусами в ентерпрайзах, а контент робиться тільки з цікавого життя і більше ні звідки. - Писанина вимагає часу, і наші фаундери та розробники сфокусовані на роботі й не мають часу та бажання на рефлексію. Російські фаундери та розробники звідкись беруть цей час, можливо вони менше працюють, а можливо ефективніше витрачають свій час, тому що капіталізація зусиль продуктової розробки нелінійна на відміну від аутсорсу. - В нас багато спеціалістів, але вони пишуть все англійською та в інші місця, тому що сенсу в українсько/російськомовній аудиторії для себе не бачать. - ТҐ не є популярним, всі пишуть на лінкедін/фейсбук/твітер - Насправді в нас багато крутих авторів, але я про них не знаю. Українське ТҐ тягнуть на собі півтори каліки. Більш-менш стабільно пишуть тільки [Бабич](https://t.me/toisamyibabich) та [я](https://t.me/full%5Fof%5Fhatred). І то, в Бабича половина постів це анонси стрімів та інших відео, друга половина це збори й тільки третя половина це текстовий контент. Решта здулися: - [Соловйов](https://t.me/bitethebyte) продався корпорації та не має часу — фіксить численні баги [метабейзу](https://t.me/full%5Fof%5Fhatred/379) - [Осипенко](https://t.me/itextrapolation) [підняв лям грошей](https://t.me/itextrapolation/782) і не має часу — пише промпти - [Аліменков](https://t.me/xpinjection%5Fchannel) і раніше не дуже писав, а зараз тим паче — вчить людей розробці по аджайлу на java-мікросервісах в кубернетісі - [Лучків](https://t.me/yyluchkiv%5Fposts) напевне зайнятий — знайшов великий проєкт - [Іщенко](https://newsletter.maxua.com/) щось писав, але не в тг, та дуже швидко здувся і перейшов в подкаст - [Климов](https://t.me/xanf%5Fdev) і раніше не дуже писав, а зараз прокидається тільки коли в нього в черговий раз щось не так з макбуком - [Миколайченко](https://t.me/devopsengineer) крутить поди та апгрейдить кластер на новий мережевий стек і не має часу писати - [Меньшиков](https://t.me/notieinIT) мав класний канал, але давно на нього забив, а як війна почалась то взагалі нічого не писав - [Турський](https://t.me/jabascript) постить тільки анонси відосів на своєму ютубі Канали поза категорією: - [Фрілансер по жизні](https://t.me/freelancer%5Flifestyle) — бізнес, там одні анонси відео та курсів - [Німчинський](https://t.me/nemchinskiyOnBusiness) — бізнес, записує відоси, а тексту майже не пише - [Малєєв](https://t.me/youneverasked) — пише часто, але в основному це реакції на новини/події, а не власні кулсторі - [Довгополий](https://t.me/DDEcW) — пише активно, але в основному це реакція на якісь події, завуальовані звіти про діяльність та скарги на втому від тривалих поїздок за кордон (first world problems гггг). Я б його не відносив до категорії ІТ, але для порядку в списку є. *Продовження про дрібніші канали та каталог українського ТҐ — наступного тижня, бо не влізає в ліміти.* ### Подвійна конвертація URL: https://www.rozhkov.me/daily/double-conversion/ Last updated: 2024-07-25T17:16:56.000Z Беру екофлов, заряджаю від мережі. Екофлов конвертує AC в DC щоб зберегти електрохарчування в своїх літій-іонних акумуляторах. Вставляю в екофлов старлінк. Екофлов через інвертор конвертує DC в AC, віддає старлінку, старлінк конвертує його назад з AC в DC та живиться. Підключаю генератор, генератор генерує DC, конвертує через інвертор в AС, передає на екофлов, який знову конвертує то в DC та заряджає свої батареї. Підключаю ноутбук до екофлова... ви зрозуміли ланцюжок. Світу потрібно більше пристроїв на PD. Кожен електронний пристрій має живитися від Type-C. Світу потрібно більше генераторів та екофловів які мають з'єднання по DC. До речі [генератор](https://t.me/full%5Fof%5Fhatred/993?single), на який ви допомогли зібрати, якраз має такий вихід. На жаль, він пропрієтарний, і підходить тільки для самих екофловів, але він заряджає набагато швидше, прибрали одну ланку конвертації! P.S.: побратим вставляє в екофлов блочок для зарядки телефону щоб зарядити телефон🤦‍♂️ ### Гілкой в глаз URL: https://www.rozhkov.me/daily/stickin-in-my-eye/ Last updated: 2024-07-22T06:24:00.000Z Нещодавно шарився по посадці туди-сюди й натрапив оком на гілку. Відразу з'явилося відчуття ніби в оці шось є, піщинка якась, і воно почало сльозитися. Нічо не допомагало. Цілий день страждав, коли добрався вночі додому подивився в дзеркало то здалося що роговиця надщербилась, типу така маленька вибоїнка. Почав панікувати, бо в інтернеті написано що око не регенерує, і якщо щось пошкодив, то все. Сподівався що за ніч пройде, але не пройшло, хоча коли повіка закрита була, то нічого не боліло. На ранок вибрався до офтальмолога у місцеву поліклініку. Офтальмолог сіла за апарат совєцьких часів на ручному управлінні та декларувала наявність подряпини. Виписала три види крапель і сказала капати поки не пройде. Краплі давали полегшення, яке, втім, тривало не дуже довго. Але через кілька днів різь в оці таки пройшла, залишилась лише сухість, але далі минула й вона. Якимось чином та подряпинка пофіксилась. Заполірувалась чи що? Все добре що добре завершується, а з того часу я балістичні окуляри не знімаю, і вам того раджу. ### Dogfooding у вітчизняному мілтеку URL: https://www.rozhkov.me/missing-dogfooding-in-miltech/ Last updated: 2024-07-18T10:17:21.000Z Одна з великих проблем вітчизняного мілтеку — це відсутність нормального [догфудинга](https://en.wikipedia.org/wiki/Eating%5Fyour%5Fown%5Fdog%5Ffood). Наприклад є така програма «Кропива». 99% юзкейсів Кропиви — це поділитися координатами. Для цього розробники зробили т.зв. «Тенета», якими звісно ніхто не користується, бо ненавчений. Ви б знали як передають ті координати! Найчастіше — скидують в сігнал фотку(!) екрана планшета з Кропивою де в куточку є кори. Отримувач бере то фото, парсить кори й забиває вручну на своєму планшеті. Якби хоч один розробник посидів місяць в полі, то швидко б додав зручну кнопку шаринга яка передавала б діплінк що відкривався б в апці, або зробив би текстовий шаринг та функцію «перейти на кори з буфера обміну» яка б автоматично парсила формат та робила що потрібно. Звісно можливо розобники Кропиви дійсно сидять в полі, але вони працюють в ідеальних умовах, таких, як написано в мануалі. На жаль, об'єктивна реальність така що більшість людей вміють користуватися лише базовими функціями, а коли так, то ваш продукт надто складний і потрібно його спрощувати. Інша історія — UI одного вітчизняного БПАК. То просто класичний приклад інтерфейсу який задизайнили програмісти під свої програмістські задачі. Коли б вони посиділи в полі, то зрозуміли б, наприклад, що потрібно додати на інтерфейс напругу на наземній станції та попередження про розряд. Місце є, але ця інфа схована глибоко, хоча вона дуже важлива, бо якщо пропустити цей момент, то станція залишиться без живлення, втратить зв'язок з бортом, та додасть сивини оператору. На тому ж інтерфейсі можна додати всілякі точки інтересу, але програма не зберігає їх між перезапусками. З одного боку ну типу ок, якщо хочеш зберегти точки, то роби це через файл і така функція є. Але з іншого — ну йопт, 95% випадків літаєте з одного місця принаймні впродовж дня, по тих самим точках інтересу, чому просто не зберігати їх усі? Це дратує просто неймовірно. Про захист від дурня я взагалі мовчу, система не дає ніяких попереджень якщо випадково задати критично низькі швидкість або висоту, можна легко помилитися, і треба бути дуже уважним. В тому ж комплексі для управління камерою є декілька хоткеїв: подивитися вліво під 45, вправо під 45, та прямо під 45\. Але немає просто «подивитися прямо» та «подивитися вниз на 90»! А ці функції дуже важливі. Зараз оператору доводиться тиснути «прямо під 45», а потім вже вручну доводити камеру вверх на 0 або вниз на 90, це просто неймовірно харить. Якби програміст UI провів би хоч десяток бойових вильотів, то він би собі набрав беклогу на рік вперед. Це все дрібні ергономічні фічі, але в сумі вони дають потужний кумулятивний ефект. Ніби все ок, але там недороблено, там треба якось вивертатися, там робити додаткову роботу. Я вже мовчу про неконсистентність у розмірах та видах шрифтів. Покращень звісно ніхто ніяких робити не буде, тому що це все не вважається пріоритетним. Можу наводити й інші приклади, але ви мене зрозуміли. Допоки ти не сидиш у шкурі користувача, тобі не близькі його проблеми. Ти можеш думати «як краще», але реальний світ завжди буде іншим. Якщо вже не хочеш відправляти своїх програмістів в посадки, то принаймні налагодь процес збору та опрацювання фідбеку. Але цього не роблять, бо від безвихіддя всі змушені користуватися тим що є. Альтернативи відсутні. P.S.: це не про гроші, а про культуру та смак. Ті комплекси вартують лютих грошей, ба я б сам би сів і запрограмував все безплатно і дизайн зробив би безплатно, але ніхто мені не дасть. P.P.S.: пиздіти — не мішки носити, тому написав розробникам з пропозицією допомоги, подивимося що з цього вийде. ### Генератор історій URL: https://www.rozhkov.me/stories-generator/ Last updated: 2024-07-17T06:24:00.000Z Деякий час тому ви допомогли [зібрати на генератор](https://t.me/full%5Fof%5Fhatred/993) EcoFlow. Розповідаю кулсторі про нього. ## «Гази!» Група бійців засіла на позиції у гаражі в одному з прифронтових містечок. Обладнання розклали у підвалі який був глибокий та моцний. Нагорі поставили генератори яких взяли два: один звичайний, а інший цей самий, екофлов смарт ген, новий ще, не розпакований. Щоб не палити позицію, генератор запустили прямо у гаражі, а щоб не вчадіти трішки відкрили двері. Так він собі й гудів, в підвалі повітря було нормальним і нічого не передбачало біди. Минув час і наші герої вирішили завести другий генератор, щоб швидше заряджати обладнання. Всі троє полізли нагору і давай розпаковувати та дивитися мануал, як же заводити той екофлоу, бо там треба було спочатку під'єднати внутрішню батарею, потім залити масла. За декілька хвилин які компанія знаходилась біля генератора що працює у фактично закритому приміщенні, вони почали відчувати неладне — головний біль та задушшя. Один з героїв відразу зрозумів чим тут пахне, відкрив ширше двері гаража, а сам хутко спустився вниз, та покликав решту. Решта щось чехлилась нагорі, але врешті таки теж спустилась. Досить швидко всі відчули на собі ефект від отруєння: сильна слабкість та головний біль, а ті, хто спустились пізніше — ще й нудоту та блювання. Здається, якби вони пробули там трохи довше, то вже могли б і не вийти звідти. Але все закінчилося добре, а генератори перенесли у сусідній гараж де нікого не було. ### «Ми хотіли вам його повернути» Іншого дня кацап вирішив відпрацювати по плановим цілям, а може й змалював позиції, і почав гатити по гаражах зі стволки чи 120мм. Один снаряд повністю складав один гараж. Наші герої звісно були у підвалі, але навіть у підвалі чути звуки виходів та приходів було досить неприємно. Спочатку здалось що то просто хаотичний обстріл, але коли снаряди стали класти все ближче і ближче то стало ясно що працюють саме по цих позиціях. Компанії пощастило і їх гараж вцілів, снаряли влучили найближче через дві «клітинки» по горизонталі та вертикалі. Під час обстрілу один з героїв якраз керував дроном, але не міг посадити його, тому просто знімав все зверху. На жаль, запис той не зберігся. Після завершення обстрілу хлопці прийняли рішення почекати й не виходити. Раптом нагорі хтось зашумів — стало чути як хтось ходить та намагається відкрити двері. Це були місцеві цивільні. Один з них ходив та голосив про те що все згоріло. Через кілька «клітинок» по лінії сиділа компанія колег, з якими був зв'язок. Вони повідомили, що дійсно прийшли аборигени, мародерити. Хлопці взяли стволи та за командою суміжників висипалися з укриттів і побачили чудову картину — один чоловік тягнув генератор, а інший — екофлов дельта 2 макс які вони взяли якраз у тому гаражі, куди наші герої все перенесли, щоб не вчадіти. Цивільних відразу прийняли та «посадили на підвал» де ті надали пояснення, що вони прийшли не коригувати вогонь, а подивитися чи не пропало їх майно, а екофлови вирішили забрати та віднести у міськраду, щоб їх ніхто не вкрав, бо зараз у місті багато мародерів і вони переживали за військових які залишаться без цінного майна. А ще вони подумали що всі військові втекли й нікого немає, тому точно треба було забрати. Дякуємо за турботу! Далі вже обходилося без ексцесів. 🫡Ну а генератор успішно пережив обстріли, численні переїзди та зміни позицій, аварії автівок та продовжує далі працювати на благо міста та всіх харків'ян. Дякую всім хто на нього задонатив. ### Автоматизація блокпоста URL: https://www.rozhkov.me/checkpoint-automate/ Last updated: 2024-06-27T09:46:12.000Z Деякий час тому ваш покірний слуга ~~народу~~ займався надзвичайно важливою справою — ніс вартову службу на одному з блокпостів нашої неосяжної ❤️Батьківщини (no pun intended). Блокпост перекривав дорогу до важливої території, і право проїзду та проходу мали лише визначені автівки та люди. Список номерів автівок був надрукований на двох десятках листків формату А4, та версіонований доповненнями як друкованими, так і від руки. Номери звісно не були посортованими взагалі, тобто щоб знайти потрібний, треба було витратити O(n) часу. Мені як новачку на такій відповідальній посаді на початках було складно — під'їжджає машина, я гортаю довідник у пошуках номера, туплю, поважні люди нетерпляче чекають. Суцільний стрес. Ситуацію рятувало лише те, що машини заїжджали нечасто, і можна було поспати або зайнятися корисними справами — на позиції була обладнана комфортна буда з ліжками, столом, холодильником, плиткою та чайником. Інтернет також ловило. Як всякий наївний програміст, я побачив фатальний недолік у неіндексованому списку та вирішив спростити собі та іншим життя. У вільний час вручну загнав всі номери в гугл щітс та відсортував їх. Додатково провів оптимізацію — записував не повний номер авто, а лише цифри з нього, щоб потім можна було зручно шукати використовуючи лише цифрову клавіатуру. Номерів було небагато — кілька сотень. Час пошуку скоротився від O(n) до O(1). Життя знову заграло яскравими барвами. Але світ не ідеальний, і невдовзі з'ясувалося, що є категорії людей яких потрібно знати в обличчя та авто яких не було у списках, але пропускати треба. Система дала тріщину, але невелику. Ті ситуації якось розрулювались. Я запропонував доступ до того екселя своїм побратимам, з якими ми мінялися, але ті, очевидно, не зрозуміли навіщо те. Бо за час служби (який був набагато довший ніж наш), вони просто запам'ятали 20% машин які складають 80% трафіку, а для решти копирсалися у списку. Мій стартап ганебно провалився, продукт маркет фіт що здавався таким близьким, вислизнув з рук. Кастомерам було байдуже. Інвесторський борд вимагав робити півот. Але на щастя до того не дійшло. Незабаром нашу компанію зняли з чергування на тому блокпості. Я вирішив не продавати свій продукт новим клієнтам та зафіксував збитки. Ну а хлопці які прийшли на зміну напевне продовжили традицію O(n). ### Busywork Стояти на блокпосту або на «калітці» (КПП на в'їзді на об'єкт) — це найтупіша та найганебніша робота. VIPи та чини бикують чо так довго відчиняєш ворота або шлагбаум, зайнятися чимось продуктивним складно, вночі хочеться спати, а якщо зайде ворог або дрг — то ти навіть не зрозумієш звідки прийшла смерть. 95% часу нічого не відбувається, але треба бути пильним. Втім, за час сидіння на постах я прочитав весь цикл [Фундація](https://www.rozhkov.me/asimov-foundation/) та ще купу книжок і прослухав не прослухані епізоди подкасту Макса Іщенко. ### ДРГ Але все-таки результат іноді є! Так, побратими на іншій зміні піймали якось дурника який шарився поряд та фотографував позицію. А вже на моїй зміні цивільні які проходили через блокпост повідомили що бачили якусь людину у посадці, яка при наближенні сховалась. Ми піднялися вище та незабаром дійсно помітили у полях поряд фігуру. Уже темніло і ми вирішили йти на перехоплення зловмисника. Повідомили сусідній пост, щоб вони були напоготові та ломанулися через бур'ян. Злодій нас помітив та чкурнув у бік, але на жаль колеги не встигли його прийняти й він втік кудись в поля. ### Такі справи За можливості уникайте нарядів на блокпостах — то дурна й невдячна робота. ### Enshittification URL: https://www.rozhkov.me/enshittification/ Last updated: 2024-06-18T06:24:00.000Z Сумно спостерігати як інтернет через невірно виставлені incentives (не перекладається) та локальні оптимізації стає дедалі гіршим та гіршим місцем. Класичний приклад: в інстаграмі у пості не можна ставити лінки. Тобто текст можна поставити, але він не перетвориться на лінк. Тому в інстаграм постах ви постійно бачите «лінк на банку у профілі» або «посилання у першому коменті». Бо у профілі лінк перетворюється на гіперпосилання, а в коменті можна його зручно скопіювати. Переходиш на профіль, тобі показує сторіз замість профіля, тикаєш ще раз на іконку, там є лінк, ура! А прутня тобі за комірець, лінк там на linktree, бо інстаграм тобі не дає багато лінків вставити, тому треба робити такий мультиплексор. Мені час від часу надсилають донати на paypal (дякую вам!), так от щоб попасти у веб-інтерфейс пейпелу потрібно після логіну пройти ще додатковий екран, який тобі пропонує поставити апку. Я заходжу з десктопа, альо! Куди мені ставити твою апку? Враховуючи те що сесія пейпелу протухає дуже швидко, це люто дратує. Твітер не показує весь текст твіту якщо він більше 280 чи скільки там символів, натомість має кнопку read more. Повна шляпа. Чому не можна зробити нормально? Лінки в постах робити лінками, в профілі дозволити писати скільки завгодно, нормально показувати весь текст? Технічних перепон для цього немає. Зате є організаційні. Якийсь продакт менеджер отримав КПІ або ОКР або ще якусь новомодну абревіатуру на підвищення процента жиров і приніс пропозицію: «давайте ми зробимо так щоб з нашого сайту ні на який інший сайт не можна було перейти, тоді люди будуть більше сидіти на нашому сайті та менше на інших». Борд інвесторів заапрувив, програмісти запрограмували, викотили A/B тест — працює! Престіж крєпчаєт, мощно возрастаєт дєнь ото дня процент жиров у маслі, всі довольні. Всі крім юзера. Тому що у мене відібрали базову функцію гіпертексту (власне текст тому і гіпер) — гіперпосилання. Замість зручного механізму тепер всі придумують як обійти те обмеження, роблять цілі продукти-воркераунди (linktree та йому подібні). І так зі всім. Який продукт не візьми — той тільки погіршується. Причому я переконаний що якщо взяти окремо кожного хто відповідальний за рішення, то він би його переглянув. А коли замість візіонера у нас капіталістичне колективне несвідоме у вигляді ради інвесторів, то результат буде таким як ми спостерігаємо — walled garden де юзерам нічого не можна робити та доводиться придумувати чудернацькі способи обійти обмеження системи. Далі буде тільки гірше😕 ### Прибираємо тормозні анімації на смартфоні URL: https://www.rozhkov.me/remove-animations/ Last updated: 2024-06-17T13:15:56.000Z *tl;dr: на андроїдах: Accessibility→Vision→Remove Animations. На айфонах: Settings→Accessibility→Motion→Reduce Motion* Сучасні інтерфейси грішать великою кількістю анімацій. Плавні переходи між екранами та станами, анімовані кнопки та менюшки, спіннери. Все це може виглядати естетичним, але додає десятки та сотні мілісекунд до кожної дії. Відомо, що люди досить чутливі навіть до найменших затримок. Ось цитата зі статті про затримку в клавіатурах від [Dan Luu](https://danluu.com/): *There’s a fair amount of empirical evidence on this and we can see that, for very simple tasks, [people can perceive latencies down to 2ms or less](https://pdfs.semanticscholar.org/386a/15fd85c162b8e4ebb6023acdce9df2bd43ee.pdf). Moreover, increasing latency is not only noticeable to users, [it causes users to execute simple tasks less accurately](http://www.tactuallabs.com/papers/howMuchFasterIsFastEnoughCHI15.pdf). If you want a visual demonstration of what latency looks like and you don’t have a super-fast old computer lying around, [check out this MSR demo on touchscreen latency](https://www.youtube.com/watch?v=vOvQCPLkPt4).* Можливо 2мс я не помічу, але 10мс відчуваю коли граю на гітарі через комп'ютер і є затримка в обробці. В інтерфейсах це число напевне буде вищим, але гадаю сміливо можна допустити що 100мс помітять всі. Тому, щоб зробити свій смартфон «швидшим» я вимкнув анімації. Тепер в мене болід, бо все відкривається миттєво. Спробуйте самі! На жаль, деякі апки не розуміють що їм вимкнули анімації тому можуть підглючувати, але на останньому андроїді таких небагато. На попередніх версіях у мене некоректно працювали критичні апки (банкінг і ще щось), тому змушений був залишити все як є. Також, у мене вимкнено всі анімації в десктопному середовищі. На лінуксі є така опція, на макосі здається була, але не точно. Це затримки при згортанні екранів, мінімальний час анімації альт-табу і так далі. Наші комп'ютери неймовірно швидкі, але розробники воліють вішати на них гирі що сповільнюють відклик системи, в результаті чого старий пентіум з віндовсом 95 відчувається швидшим ніж сучасний апарат з віндовсом 11. ### Ruby on Snails: 1 req/sec URL: https://www.rozhkov.me/ruby-on-snails-1-req-sec/ Last updated: 2024-05-31T07:32:43.000Z Нещодавно один відомий консультант по перформенсу рельс написав твіт, де стверджував що [більшість Rails апок тримають 1.5 req/sec на одному ядрі](https://twitter.com/nateberkopec/status/1791927521895985417) й тому треба мільйони vCPU, пам'яті та серверів, щоб воно хоч якось працювало. Надзвичайно контроверсійна заява яка породила відповідну реакцію спільноти, де різні люди заявляли що в них все працює як мінімум в 10 разів швидше. Згодом по треду виявилося, що 1.5 req/sec це те що автор бачить на своїх консалтингових проєктах. Тобто не всі проєкти, а ті, куди його запрошують (очевидно, з перформенс проблемами). І не нормально написані проєкти, а нездало написані. І основна проблема не в повільному Ruby, а в I/O до бази. Короче як в тому анекдоті, «— Чули Рабінович виграв мільйон у лотерею? — Все так, тільки не Рабінович, а Петренко, не мільйон, а тисячу, не в лотерею, а в карти, і не виграв, а програв». Я звичайно крінжанув з поста, потім крінжанув що люди ганьблять Ruby, потім пішов дивитися скільки ж тримає сайт Поставив модну зараз програму [oha](https://github.com/hatoo/oha), запустив у 20 потоків на 30 секунд: `oha -c 20 -z 30s -m GET --latency-correction --disable-keepalive --redirect 0 ` і отримав наступний результат: ``` Summary: Success rate: 100.00% Total: 30.0017 secs Slowest: 18.8368 secs Fastest: 0.2681 secs Average: 1.1295 secs Requests/sec: 9.7328 Total data: 2.68 MiB Size/request: 10.11 KiB Size/sec: 91.64 KiB Response time distribution: 10.00% in 0.4612 secs 25.00% in 0.5410 secs 50.00% in 0.6348 secs 75.00% in 1.0161 secs 90.00% in 1.9351 secs 95.00% in 2.4722 secs 99.00% in 16.0569 secs 99.90% in 18.8368 secs 99.99% in 18.8368 secs ``` \~10 req/sec на одному ядрі з ±нормальним p95, бо сервер в мене найдешевший: `shared-cpu-1x@512MB` Ця сторінка звісно не рендерить нічого такого, але десяток запитів в базу і яка-не яка логіка присутня. Звісно всі запити оптимізовані по максимуму, але все ж. Маю гіпотезу, що більшість часу що витрачається, це не Ruby, а I/O в базу. Тобто якби сюди запулити джаву, то результат був би не набагато кращим, бо код аплікейшена це десятки мілісекунд, стислися б вони у два рази, в загальній частці це не дало б суттєвого прискорення. Щоб перевірити, може знайду час написати два ідентичних сервери на Ruby та Java і порівняти. І це я просто написав нормальний код. Простору для оптимізацій ще багато: додати кешування, оптимізувати рендерінг HTML (замінити стандартний шаблонізатор ERB на [Phlex](https://www.phlex.fun/)). Якщо запаритися, то гадаю, що вдалося б покращити результат вдвічі. Я ж зупинився на тому, що в мене сторінка віддається за 300 мс. Тому сміливо пишемо на тому, що подобається, оптимізуємо дані та SQL запити, а всім хейтерам які заявляють про тормознутість вашого рантайму у порівнянні з джавою/растом/го сміливо ~~плюємо в обличчя~~ ставимо реакцію клоуна. P.S.: я звичайно не метр перформенсу, але ще 4 роки тому писав про те що корені всіх проблем веб апок — [це запити в базу даних](https://www.rozhkov.me/highload/). P.P.S.: особливо прискіпливі можуть сходити на [TechEmpower Web Framework Benchmarks](https://www.techempower.com/benchmarks/#hw=ph&test=composite§ion=data-r22) та подивитися, що Spring не набагато швидший ніж Rails, Laravel та Django повільніші, а виграють не фреймворки, а голі бібліотеки вебсерверів. ### Олімпіадники strikes back URL: https://www.rozhkov.me/olympic-nerds-strikes-back/ Last updated: 2024-05-30T18:15:48.000Z Щодня [@Donate1024Bot](https://t.me/Donate1024Bot) надсилає своїм підписникам звіти по завершених зборах. Це посилання на соцмедіа, відео з фото та супровідний текст. Деколи ті звіти не відправляються через костурбатість [Telegram Bot API](https://core.telegram.org/bots/api): - Текст до картинок не може бути довшим ніж 1024 символи. Щоб запобігти цьому обмеженню я додав у себе в адмінці валідацію на розмір тексту - Файлів з медіа не може бути більше ніж 10\. Щоб уникнути цієї помилки я просто брав перших 10 файлів, якщо випадково в адмінці додавав більше при створенні звіту І найнапряжніше це `document can't be mixed with other media types`. Олімпіадники Дурова не змогли зробити одночасну відправку різних типів файлів. Найчастіше у мене ця помилка падає коли випадково разом з JPEG файлами додав PNG. Також неможливо відправити PDF або щось інше разом з картинками. В чому проблема це зробити для мене загадка. Хоче користувач додати одним повідомленням кілька картинок різних форматів, відео, та бінарний файл — ну покажи замість прев'юшки іконку файлу і все. 😡А найцікавіше що ***джипег та відео можна відправити одним повідомленням***! Чому не можна одночасно відправити PNG та JPEG? Signal до речі, теж цим страждає. Тупе обмеження яке програмісти придумали напевне щоб спростити собі життя. Рік я ігнорував цю проблему і коли телеграм не хотів відправляти мій звіт користувачам, то це попадало в [Sentry](https://sentry.io/), а далі я вже вручну дивився що не так і переробляв звіт. Але врешті мені воно надоїло і я додав «тестування» звіту: при його створенні відразу відправляти у приватний чат. Таким чином я точно знатиму що звіт валідний та буде належним чином доставлений користувачам. Інтеграційне тестування на продакшені👊 ### Робочий графік воєнних URL: https://www.rozhkov.me/army-schedule/ Last updated: 2024-05-23T10:47:07.000Z «Найс воюєш, братан», пише підписник під постом про інкапсуляцію, «порадь речовини для такої продуктивності». «Чому не в окопі?» ставить питання рандомний твітерянин під фото військового з підстриженою бородою та у чистій формі. «Штабний щур», пише осінтер під іншим фото. Розбираємося що до чого і як так виходить. Найголовніше що потрібно зрозуміти що військо це як величезний аутсорсер з великою кількістю абсолютно різних проєктів. «Де працюєш?» — «В циклумі». Ця відповідь вам нічого не скаже крім офіса на Амосова, бо в циклума сотні різних клієнтів з різними умовами. Військо це ЗСУ (сухопутка, тероборона, вмс, повітряні сили, ссо і тд), МО, НГУ, СБУ, ГУР, ДПС, Національна поліція та інші формування. Кожна з цих структур воює, кожна має свої задачі, та кожна має свої умови служби. Тому коли ваш кум/брат/сват/колега/сусід скаржиться на те що він 2 роки не бачив сім'ї, то потрібно уточнювати де саме він несе службу, бо цей досвід не можна просто так екстраполювати на всіх взагалі. У будь-якого формування є пункт постійної дислокації, воно ж ППД, це умовно база, де знаходиться особовий склад та майно. Це ППД може знаходитися як у центрі Києва, так і десь посеред лісу в області. Між бойовими виїздами зазвичай особовий склад тусується на ППД. Залежно від рівня затягнутості формування, військових можуть як не випускати за периметр без дозволу, так і навпаки, заохочувати проживання у цивільних помешканнях поряд, а на ППД з'являтися як на роботу. ### Як відбувається робота? У вашого підрозділу ймовірно буде своя зона відповідальності — це якась ділянка фронта. Спєцура працює позадачно, але все одно діє в рамках зони відповідальності та комінкує з основними силами. В рамках зони відповідальності є позиції, де потрібно буде знаходитися для виконання завдань. Це система укріплень або спостережні пункти для піхоти, позиції артилеристів, бліндажі для дроноводів і так далі. Ви заїжджаєте на позицію та робите свою роботу: спостерігаєте, відстрілюєтесь, насипаєте кабачків, катаєтесь на антишахед мобілі й тд. Робота на позиціях відбувається позмінно. Ось власне ці зміни і є вашим робочим графіком. Залежно від задачі, обстановки, кількості особового складу та наявності засобів уражень цей графік може змінюватись від чілового до дуже напряжного, умовно від доби через дві, до кількох тижнів без змін. У вільний час військовий постить фотки в інсту, пише у твітер та телеграм, чілить, перебирає обладнання та вивчає раст. Між чергуваннями особовий склад проживає або на «відтяжці» (друга, третя лінії укріплень), або в сусідніх селах, або в сусідніх містах (Краматорськ, Запоріжжя). Ось власне там і є цивілізація, де можна помитися, постригтися, переодягтися та зайти в ресторан поїсти нормальної їжі, а не сухпаю. Умови у всіх дуже-дуже різні, піхота може не вилазити з окопів тижнями, а спєцура сидіти у Києві та раз на два місяці ганяти на фронт «попрацювати». *Загалом*, звісно ситуація така що більшість все-таки мешкає у прифронтових селах та містах, а додому просто так нікого не відпускають, але як я вже зазначив, підрозділів різних дуже багато й умови дуже різні. ### ~~Зв'язок~~ ~~Всі забезпечені старлінками, у всіх є зв'язок навіть на передньому краї, тому ситуація «пишу з окопу» це буквально наша реальність.~~ ### Якби влада не зірвала мобілізацію То воювати було б набагато легше. Більше людей → частіші ротації → більше часу на відпочинок → вища мотивованість ос → краща боєготовність → кращі результати → більше людей. Зараз, на жаль, виходить замкнене коло — мало людей → їх не ротують → люди втомлюються та втрачають мотивацію → цивільні не хочуть на війну, бо там 2 роки в окопах сидіти → мало людей. Повірте, людей дуже не вистачає. Є обладнання, є бк, є де працювати, лише нема кому. ### Такі справи ✍️🦀Ну а час на проходження туторіалів по расту та написання постів я маю. 😕👨‍💻На парт тайм роботу, на жаль, часу не маю. ### Інкапсуляція URL: https://www.rozhkov.me/incapsulation/ Last updated: 2024-05-20T06:24:00.000Z Проходжу зараз [туторіал по Rust](https://rust-exercises.com/), дійшов до розділу про інкапсуляцію. Там як завжди: публічні поля у структур може змінювати будь-хто тому треба їх зробити приватними, а назовні вистромити гетери/аксесори. Цю історію я чув ще з далекого 2004 коли починав програмувати на Java. Тоді про це не задумувався, ну дійсно, несолідно щоб ми писали `user.name = "Vova"`, має бути `user.setName("Vova")`. ООП ж! Більшість бібліотек теж дотримувалися цієї конвенції та очікували що на об'єктах будуть гетери та сетери. Так воно і тягнулося. Але зараз я уважно ще раз прочитав що мені каже туторіал і подумав — WTF? Чому я повинен загортати значення в якісь додаткові методи, в чому сенс? «Безпека»? Не смішіть, безпека чого? Якщо треба, то все міняється в рантаймі без проблем. Щодо того що значення зможе міняти будь-хто й будь-коли. Ну поміняє хтось значення так то вже будуть його проблеми, хіба ні? Сам собі злий буратіна, як казали в бородаті часи. Чи повинна бібліотека містити в собі механізми захисту від дурня? Навряд. Бібліотека повинна назовні віддати зрозумілий та невеликий фасад, та й все. Валідація інпуту? Ну таке, валідується все зазвичай на рівні вище, хоча якщо ви працюєте з бібліотекою що дає API типу `@NotNull` та `@Size(max = 64)` то ок. Аргументів за тотальну інкапсуляцію у мене немає. Здається що це вірування яке лишилося з давніх часів, бо хтось так написав у книжці, зараз всі забули чому так треба, а накопичене легасі у бібліотеках не дає позбутися купи бойлерплейту, а на нових проєктах нові програмісти з ChatGPT генерують ще більше сміття ще швидшими темпами. В чому сенс? ### Сині долари URL: https://www.rozhkov.me/daily/blue-dollars/ Last updated: 2024-04-20T10:48:08.000Z Нещодавно потрібно мені було туди-сюди поміняти трохи валюти, і я дізнався що виявляється є різниця між доларами різних років випусків. Типу нові долари дизайну 2009 року ціняться більше ніж старі, білі, дизайну 1996. Також, звертають увагу на рік випуску нових, дивляться, щоб було не менше 2015 чи щось таке. WTF??? ![](https://www.rozhkov.me/content/images/2024/04/image.png) Люди в банку просять саме «сині» долари, а від білих відмовляються. При обміні на руки теж, будь ласка, тільки сині. Але і банки, і обмінники міняють все що після 1996 року по однаковому курсу і не вимахуються. Звідки взявся цей доларовий расизм та ейджизм? Адже економічного підґрунтя він не має, хіба би десь було задеклароване «застарівання» банкнот. upd: схоже що проблема в тому, [що через війну валюту не можуть ні вивезти, ні завезти до України](https://www.epravda.com.ua/columns/2023/07/31/702753/), тому банки змушені пускати в обіг ті самі долари які їм продало населення. ### Вигоріла URL: https://www.rozhkov.me/burned-out-volunteer/ Last updated: 2024-04-16T06:43:37.000Z Рік тому мені написала одна панянка яка десь натрапила на [@Donate1024Bot](https://t.me/Donate1024Bot) з проханням допомогти зібрати гроші на авто та порадити де його краще придбати. Я чим міг допоміг, а підписники боту надонатили грошей. З того часу вона приблизно раз на місяць приходила з новим збором. Останні вражали сумами — мільйони гривень. Деякий час тому знову звернулась зі збором на мільйон, і зазначила: «це мій останній збір, бо в мене через це почались проблеми зі здоров'ям, тому я надовго припиняю волонтерити». Гарантований спосіб вигоріти, заробити собі тривожність та попаятися — це братися за задачі які не можеш потягнути, нагрібати більше запитів та роздавати більше обіцянок. Я взагалі противник «зборів на мільйон» якщо ви не Лачен, Стерненко або інстаграм інфлуенсер. Особливо, якщо збір не цільовий, а пхається все підряд разом: дрони, пікапи, старлінки, екофлоу і так далі. В результаті як тільки з «мільйона» набирається якась вагома сума, вона відразу йде на оплату, бо навіщо чекати поки збереш всі 5 якщо ти не контрактуєш партію в одного виробника, а береш все в роздріб? От і сенсу немає в таких зборах, у тому випадку коли ти не маєш аудиторії, здатної надонатити все, наприклад, за тиждень. Фронт втратив підтримку волонтерки, хоча вона могла спокійно далі закривати менші потреби. Я обережно ставлюся до великих зборів і для мене теж щоразу це великий стрес. Звісно якщо не ставити собі амбітних цілей, то не буде зростання, але треба бути з собою чесним та розуміти, що марно повторювати одні й ті самі дії та сподіватися на різний результат. Коли в мене є тільки два канали дистрибуції — то 100 тисяч то моя межа, всьо, вище не стрибнеш. Я не можу сказати «пані та панове збираємо мільйон», розповсюдити це по старих каналах і очікувати що та сама аудиторія задонатить в десять разів більше. Тому тут щось, там трішки, там ще, і ось за півтора року ви вже допомогли закрити потреб на [\~два мільйони гривень](https://donate1024.org/volunteers/1). Not great, not terrible, але мене не попаяло, я не стресую, в адекваті, і не збираюсь зупинятись. Вашими донатами❤️ P.S.: щоб не потрапити в таку ж ситуацію нещодавно я відмовився від двох хороших парт-тайм контрактів, хоча більш-менш мав час. Розумію що знаходжусь в обставинах коли не можу давати гарантовані обіцянки, тому вирішив не підписуватись і не підводити людей, а сфокусуватися на основній роботі. P.P.S.: якраз днями дійшла черга до того збора на мільйон. Я його додавати — а профіль волонтерки у ФБ уже приватний, і телеграм акаунт з листуванням видалений🤷‍♂️ ### Open source зубожіння URL: https://www.rozhkov.me/open-source-poverty/ Last updated: 2024-04-15T11:46:08.000Z Розробники опенсорс програм загалом живуть жалюгідне життя. Плодами їх діяльності користуються мегакорпорації що отримують надприбутки та нічого не дають навзаєм. Хто мав колись справу з `npm i` пам'ятає рекламний банер який друкувався в термінал при встановленні `core-js`, розробник якого бідкався що немає грошей та роботи. ElasticSearch плотно посмоктав Безосівського прутня, коли AWS просто додали у своє портфоліо хостед еластік. MongoDB втрапили в ту ж халепу, але раніше. Того року компанія HashiCorp, яка робить такі продукти як Terraform, Vault, Vagrant та інші, [змінила ліцензію з MPL на BSL](https://github.com/hashicorp/terraform/commit/b145fbcaadf0fa7d0e7040eac641d9aef2a26433), що викликало серйозну драму та форк від ~~ком'юніті~~ компаній які розробляють конкурента Terraform Cloud й ще одну драму. Уже цього року Redis перейшов на Dual-License модель. Звісно вже зробили форк. Всі ці зміни покликані захистити компанії-розробники опенсорсу від корпорацій-паразитів, які продають хостед-версії цих продуктів і не діляться ні прибутками, ні славою. Ліцензія BSL забороняє розробку «продуктів-конкурентів», подвійна ліцензія Redis забороняє продаж хостед редіса. Очевидно, що permissive (дозвільна, хз), модель функціонування опенсорса не є сталою. Мегакорпорації не відсиплять тобі й копійчини хоч би скільки не заробляли, інші розробники теж не будуть платити за те що віддається просто так. Люди так-сяк тягнуть лямку отримуючи або нічого, або якісь копійки, а як тільки сіпаються обмежити інших, відразу знаходиться наступний лох який робить «вільний» форк. Хтось бореться з цим за допомогою ліцензії AGPL, яка зобов'язує тебе публікувати вихідний код, якщо ти даєш доступ до цієї програми через інтернет. Великі контори з цим возитися не хочуть, тому такі продукти не крадуть. Хоча ось, наприклад, розробники соціальної мережі трампістів Truth, яка базується на Mastodon, таки [показують](https://news.ycombinator.com/item?id=40028338) код свого форка. Хтось намагається продавати консалтинг та преміум саппорт — що, очевидно, теж не є сталим, тому що все впирається в людино-години які ви можете продати, перетворюючи все на банальний аутсорс. Багато хто робить Open Core — дві версії продукту — звичайну опенсорс під відкритою ліцензією та закриту ентерпрайз, прирікаючи себе на вічний конфлікт фіч між ними. Інші ось приймають непопулярні рішення щодо зміни ліцензій, перетворюючи свої продукти з «open-source» на «source-available». Решта так-сяк тягне лямку свого продукту паралельно з роботою в наймі поки не вигоряє. Нормального виходу з ситуації, здається, немає. Але серед пітьми зубожіння розробників деколи трапляються і промені надії. Кілька тижнів тому FFMpeg випустили нову мажорну версію, і на цій хвилі на HackerNews всі пости з FFMpeg отримують підвищену увагу. Розробник програми CompressX теж запітчив свій проєкт, який є фронтендом до FFMpeg, а коли його запитали «а шо ж ти віддаєш назад» то той [відповів](https://news.ycombinator.com/item?id=39992172) що 10% від прибутку за минулий місяць перерахував у фонд FFMpeg. Цікаво, чи буде він продовжувати це робити, але така практика була б дуже крутою. ### Ретроспектива порад щодо боротьби зі свавіллям ТЦК URL: https://www.rozhkov.me/preparing-for-war-retro/ Last updated: 2024-03-18T16:09:29.000Z Від одного з донатерів на антену отримав питання: «*Напишіть, будь ласка, пост про свою службу (те що не секретно), посаду, задачі, чи хватає фізухи, поради самому собі до мобілізації, про побут, чи є вільний час*». 🤝Дякую за донат, це пост для тебе! ![](https://www.rozhkov.me/content/images/2024/03/photo_2024-03-17_12-33-59.jpg) ### Про службу, посаду, задачі Не можу нічого написати, причини [стисло виклав раніше](https://www.rozhkov.me/daily/military-blogging-fail/). Розумію що це звучить як притча про [дракона в гаражі](https://rationalwiki.org/wiki/The%5FDragon%5Fin%5FMy%5FGarage), і мені прикро, але вдіяти ніц не можу. ### Чи хватає фізухи Так. Я місяць витратив на щоденні тренування — підтягування, відтискання, присідання і це однозначно мені допомогло не ригати потім. А по бігу так я взагалі виявився в п'ятірці лідерів. Ті підрозділи які набирають до себе напряму (3ОШБр, Азов, інші), зазвичай вказують який фізичний тест треба пройти, ви можете на нього орієнтуватись. Але зрештою, вирішує не стільки сила, скільки витривалість та воля. ‼️Я був свідком як багато людей травмувались через неправильну техніку або переоцінку власних сил. Повірте, краще здатися та зійти з дистанції ніж порвати зв'язки або пошкодити коліна‼️ 👟Навчіться правильно бігати та купіть спеціальне взуття для бігу. ### Поради самому собі до мобілізації 🤡Ретроспективно, я став жертвою [sunk cost fallacy](https://en.wikipedia.org/wiki/Sunk%5Fcost), змарнував дуже багато зусиль та часу. Порада самому собі — якщо бачиш що карта не йде, то нема шо сидіти за столом, встав і пішов, хоч би скільки ти грошей вже там залишив. 🤥Друга порада — не вірити обіцянкам людей. Нікому нема до тебе діла, навіть якщо раціонально здається що це win-win для всіх. 🪖Третя — не витрачати багато на дорогу снарягу. Гроші з останньої зп закінчуються дуже швидко, а я хоч і не шикував, але таки примудрився купити оверпрайснутих та зайвих речей. 🤑Четверта — не смітити грішми. Ситуація — в машину треба долити мастило, автослужба не дає, а треба їхати. Як людина що звикла вирішувати все грошима, я йду й купую те мастило, шо там тих 300 гривень. Так не треба робити. Доповідаєш нагору «командир, треба гроші на мастило, інакше не можемо поїхати», зняв з себе відповідальність, все. Ніби тих 300 грн то небагато, але то небагато коли ти маєш свої айтішні 5k$, а коли нічого ще не маєш то гаманець швидко тане. ### З того що я писав раніше і що актуально досі 🚙Найперше найголовніше та найбазовіше це [отримати водійське посвідчення](https://www.rozhkov.me/how-to-get-driver-license-school-and-theory/) обов'язково на механіку. Ця навичка мені знадобилась найбільше зі всього спектру. Буквально. Це підвищує вашу корисність, мобільність, дає можливість легально проєбатися та вирвати собі трохи свободи. Про решту я писав у невеликому циклі: 🔹[Практичні рекомендації щодо боротьби зі свавіллям ТЦК](https://www.rozhkov.me/preparing-for-war-babybox/) 🔹[Практичні рекомендації щодо боротьби зі свавіллям ТЦК: працюємо проактивно](https://www.rozhkov.me/preparing-for-war-proactive/) 🔹[Практичні рекомендації щодо боротьби зі свавіллям ТЦК: загальні поради](https://www.rozhkov.me/preparing-for-war-general-advice/) Все це актуально. Але водіння то найперше. ### Про побут Якщо ви жили в гуртожитку, то проблем не буде ніяких. Якщо не жили й не знаєте що таке відсутність особистого простору, то напевне буде складно. Хто шарить туристичні походи, той взагалі буде на коні. ### Чи є вільний час Раніше не було, зараз є, незабаром напевне знову не буде, загалом думаю можна буде сказати що вільного часу достатньо. ### На цьому все Вже досить багато айтівців мобілізувалося і на ДОУ є купа матеріалів про учєбку та службу, також з'явилося ще декілька підрозділів які набирають до себе, вивчайте, готуйтесь, вривайтесь! ### Прочитав «Фундація»/«Foundation» URL: https://www.rozhkov.me/asimov-foundation/ Last updated: 2024-02-16T19:09:52.000Z Хотів оце подивитись якесь sci-fi кіно, а дивитися нічого. Колективний розум сходиться на тому, що sci-fi фільми вже не роблять, натомість роблять серіали. Я хоч і не дивлюся серіали (ті що я дивився можна перелічити на пальцях руки), але тут вирішив ну ок гляньмо, що зараз пропонують. Вибір впав на серіал «Foundation» від Apple. Подивився кілька серій, дай думаю книжку почитаю, адже вона була у мене в домашній бібліотеці, батько купив повну збірку Азімова ще не початку дев'яностих. Але я тоді читав тільки про роботів, а про Фундацію не читав. Не знаю чому. Вирішив надолужати. Перші кілька книг це радше серія новел об'єднаних загальною ідеєю. Герої змінюються, декорації теж, незмінний лише загальний сетінг. Отож, у майбутньому вчений застосовує матан до поведінки великих людських мас та винаходить «психоісторію» — спосіб передбачити рух цих самих мас. Далі заганяє в комплюхтор наявні дані й комплюхтор видає результат — Галактична Імперія, найбільше суспільно-політичне утворення в Галактиці, незабаром розвалиться і настануть темні часи, війни, занепад технологій, та ролбек до примітивних суспільств. Тоді той вчений робить План, який все пофіксить. Всі книги присвячені подіям які відбуваються протягом \~тисячі років, а герої — лише сліпі інструменти в руках абстрактного Плану. Власне на картинці нижче абсолютно точно передана суть всієї епопеї. ![](https://www.rozhkov.me/content/images/2024/02/image-2.png) Дуже цікаво ретроспективно читати стару фантастику. Герої двадцятитисячолітньої Імперії курять сигари та п'ють віскарь, жінок на головних ролях немає, а розвиток технологій химерний та непорівнянний — разом зі штучним інтелектом та турбо комп'ютерами людство використовує діафільми та книги з газетами. Автор розглядає різні моделі суспільств — тоталітарну імперію (шляпа), напівдемократичну технологічну спільноту торгівців (теж шляпа) та врешті приходить до висновку що сталий розвиток та існування людства може бути забезпечений лише одним способом, а яким — я не буду спойлерити. Книжки цікаві та короткі. До прочитання рекомендую. Серіал дуже поверхнево заснований на книзі — сценаристи взяли імена героїв та частково основну ідею, а далі традиційно змінили всім стать, колір шкіри, орієнтацію, та додали тонни персональної драми, якої у книгах було мінімум. Але мені сподобалося, тож якщо ви ще не дивилися, то подивіться, бо голівуд не готовий вкладати бабки у хороший sci-fi блокбастер. P.S.: на жаль, в українському перекладі немає двох приквелів, тому я їх не прочитав, та обмежився лише оригінальною трилогією та двома сиквелами. ### Go та дзен одного бінарника URL: https://www.rozhkov.me/go-and-single-binary-zen/ Last updated: 2024-02-14T07:24:00.000Z Go звичайно процідурна шляпа, але таки має одну суттєву перевагу якої бракує решті — проєкт компілиться в один бінарник. Коли звик що будь-який додаток тягне за собою якщо не сорці, то купу якихось бібліотек, файлів і т.д., то один-єдиний бінарний виглядає як артефакт з майбутнього (або минулого, як подивитися). Здоровенний проєкт поміщається в один файл. Тераформ, номад з консулом, пубернетис, you name it. Звісно якщо проєкт великий, то і бінарник буде чималий. Але здається, люди недооцінюють простоту дистрибуції. Половині доводиться тягнути за собою системно-незалежний рантайм, іншій половині треба придумувати якісь хаки й милиці, щоб обійти обмеження системного рантайму, третя половина тягне за собою якісь бібліотеки або вимагає ставити `libzalupa-dev` строго визначеної версії, і лише Go яскраво дає всім посмоктати прутня зі своїм єдиним блобом. Вчора шукав альтернативи системному крону і натрапив на популярне рішення написане на пітоні. Звісно в першому рядку how to install автор пропонує нам щось робити за допомогою `virualenv`🥴🤮. Дякую, не треба, я тільки того тижня вичистив 20 гігабайтів пітонячих віртуаленвів зі старих проєктів. Такий підхід в ультимативній формі вироджується Docker, але у нього є проблеми з монтуванням файлових систем та мережі. За стільки часу людство так і не спромоглося зробити нормальну систему управління залежностями та дистрибуції, що може багато сказати про нашу індустрію. На тому все, висновок такий — пакуйте все в один бінарник без залежностей, і буде вашим юзерам щастя. ### Обісрався з кроном URL: https://www.rozhkov.me/shity-cron/ Last updated: 2024-02-13T14:47:14.000Z Час розваг! Місяць тому я рефакторив [@Donate1024Bot](https://t.me/Donate1024Bot), щоб [прибрати node.js та npm з білдчейну](https://www.rozhkov.me/clown-programming/). Через кілька днів помітив що кнопки на інтерфейсі попердолило. З'ясувалося що кудись дівся CSS який відповідав за теми, і замість того щоб зафорсити світлу тему, воно вмикало системну, відповідно частину UI пердолило, бо вона не була заточна під темну. Замість того щоб розібратися, я накопіпастив css-варіаблів світлої теми в дефінішн темної. Ну типу ``` @media (prefers-color-scheme: dark) { :root { color-scheme: light; ``` Класно придумав, правда? Зробив так і забив. На вихідних трохи мав часу, щоб нарешті замерджити фічу для сайту: [список волонтерів](https://donate1024.org/volunteers), який зробила моя колега [Олекса Лелека](https://t.me/bureviy%5Fchannel). Коли вже засів за мердж, давай думаю оновлю бібліотеку [DaisyUI](https://daisyui.com/). Cкачав новий css, поклав у папку `vendor`, запустив, подивився, ніби майже нічого не зламалося. Посипалась пара елементів, але Олекса люб'язно підфіксила те що відпало та й по тому. Далі пішов в адмінку, дивлюся, а там інпути не такі як мають бути. В DaisyUI вони з закругленими бордерами, а у мене — з прямокутними🤔 Знову прошу Олексу подивитися, каже що там чомусь не відпрацьовує потрібний CSS. ![](https://www.rozhkov.me/content/images/2024/02/image-1.png) Починаю підозрювати, що ідея викинути ноду та збирати все тайлвіндівським бінарником не дуже спрацювала, бо є якісь бока. Деякий час дебажимо, але не знаходимо проблеми. Думаю що проблема таки точно у збірці, тому що DaisyUI підключається як Tailwind плагін, а якщо брати чисто CSS, то воно там може щось пропустити. Тому наступного дня вирішую що треба вертати все взад. Збирати CSS не бінарником, а через ноду. Насправді я й раніше збирав бінарником, але сам css тягнув через npm. Тому то було не зовсім «вернути взад», швидше, «зробити по-іншому». Сів, `gem install cssbundling-rails`, туди сюди, піф паф, `yarn install`, `yarn build:css`, там підфіксив, рефрешу — опа! Всі стилі стали як треба, а CSS скоротився в 19 разів. Походу все-таки або я той бінарник не так сконфігурив, або там щось не так. Ну я такий задоволений ура ура, стилі на місці, все красиво. Давай тепер то в докер імедж запхати, а ви знаєте, не так просто зібрати докупи Ruby та Node. Короче я ставлю `dockerfile-rails`, генерую `Dockerfile` де розумні люди за мене подумали як все так поставити, щоб не за всі гроші світу. Зібрав поставив запустив, все працює! Нюанс тільки в тому, що в новому імеджі `debian` замість `alpine`. Ну, думаю, не проблема. Деплою все туди сюди, запрацювало, сайт дзижчить. Дивлюся логи білда — впало. Нумо розбиратися — виявляється не ~~встає~~ підіймається `crond` який я запускаю окремим контейнером та який відповідає за те, щоб розіслати донаторам щоденний збір, звіт, оновити інфу по монобанках і так далі. Перша проблема, в альпіні бінарник називається `crond`, а у дебіані `cron`. Геніально! Друга — відрізняються ключі. Міняю назву бінарника, міняю ключі... `cron: can't open or create /var/run/crond.pid: Permission denied` Ну звісно, старий імедж в мене запускався з-під рута, а в новому яйцеголові зробили все по-сек'юрному, юзер 1000 і поїхав. А тисячному юзеру ніхто не давав право запускати крон. Сідаю з'ясовувати як то зробити правильно, гуглю, пробую всілякі `cron.allow` і `chmod gu+rw /var/run && chmod gu+s /usr/sbin/cron` звісно ця шляпа не працює. Ніби й помилок нема, але й джоби не запускаються. Крон це знаєте штука яку не так легко продебажити. Логи не пишуться, ні помилки, ні успіху. Не розумію в чому річ. Кронтаб є, самі команди виконуються якщо запускати окремо. Короче годину я з тим і так і так провозився, ніц не допомогло. Думаю ганьба, 2024, а людина не може крон в контейнері запустити. У відчаї йду на fly.io думаю може там вже шось придумали. І [такі да](https://fly.io/docs/app-guides/supercronic/)! Розумні люди плюнули на бінарник 50-и річної давності та зробили drop-in replacement який працює з-під юзера і не вимахується. Називається [Supercronic](https://github.com/aptible/supercronic). В інструкції вже готовий набір для докерфайла, бери й запускай. Зкопіпастив, задеплоїв, вуаля! Все працює. І логи і пише і їсти не просить. Fin. ### Прочитав «Убік»/«Ubik» та «Чи мріють андроїди про електричних овець?»/«Do Androids Dream of Electric Sheep?» URL: https://www.rozhkov.me/ubik-review/ Last updated: 2024-02-09T07:24:00.000Z Втомився від селф-хелпу та бізнес літератури, та вирішив надолужати лауреатів премій хуго, неб'юла. ### «Убік» Дуже дивно читати книги, ідеї з яких ти вже бачив у багатьох фільмах. Виявляється що матрицю та inception придумали ще у 60-і роки, а ми, замість першоджерела, дізнаємося це з химерних та блідих адаптацій. Книжка починається як бадьорий кіберпанк, але досить швидко трансформується в абсолютно психоделічне оповідання з примарною межею між реальністю та галюцинаціями. Спойлерити не буду, якщо вам сподобався Inception, то прочитайте й це, тим більше що вона досить коротка. ### «Чи мріють андроїди про електричних овець?» Як поцінювач кіберпанку та блейд ранерів маю з соромом зізнатися що до книги добрався тільки зараз. Традиційно, фільми мають лише поверхневий стосунок до книг. Надзвичайно депресивне оповідання, після якого хочеться ~~кинути петлю на шию~~ лежати й нічого не робити як райан гослінг в кінці другого фільму. Маю чутливість до смертей тварин, а тут їх достатньо щоб зіпсути настрій на цілий день. У фільмах абсолютно не згадується релігійний аспект та програмування емоцій, яким тут надано багато значення. Я тему не викупив. У мене взагалі трохи туго з розумінням глибинних сенсів, тому порожня пригодницька бойова фантастика мені заходить добре, а складні психологічні трилери та драми у фантастичних сетінгах — недуже. Втім, до прочитання рекомендовано. ### РТФ URL: https://www.rozhkov.me/rtf/ Last updated: 2024-02-08T07:24:00.000Z У часи коли я вчився, мені було невідомо, чим займатимуться майбутні випускники інших факультетів. Здавалось, що тоді на радіотехнічний, авіаційний, приладобудівний, машинобудівний, зварювальний та інші, йшли ті, кому не вистачило балів, щоб потрапити на ФІОТ, прикладну математику, або ІПСА *(не плутати з ІПСО)*. Здавалось, що випускники інших факультетів не знайдуть роботу у країні де немає виробництва, або займуть свої мікроніші, працюючи у трійці великих провайдерів зв'язку та на кількох атомних станціях за смішні гроші. Програмізм здавався мені безальтернативним квитком у щасливе безбарвне майбутнє. Я був абсолютно впевнений що ІТ буде тільки зростати, і нас ніколи не чіпатиме криза, тому що software ate the world, а решта — невдахи приречені рано чи пізно свічнутися в ІТ. Аж ось, *раптово*, з'ясовується, що вся ця братія, яку вчили старенькі професори у лекторіях де протікає дах, дуже і дуже навіть потрібна. Раптово з'ясовується що порахувати антену це ніфіга собі який потрібний скіл, раптово з'ясовується, що знання як працює радіо дуже потрібне, раптово з'ясовується що треба люди які шарять у станках та виробництві, раптово з'ясовується що енергетики стають життєво важливими, раптово з'ясовується що нам треба терміново робити свої шахеди. Де ці всі люди, навчені за держваний кошт? Чи зайняті вони у реальному секторі, чи вже давно вивчили джаваскріпт та пішли у комфортні офіси пити лавандовий раф? P.S.: до речі я вчився на конструктора комп'ютерів. Але замість піти працювати в Інтел або АМД, я теж нюхнув ентерпрайзної бебри й навіки залишився кодером, все як передбачав один з наших старих професорів. ### Термобілизна URL: https://www.rozhkov.me/daily/layered-clothing/ Last updated: 2024-02-07T13:01:22.000Z Концепція [багатошарового одягу](https://en.wikipedia.org/wiki/Extended%5FCold%5FWeather%5FClothing%5FSystem), яким ти комплектуєшся під задачу звичайно дуже крута. Модульність, перевикористання і все таке. Але бляха як же напряжно одягати на себе мільйон тих шарів. На мій зріст немає нормального першого левелу, бо я худий, а воно має щільно облягати. Або рукава короткі, або тіло зашироке — обирай одне. Я обираю короткі рукави, і це додає незручностей. Добре що 2 та 3 є. Перший шар натягни, зверху другий, потім третій, потім сьомий, бо в мене немає проміжних, потім ще зверху комбез, щоб вберегти сьомий від пошкоджень, на голову балаклаву, на шию баф, на тушку рпс та бронік, на голову шолом. Ходиш як капуста, бігме. ![](https://www.rozhkov.me/content/images/2024/02/image.png) Треба роздягтися починаєш то все з себе скидати. 🥵 Харить. P.S.: купив ультра зимові Lowa Tibet, бо в грудні намерзся у літніх ловах, думав буду на холодах стояти, тепер ноги пріють при 1-5°С як зараз (ノಠ益ಠ)ノ彡┻━┻ ### Офіс простих рішень URL: https://www.rozhkov.me/simple-solutions/ Last updated: 2024-02-06T09:02:22.000Z Прокляття програміста — всюди бачити неефективність та мати ідеї та «прості» рішення щодо виправлення цих прикрих помилок реальності. Головне — тримати свої «рішення» при собі, поки не з'ясуєш усі вхідні дані. Бо може трапитися так що те, що тобі здається тривіальним процесом, насправді є лише вершиною айсберга, а пропозиція викличе лише сміх. Dan Luu чудово описав це в статті [«](https://danluu.com/cocktail-ideas/)[Cocktail party ideas](https://danluu.com/cocktail-ideas/)» — коли купка програмістів збирається, та починає придумувати як вирішити неефективність світу, хоча насправді вони не усвідомлюють масштаб та складність проблем. Багато думаю про неефективність у війську, але зрештою розумію що простих рішень немає. Система складається з такої кількості компонент, мотивація яких часто суперечить одна одній, що складно робити будь-що, а інновації та покращення стикаються з неймовірною інертністю. Коли я працював у великому ентерпрайзі, то в нас був ІТ відділ, який займався тим що видавав на проєкти сервери та інші ресурси. І от мені треба було ті самі сервери, але щоб отримати їх треба було створювати заявки які апрувились великим начальством. Мені для роботи конче були потрібні ресурси, але в ІТ була інша мотивація. Вони не отримували гроші або премії за те що видавали ресурси. Вони стояли на сторожі витрат компанії. Їх ідеальний стан — це коли взагалі нікому нічого не видано, а кожна заявка — це маленька битва, в якій треба було довести що кандидат достойний. Зрозуміло що власники фірми зробили це умисне, бо інакше споживання могло б бути недоцільним, та перевищувати реальні потреби. Але щоразу коли створюється така структура, то вона стає «вахтером», задачею якого вже не є забезпечення комфорту відвідувачів, а утримання власної посади. Будь-хто, хто працював у великих організаціях стикався з проявами цього і спостерігав таку дисфункцію та виродження. Тому умовний генерал не може просто так змінити всі процеси та підвищити ефективність. Це неможливо за збереження комплексу системи. Один зі способів змін — створити маленьку структуру за своїми правилами, та будувати інтеграції, що абстрагуватимуть її учасників від великої материнської структури. Стартап, досвід якого потім можна буде масштабувати. Здається що саме це зараз відбувається з 3 ОШБр. Невеликий підрозділ, який довів свою ефективність, отримав ресурси для масштабування та екстраполює свій досвід на інших. Інновації та покращення рідко приходять зверху. Можна керувати всім в ручному режимі, але це буде зустрічати опір та італійські страйки з низів, зводячи все нанівець. Тому в мене небагато очікувань від верхівки. Чи буде вона така, чи інша — без звитяжних людей, які здатні ефективно діяти, та мають волю до змін з низів, нічого не буде. ### Від 0 до 1 URL: https://www.rozhkov.me/zero-to-one-impotence/ Last updated: 2024-02-06T09:05:10.000Z Чим далі в ліс, тим менше залишається low hanging fruit — інновацій, які легко зробити. Невпинний технологічний розвиток залишає дедалі менше і менше простору для винаходів, відтак, більшості доводиться проходити не цікавий шлях від 0 до 1, а нудний та передбачуваний від 1 до ∞. В мене з тим проблема. Коли усвідомлюєш, що задачу вже хтось робить, пропадає мотивація займатися нею. Наприклад, зараз багато команд намагаються застосувати AI/ML для донаведення дронів. В мене теж є трохи знань OpenCV та відповідних технологій, але усвідомлюючи, що тим вже хтось займається, не хочеться витрачати на то час. Ну типу точно є люди які сидять фуллтайм і щось там колупають, а що можу зробити я, коли в мене небагато вільного часу та ресурсів? З багато чим іншим теж так само. Все на світі уже придумано, якщо достатньо глибоко копнути. Або займайся мікропокращенням вже наявного, або компілюй та синтезуй. Це оманлива та небезпечна думка. Бо якщо так мислити, то можна просто сісти й нічого не робити. Але коли так будуть думати всі, то прогрес зупиниться. Десь рік назад мав елементарну ідею — допиляти аналізатор радіоспектра, щоб він видавав алерти при наближенні джерел випромінювання на визначених частотах. Детектор дронів. Я навіть сконтактував з людиною, яка мала напрацювання. Забив, бо мав оплачувану роботу, та й подумав що напевне вже точно хтось таке робить. І дійсно робили! [Drone Spices](https://drone-spices.com/) поставили на потік виготовлення таких детекторів, які зараз відомі як «Цукорки» ще влітку, але щоб його купити я стояв в черзі 2 місяці! Зараз там щось має покращитись, але уявіть — минув вже рік! Якби я не кинув той задум, то вже б точно мав схожий прилад.. Війна дає практично необмежений ринок, та створює постійний дефіцит технологічних засобів. Спробуйте замовити дрони, РЕБ, детектори — на все потрібно чекати, й не один тиждень. Зрозуміло що якщо ви свідомий громадянин, то робити надприбутки на цьому не вийде, максимум покрити зарплати людям, але все ж. Не забивайте на свої ідеї, навіть якщо здається що таке вже точно зробили. ### Чмобіки у светрах URL: https://www.rozhkov.me/high-tech-chmobiks/ Last updated: 2024-01-22T07:24:00.000Z Оце підписався на канал «розвідка ворога» де публікують матеріали з ворожих пабліків, і зажурився. Ще у 2014 я зрозумів, що технічна вища освіта не робить людину адекватною та розумною. Тоді один з розробників-росіян контори в якій я працював випустив апдейт внутрішньої тулзи куди додав колорадську стрічку та в реліз ноутсах написав «у той час, коли фашизм знову піднімає голову...». На початку великої війни крінжанув з одного відомого CTO, теж росіянина, який на той час був резидентом Естонії й написав щось типу «це геополітичні шахи, це все нато та америка винуваті», ну далі ви зрозуміли. А зажурився я тому, що в москалів, виявляється, дуже багато недурних людей, які готові вкладатися ресурсом та головою у їх ВПК. Виявляється, що оте все снобське шобло у светрах, яке сиділо та бризчало слиною у коментарях на хабрі, тепер зібрало раму, та мутить якісь проєкти, щоб допомогти своїм військовим поставити «зарвавшихся х@хлов» на місце. Хоч росія як держава і не спромоглась реалізувати таланти своїх людей, але ті самі люди впрягаються, і це сильно нам шкодить. Попри загальний занепад, інженерна школа в росії така-сяка є, люди там розумні є, і ось вже вони якось намагаються закрити діри у зв'язку китайськими цифровими станціями, роблять РЕБи, аналізатори, збирають картонні та текстолітові дрони. Зробили навіть симулятор FPV-камікадзе, щоб краще тренувати своїх пілотів. Так, це ті самі «братушки» з якими я не так давно працював в одній конторі, і тепер вони свідомо спрямовують зусилля, щоб вбивати нас. Ніхто їх не жене в шарашки, вони самі йдуть, і їх багато. ![](https://www.rozhkov.me/content/images/2024/01/photo_2023-12-15_19-41-42.jpg) Шкода що так, але в нас варіантів нема. Маємо вистояти. ### frozen_string_literal: 🤡 URL: https://www.rozhkov.me/clown-programming/ Last updated: 2024-01-11T07:24:00.000Z Знадобилося тут попрограмувати трохи (поганий той штурмовик що забув як програмувати), поки прокрастинував та думав як краще організувати новий проєкт, дай думаю оновлю старий. ### Ласкаво просимо до проклятого світу веброзробки! Зробив `bundle update`, запустив локально, прогнав тести, „на моїй машині працює!”, пушу в репозиторій, build failed. Причому failed на тих самих тестах. WTF, в мене ж все працювало! Іду розбиратися, виявляється що в релізі Rails 7.1 команду `rake assets:precompile`, яка збирає фронтедерські діла (css, js, ассети й тд) включили до команди `rails test` яка запускає тести. Ну типу раз ми вже тести женемо давайте фронтенд зберемо, а то мало що там може бути. А команда не пройшла на CI, тому що там не було css-файлів які брались з node\_modules, які я там не інсталив в тестах, бо воно не треба було. Взагалі мені JS не потрібен, а `node_modules` є, щоб мати на диску [Daisy UI](https://daisyui.com/), який Rails мені люб'язно пакує в проєктний CSS бандл. Щоб не додавати ноду разом зі всім барахлом в тестовий імедж я вирішую піти шляхом, який треба було обрати з самого початку — завендорити той CSS. Добре що в гітхаб тікеті дворічної давності для бібліотеки `tailwindcss-rails` вже [є рішення](https://github.com/rails/tailwindcss-rails/issues/169) для конкретного CSS фреймворку і там є навіть мій комент. Приємно знаходити відповіді на свої питання, але ще приємніше бачити що ти взяв участь в обговоренні. Качаю CSS, тестую — все працює. Бандл правда збільшився на скількись кілобайт, причина того мені невідома, десь `@import` не так написав чи що, вже вирішив не гаяти на те час. Проєкт оновився, ура, все працює. Час переходити до наступного. Ставлю новий, а тут вже ж Різдво було, а що у нас на Різдво? А на Різдво у нас завжди виходить мінорний реліз Ruby, цього разу це 3.3.0. Ставлю його, ініціалізую проєкт, туди-сюди, хочу запустити Rails Console, щоб відразу в репл і програміровать, запускаю, пишу там гелоу ворлд, а мені зась! Ніц немає, відповіді нема, репл пустий. WTF, думаю може мене «чехи» з JetBrains надурили вчергове і я там не прописав якийсь дурнуватий параметр, йду перевіряти та нє, ніби все ок. Пробую інший проєкт — працює. Пробую новий — не працює. Згадую що колись мав таку проблему, але забув як вирішив. Чищу кеші, вмикаю-вимикаю комплюхтор, перестворюю конфігурацію. Не допомагає. Йду на багтрекер JetBrains і звичайно ж знаходжу там багу, виявляється в Rails Console який запускається з IntelliJ не працює в Ruby 3.3.0, девелопери розбираються. Ок думаю, з терміналу попрацюю, хоч це і не зручно, там все ок. Роблю новий і клас — що за чудеса! — першим рядком в згенерованому файлі йде `frozen_string_literal: true`. А це ще що таке? Чому раніше не було? Ах, це якась оптимізація, типу щоб не казати кожному рядку що він імутабельний, ми це робимо на рівні всього файлу. Колись Matz (автор Ruby) хотів зробити всі рядки за замовчуванням іммутабельними, але потім передумав. А тепер розробники IntelliJ чомусь вирішили що треба цей комент додавати. Ну типу, а чому б і не викусити пару мікросекунд на виділенні пам'яті та не зекономити пару байт на перевикористаних рядках? Я згадав про геніальне `# -*- coding: utf-8 -*-` в другому пітоні. І подумав: шо за фігня, чому машини самі не можуть роздуплитися коли їм треба той рядок реюзати, а коли не треба, щзх, чому у 2024 у мене кожен файл має бути засраний архаїчними конструкціями двадцятирічної давності які ще й користі принесуть близько нуля! Видалив той коментар гарбедж колектору на зло. Ви кажете прогрес технологічний, але подивіться, мені досі треба знати про існування гарбедж колектору та якихось магічних коментів які полегшують йому (а не мені!!!) життя! Короче шляпа повна наше програмування. ![](https://www.rozhkov.me/content/images/2024/01/image.png) ### Монобанки як спосіб організації бюджету URL: https://www.rozhkov.me/organize-your-budget-with-monojars/ Last updated: 2024-01-10T13:51:53.000Z Надзвичайно здивований тим, що за 2 роки жоден з банків не додумався або не спромігся повторити функцію Монобанок. *Можливо я не правий, виправте, будь ласка, мене в коментарях.* І справа не тільки в супер зручному інструменті для донатів. Дуже зручно використовувати монобанки для планування власного бюджету. Наприклад, визначити ціль на якусь покупку. Зафіксувати борг. Запланувати щомісячні витрати на будь-яку категорію, книжки або розваги. З кожного збору, який я проводжу, зазвичай залишається трішки грошей. Замість того, щоб трекати, скільки цих грошей є в екселі, я просто скидую їх на нові банки. *Стара банка розбивається, щоб позначити що ціль збору досягнена, а кошти спрямовані куди потрібно.* Також гроші на банці «ізольовані» від основного рахунку, яким я користуюсь, тому я не зможу випадково їх витратити. Ось, в мене залишилися кошти зі [збору на ретранслятор](https://donate1024.org/posts/1868) і сьогодні я оплатив ними ремонт старлінка та доставку НП. Наскільки розумію, монобанка це абстракція над рахунком/карткою, тому відкриваючи нову банку ми фактично відкриваємо новий рахунок що, ймовірно, тягне за собою деяку кількість операційного навантаження, тому, можливо, інші банки не поспішають це робити. А від простої функції «додатковий рахунок» до «система керування бюджетом» лише один крок, проте чомусь ніхто не зацікавлений у тому, щоб зайняти цю нішу. Воно й не дивно — у банківському середовищі керують не стартапери-продуктовики, а зашкарублі інертні фінансисти. Поза тим, навіть просто пропускати через себе величезний обсяг донатів, теж, здається було б вигідно для банків. Чому ж вони цього не роблять? ### Impossibru security URL: https://www.rozhkov.me/impossibru-security/ Last updated: 2024-01-09T10:46:24.000Z Близько року тому я хотів поділитися з читачами деякими подробицями щодо збірки перевіреного-робочого, «bind-and-fly» набору FPV польотів. Але порадився з товаришем та вирішив цього не робити, щоб не допомагати ворогам. Зараз, коли ми вже втратили ініціативу в FPV, такими відео завалений і наший і російський ютуби, тепер «секретна» інфа це автонаведення дронів, хитрі частоти, ппрч та інше. Поза тим, проблема розповсюдження корисної інформації залишається. Багато команд працюють над різними цікавинками, але ніхто нічим не ділиться, бо, по-перше, не знає що від цього може бути користь, по-друге, не знає як це зробити безпечно. Відомий радіоінженер Сергій Флеш теж зіткнувся з цією задачею і теж не знає як її грамотно вирішити. Якщо в ті роки, коли ксерокс в СРСР був пристроєм який вимагав спеціального доступу, обмеження доступу до чутливої інформації було відносно простим ділом, то зараз убезпечитися практично неможливо. Відповідно всі матеріали, які публікувалися Флешем у його «закритих» групах вже стали надбанням ворога, а ворожі матеріали — зливають нам. Як зацікавлена сторона я б теж хотів мати якийсь спосіб ділитися та обмінюватися інформацією, але якщо будувати все на особистих контактах та зустрічах, то воно абсолютно не масштабується. Переконаний що галузь оборони від цього сильно страждає, через те що кожній команді доводиться наступати на однакові граблі, але як це вирішити? Є державні системи до яких має доступ обмежене коло людей, але враховуючи що в нас є багато фахівців, як військових, так і цивільних, які не мають можливості туди потрапити, то розвиток гальмується. Схоже що єдиний вихід — швидше впроваджувати нові рішення аніж вони будуть ставати відомими росіянам. Щодуху бігти, аби лише залишатися на місці. ~~Ваші ідеї, секопси та криптани?~~ Ідеями як це вирішити не ділимось, щоб не дізнався ворог. ### Підсумки 2023 😤 URL: https://www.rozhkov.me/2023/ Last updated: 2024-12-30T16:07:51.000Z 🤐Перша половина року пройшла під NDA і друга половина року теж пройшла під NDA, тому поділитися, на жаль, нічим не можу. Відтак від підсумків відразу перейду до подяк. 🫡Дякую збройним силам за те що я та моя родина живі здорові та маємо можливість чілити на свята. 🤗Дякую кожній підписниці та кожному підписнику [@Donate1024Bot](https://t.me/Donate1024Bot). Я не знаю яким дивом, але суми щоденних донатів, хоч і мають тенденцію до зниження, проте тримаються на одному рівні впродовж усього року: близько 30 тисяч гривень. За місяць збираємо мільйон, за рік — понад 12 мільйонів🤩 У 2023 я ще більше розширив коло довірених волонтерів, та диверсифікував збори. 🙏Дякую тобі, читачка, та тобі, читач, за те що підтримуєш мене, збори, та наше військо. Ваша підтримка дуже багато значить. Кожного разу коли я відкриваю збір то непокоюсь та стресую що не вдасться зібрати потрібну суму, але кожного разу ви мене дивуєте, і все вдається. Ви найкращі!❤️ ![](https://www.rozhkov.me/content/images/2023/12/IMG_20231208_145226-1.jpg) 🎄Всіх з Новим Роком! Цього року докладу ще більше зусиль, щоб вигнати російських окупантів з нашої землі👊 ### It Depends URL: https://www.rozhkov.me/it-depends/ Last updated: 2023-12-06T07:24:00.000Z — „Краще працювати в продукті, ніж в аутсорсі” — „Ні, це залежить від того який продукт і який аутсорс, буває цікавий аутсорс” — „Потрібно видавати людям овнершип та контекст, щоб вони самі робили задачі” — „Залежить від того яка робота, на конвеєрі тобі потрібні прості виконавці які не вимахуються” — „Робота має мати сенс та приносити задоволення” — „Залежить від обставин, є ситуації коли просто потрібні гроші” І так далі. На кожне твердження знаходиться кмітливий коментатор який поважно скаже „люди різні, контори різні, ситуації різні, все залежить від купи факторів”. І мати рацію! Але тоді ріжку й писати нічого буде, а на каналі буде один пост: „все залежить від обставин, дійте на власний розсуд” Програмістська натура дуже любить все абстрагувати, виносити спільне з різного, узагальнювати. Але такі рафіновані поради та концепти ні до чого не годяться. Зрозуміло, що все залежить від обставин. Зрозуміло, що є різні люди, різні проєкти. Зрозуміло, що немає срібної кулі та універсальної теорії всього. Зрозуміло що те що підійде мені, не підійде вам, бо кожен — унікальна особистість. Проте без якогось досвіду власних або чужих рішень у конкретних ситуаціях складно сформувати власну теку. Для того я і намагаюсь ділитися конкретними ситуаціями з якими я мав справу і сам люблю читати такі історії. Чим конкретніше, тим краще, тим живіше воно все, а над конкретним кейсом з конкретним рішенням вже можна й подискутувати. Але, як відомо, it depends. ### Армійські методи управління URL: https://www.rozhkov.me/army-management/ Last updated: 2023-12-05T18:56:02.000Z Маю гіпотезу чому в армії все так, як є. Полягає вона в тому, що за замовчуванням командирам потрібно виконувати задачі, використовуючи абсолютно немотивованих та некваліфікованих для цього людей. Всі великі війни ведуться не найманцями які зіставляють ризики та вигоду, а мобілізованими, які не дуже то й хочуть гинути за чергову висоту десь далеко від дому. Так само і строкова служба несеться дітьми, яким то все абсолютно непотрібно та нецікаво. Методи керування людьми які всіляко намагаються уникнути роботи відрізняються від методів керування людьми які навпаки зацікавлені у її виконанні. Відповідно, з таким колективом буде працювати лише насилля. Невиконання наказу — злочин, СЗЧ — злочин, порушення субординації — догана, обговорення наказів заборонено і так далі, все побудовано на покараннях. Це так-сяк працює на великих масштабах, але надзвичайно погано з тією купкою людей, які дійсно мотивовані, хочуть та можуть щось робити. Як завжди, все вже давно придумали та обговорили до мене. В попередньому дописі про [передачу відповідальності](https://www.rozhkov.me/x-y-problem/), в коментарях пан Антон дуже влучно вказав на таку концепцію як [Theory X and Theory Y](https://en.wikipedia.org/wiki/Theory%5FX%5Fand%5FTheory%5FY). Зараз до війська прийшла велика кількість цивільних людей і вони потрапили до керівників з армійським світоглядом, які не готові до того що підлеглий може зробити роботу сам, без застосування насилля. Відповідно багатого кого демотивує саме це, «армійське» ставлення. Коли людина щось хоче, але стикається зі ставленням до себе як до дефолтного мобіка-строковика, то в залежності від сили волі або чинить спротив, або розчаровується. Мене це теж деколи демотивує. Втім, я намагаюсь не давати волю духу занепаду та розглянути ситуацію з боку керівника. Він вже має профдеформацію, не звик працювати з такими як я, не звик цінувати людей що не довели свою спроможність у справі та мають репутацію, має інші клопоти й так далі. ☝️В умовах коли неможливо або складно змінити оточення, доводиться працювати з тим що є. Спокійно реагувати на неприйнятне та токсичне ставлення, намагатися якнайкраще виконати свою задачу та працювати на репутацію, щоб з часом отримати рівень відповідальності, який дозволить мінімізувати токсичний вплив. ### Чергові непотрібні функції телеграму URL: https://www.rozhkov.me/another-set-of-useless-telegram-features/ Last updated: 2023-12-05T18:53:46.000Z **upd: список не відображає канали, на які ви вже підписані, тому в мене не дуже релевантні результати, в інших вони кращі.** Два роки тому телеграм у відчайдушній спробі монетизації запустив «рекламу». Через те що телеграм не збирає геолокацію користувачів то єдине за що він може зачепитися то мова якою ведеться канал. В результаті ми досі спостерігаємо рекламу російських телеграм каналів («московскій бомондъ») під постами українських каналів де автори пишуть російською. Очевидно, ідея провалилась і всі гроші собі забирають біржі реклами та автори, які знають свою аудиторію та можуть зробити набагато кращі інтеграції. По тій рекламі багато чого ще обіцяли, наприклад можливість авторам відключити нативну рекламу, але до реалізації діло не дійшло. Деякий час тому телеграм запустив сторіси. Тоді всі порофлили що у стрічці з'явилися записи від всіляких майстрів та рандомних людей, які колись потрапили в контакти. Так, у мене більшість сторісів була від пані-консультантки May Kay з рекламою косметики та «мотиваційних бранчів». Ті ж сторіси випустили й для каналів, але для розблокування треба було, щоб підписники дали «бустів», щось типу бюджету на сторіси. Всі автори кинулися просити аудиторію підбустити їх, але в результаті запостили по одному сторісу та й забили. Продакт менеджеру який придумав цю всю хитру бухгалтерію з бустами треба виписати від'ємну премію. Втім, жоден з каналів які я читаю, не постить сторіси. Може у вас інший досвід? І ось того тижня запустили ще одну функцію — «схожі канали», таким чином реалізуючи діскавері, можливість користувачам побачити нові канали без пошуку. Але, як і всі продуктові задуми телеграму що стосуються будь-чого що не месенджер, реалізація провальна. Список схожих на мій каналів можете побачити на картинці, та самі зробити висновки про здібності телеграмівських програмістів. ![](https://www.rozhkov.me/content/images/2023/12/IMG_20231203_111633_424.jpg) Здається, можна було б взяти каталог з сайту tgstat.com або подивитися які канали посилаються один на одного та скласти більш коректний граф. Можливо в найбільшому сегменті телеграму — російськомовному, це все працює краще, враховуючи також національність розробників. А допоки це чергове нікому не потрібне ускладнення інтерфейсу. P.S.: підписуйтесь на гороховського, лачена, миколаївського ванька, та читайте цікаві історії про ІТ☝️ ### Синергія URL: https://www.rozhkov.me/daily/synergy/ Last updated: 2023-11-30T07:24:00.000Z За кілька тижнів до початку великої війни я брав участь у любительському турнірі по Counter Strike. Так то я посередній гравець, але трохи маю уявлення про саму гру. Серед нас був досвічений хлоп який знав як грати по «тактиках». Найпростіша «тактика» то всім купити димові та світло-шумові гранати, зайняти визначені позиції на мапі, синхронно кинути їх на визначені точки та під дими з флешками зайняти стратегічну локацію, поставити бомбу та утримати її. Більшість ігор на низьких та середніх рівнях проходять без тактик. Всі разом біжимо та намагаємося поцілити у команду суперника швидше ніж вона у нас, ось і все. Якщо ж заморочитися та потренуватися з командою своїх знайомих, або грати на високих рівнях, то відкривається зовсім інший досвід від гри. Ви вже не просто абияк бігаєте, а дієте як команда, в результаті чого результат виходить більшим ніж проста сума складових. Від гри отримуєш новий вид задоволення, коли злагоджені дії приводять до перемоги. З того часу я контр страйк більше рахуйте і не грав, але раптово відчув те саме коли відпрацьовував тактичні вправи з колегами на полігоні. Здається, ну що тут такого — відділення собі йде в шаховому порядку по лісу, подає сигнали жестами, займає оборону, змінює формацію, рухається перекатами («крию-іду») й так далі. Але коли у вас виходить щось путнє, то це приносить задоволення, як ніби вам вдалося виконати складний груповий танцювальний чи спортивний номер. В роботі програміста у мене такого не траплялося, бо робота у мене була максимально індивідуальна та асинхронна. Так, можна сісти з колегою в пару та отримати ледь схожий досвід, але те про що я кажу це не парне, а десятерне програмування. Коли кожен учасник знає свій маневр та вчасно і якісно його виконує. Ad absurdum це північнокорейські ансамблі які люблять влаштовувати [масові шоу](https://www.youtube.com/watch?v=F1%5Ff-%5F3I3r0) отам вже напевне люди в екстазі зливаються в єдиний організм чучхе. Одним словом, тактичні ігри це 10/10, рекомендую😏 ### HFT URL: https://www.rozhkov.me/hft/ Last updated: 2023-11-29T07:24:00.000Z Того тижня натрапив на HackerNews на посилання на [LMAX Disruptor](https://github.com/LMAX-Exchange/disruptor). Це такий типу pub/sub націлений на максимальну швидкодію та розроблений всередині трейдингової платформи. Дізраптор цей зарелізили понад 10 років тому і я пам'ятаю хайп довкола цієї штуки. На жаль, застосувати мені в проєктах, де працював, цю бібліотеку було недоцільно. Отут я й подумав що треба було йти у HFT як був молодий та була можливість. Натомість, я просрав роки жеття на нудний вебдевелопмент на пропрієтарних технологіях. Завжди краще працювати близько до потоків грошей. А гроші це фінтех, трейдинг, крипта (раніше), гемблінг з бетінгом та адалтом, реклама. Цінність для людства та вся двіжуха має дуже сумнівну, але інженерні задачі — ого-го! Боротьба за наносекунди, низькорівневе байтолюбство, масштабування! В перспективі форкнутись від власників та крутити щось своє. Уява відразу малює кадри з кіно Big Short з двома хлопцями які з гаража заробили мільйони. Коротше кажучи, реліз LMAX Disruptor був знаком. Але я його проігнорував, бо жив жеття без мети, та давав іншим керувати ним. І навіть широко відома у вузьких колах [доповідь](https://dou.ua/lenta/articles/11k-req-s/) Діми Думанського про хай перформенс адтех платформу з десятками тисяч req/seq, яку я відвідав в офісі контори що раніше називалась Cogniance, не переконала мене кинути веб і зайнятися нормальними ділами. ☝️Практична порада 👉Follow your passion, йопт. ### Чужий серед своїх, чужий серед чужих URL: https://www.rozhkov.me/stranger-across-the-strangers/ Last updated: 2023-11-28T19:13:39.000Z Більшу частину своєї кар'єри я програмував або керував проєктами написаними на Java. Ще у 2010 я пробував зробити інтернет магазин на платформі Spree і тоді трішки познайомився з Ruby on Rails. Але нагоди використати то не мав ніде, аж поки 2017 року не вирішив зробити на RoR сайт-сервіс для [Кубка Барбосу](https://www.facebook.com/kubokbarbosa/) — виставки безподобних собак. То був перший проєкт з реальними користувачами, і далі я пішов робити на Ruby on Rails вже комерційні проєкти, а на Java з часом практично перестав писати. Трохи раніше того часу я активно почав займатися девопсом та інфраструктурою, розбиратися в клаудах та модних тоді мікросервісах. Згодом вся та діяльність трансформувала мене в справжнього one-man-E-shaped band — я міг зробити фулстек проєкт від початку до кінця, та ще й розгорнути його за всіма бест практісами. Знав та розумів архітектуру не на папірцях та презентаціях, а на ділі, вмів говорити з бізнесом. Все класно, але мені складно було знайти person-market fit, якось вмістити себе в рамки. Java спільноти були мені нецікавими, бо я на практиці побачив наскільки простішою може бути розробка на Rails, а проповідувати людям про те що мікросервіси та анемічні моделі це шляпа, мені здавалось недоречним. DevOps спільноти з моїх спостережень складаються на 90+% з сисадмінів. Я прийшов в девопс з програмістів, і хоч маю скілсет пересічного девопса або сисадміна, в мене зовсім інший майндсет, який не збігається з тіпами у светрах. Там мало кому цікаві хероку з флаями, бо люди крутять кубери та люблять складні, а не прості рішення. Прийти на девопс конфу і заявити що AWS та кубер це шляпа мені теж здається недоречним. Rails спільноти в Україні, здається досить маргінальні. Є RubyConf на якому я жодного разу не був, може існують якісь чати, але мені здається що там не дуже є що обговорювати, бо в Rails є і працює все, там просто ковбасиш проєкт, а не питаєш порад або скаржишся на життя. CTO-шні та архітекторські двіжухи надто відірвані від життя. Ці кабанчики вже давно не пишуть ніякого коду, не мають практики, та по факту менеджери, а не технарі, які через непорозуміння мають букву T в тайтлі й [працюють за копійки](https://www.rozhkov.me/miserable-salaries-of-ukrainian-ctos/). Щоб ви розуміли, моя умовна рольова модель CTO це [DHH](https://twitter.com/dhh), який мало того що досі програмує, так ще й не втомлюється продовжувати розвивати свою філософію. Тому з цими людьми мені ні про що говорити, в них свій вайб що мені нецікавий. До ентрепренерів я не доріс, тусуватися поміж успішних Максів Іщенків та вонабі індіхакерів теж сенсу нема. Треба не балакати, а брати лопату та йти годувать свою сім'ю. FIRE-тема, з якої, я, здається, [колись починав](https://youtu.be/oH5YKPdbvGQ?si=YrVfjst59jpJbPWF), мені нецікава абсолютно, як і всі теми про «декілька фултаймів». Ріжок чат захоплений зрадойобами та токсичними елементами що ганяють одне й те саме по колу. Одним словом, ніде приткнутися. ### Обачність на 1:1 URL: https://www.rozhkov.me/one-on-one-awareness/ Last updated: 2023-11-27T07:24:00.000Z Продовжую тему з [токсичними колегами](https://www.rozhkov.me/toxic-water-cooler-talks/), цього разу говоримо про 1:1. Такі мітинги з безпосереднім керівником вже досить давно стали ±стандартом в індустрії. Зазвичай ні менеджер, ні підлеглий не знають, як правильно використати цей час, і вони перетворюються на формальність, яку до того ж менеджер має звичку переносити й забивати на неї. Менше з тим, 1:1 це асиметричні мітинги. Ваш бос володіє значно більшим обсягом інформації аніж ви, і потрібно це враховувати. Якщо ви чимось незадоволені, і особливо якщо нагостирили лижі геть з того місця, потрібно розважливо доносити це, аби не нашкодити собі. Я зараз не говорю про те що потрібно брехати, або іншим чином поводитись непорядно, зовсім ні. Але потрібно розуміти що контора вам не друг, а партнер, і стосунки ці мають зміщений баланс. Коли ви станете баластом — вас тут же викинуть за борт, і краще не давати зайвих сигналів що щось не так, якщо це не в ваших інтересах. --- Інша річ, це озвучування своїх побажань на таких зустрічах. Добре подумайте над тим, чого ви хочете, щоб не сказати абищо, а потім відмовитися від пропозиції. Наприклад, в мене неодноразово були ситуації, коли робота була нудною, але я не говорив про це, бо знав що не готовий зараз взятися за більш двіжовий проєкт. Мені потрібен був [чіл](https://www.rozhkov.me/when-chill-work-is-good/) та поступове зниження залученості, а не двіж та максимальний енгейжмент. Інша проблема яку я мав то балабольство. Було таке що декілька разів я озвучував речі, які не робив, конкретно — казав що напишу пости в корпоративний блог і забивав на те. Ця активність не була обов'язковою і мені ніц не вартувало просто промовчати, але я, хвалько такий, не втримався. Не будьте як я, не будьте балаболом. Це може пройти непоміченим, і ви не отримаєте ніяких санкцій, але люди запам'ятають що ви не берете відповідальність за свої слова. Повертаюсь до «шукри в грі» — говорите — робіть. Не готові робити або знаєте що не стягнете — не робіть. Часто буває так що є можливості розвитку і якщо ви озвучуєте побажання, а потім відмовляєтесь від пропозиції — то так вам перестануть щось пропонувати. Хочете сеньйорну личку та зп, але не хочете брати менторство над джунами — так і кажіть. Надоїла робота, але не хочете вриватися ~~в третю штурмову~~ двіж — мовчіть. Відповідайте за базар, короче. ☝️Практична порада 👉Якщо 1:1 у вас вже перетворився на безглузду церемонію, то фільтруйте що говорите, щоб не зашкодити собі. Якщо не перетворився — запишіть собі план чим би ви хотіли поділитися і пильнуйте, щоб туди не попало нічого, за що ви готові брати та нести відповідальність. ### Коли ненапряжна робота може бути корисною URL: https://www.rozhkov.me/when-chill-work-is-good/ Last updated: 2023-11-24T07:24:00.000Z Читачки та читачі знають що я людина яка декларує гру на перемогу, а не на процес, та постійний розвиток. На ділі мені не завжди вдавалось цього дотримуватися, але я стараюсь. Одна з речей які мене ніколи не приваблювали це робота на чілових проєктах та умисне уникнення відповідальності (і відповідно зростання). Таких проєктів, де можна почілити, було досить багато. Зараз не знаю як, але підозрюю що вони нікуди не ділися. Саппорт, легасі, кастомер який не пушить, стабільність, всі діла. Я й сам було діло нудьгував, але то тривало недовго. Зараз розумію що для таких проєктів є місце. Тільки місце це диктується не небажанням працювати, а зовнішніми обставинами — найчастіше сімейними, або іншою діяльністю яка займає значну частину вашого життя. Народження дитини, догляд за близькими, участь у спортивних змаганнях або залученість в якесь хобі що вимагає багато часу, *війна* — коли робота ненапряжна, ніхто не пушить, а ви здатні видавати достатній результат, щоб залишатися в строю — це чудовий компромісний варіант. Аби то було тимчасовим і ви повернулись до звичних щурячих перегонів. ☝️Практична порада 👉А не буде поради, зараз не час перебирати проєктами👊 Працюй, донать! ### Токсичні колеги URL: https://www.rozhkov.me/toxic-water-cooler-talks/ Last updated: 2023-11-23T07:24:00.000Z У благословенні офісні часи, коли не було великої війни та коронавірусу, люди значно більше спілкувались наживо. Найбільше звичайно під час обіду/чаювання/кавування на кухні та перекуру у курилці. Американський термін water cooler talk дуже влучний для опису цього явища. На кухні можна було підслухати останні інсайди, розкладки та нахрюки, вклинитися в чужу розмову, або розпочати свою. Я часто користувався цим і розводив непродуктивні та токсичні теревені про те як у нас на проєктах все погано, яка нездала робота, і як мені то все надоїло. З часом ці балачки накопичилися достатньо щоб тригернути звільнення. На наступній роботі я був обачнішим, а далі розпочалась пандемія і майданчика для стендапів в мене більше не було. Між тим, крім мене, токсичні срачі розводили й колеги. Дехто потім переніс це в чати. Ви точно знаєте негативний тип людей які постійно на все скаржаться і яким завжди все не так. Я не був такою людиною, але знаходився недалеко. З часом я трішки порозумнішав і почав ставити питання: якщо все так погано, то чому ти досі тут? Що ти робиш, щоб перестати скиглити? Зміни боса, проєкт, контору, та що завгодно, але зроби хоч щось, а не просто отруюй себе та оточення. Один з моїх життєвих принципів це те що слова не мають розходитися з діями, а шкура має бути в грі. Коли б я мав це за принцип півтора десятка років тому, то не затримувався б на кухні, деморалізуючи моїх молодших колег, а спрямував би цю енергію на те, щоб вибити собі проєкт цікавіше або знайти нову роботу. Натомість моїм вибором були дегенератські розмови про те як все погано. Час змарновано, висновки не зроблені. Часи зараз вже не ті, токсики не мають звичної трибуни й можуть поскаржитися на життя хіба що в пабі. Коли я чую такі розмови то намагаюся від них дистанціюватися. Годі й питати людину, що вона зробила, щоб виправити ситуацію. Такі балачки непродуктивні, ні до чого не приводять. ☝️Практична порада 👉Помітив що скаржишся комусь на свою роботу? Змінюй її або перестань себе труїти👊 P.S.: то все також переноситься на інші сфери: сім'ю, державу, світ. Пропоную скаржитися на це своєму психотерапевту, а з друзями проводити час весело та продуктивно. P.P.S.: впізнали себе? Ставте 💩 в реакцію👇 ### X Y problem URL: https://www.rozhkov.me/x-y-problem/ Last updated: 2023-11-22T07:24:00.000Z Один з методів мотивації людей, якому навчають майбутніх керівників це давати підлеглим відповідальність за рішення щодо виконання задачі. Одразу наведу приклад. Ситуація 1: приходить техлід каже — «зроби контролер `SessionsController` з трьома методами: `GET /login`, `POST /login`, `DELETE /signout`». Ситуація 2: техлід каже — «нам треба, щоб користувачі мали персоналізовані сторінки на сайті, гадаю що треба робити авторизацію, що скажеш?». У першому випадку у вас не так багато свободи в рішеннях, вам вже фактично його дали, залишилося тільки ~~передати то в чатгпт та скопіпастити результат~~ закодити. Простору для обговорення дуже мало — ось вам і ендпоїнти, ось вам і контролер. Неясно чи воно взагалі потрібне. В другому випадку ви ~~йдете до чатгпт та просите, щоб той зробив авторизацію~~ самі думаєте що там мають бути за контролери, чи мають вони бути взагалі, як його правильно спроєктувати. Ви маєте трішки бізнес контексту зверху, так, користувачі, сторінки, акаунти, а це точно потрібно? Може відразу OAuth2? А може якось без логіну можна обійтися🤔 В першому випадку ви просто сліпий виконавець який робить що сказали. В другому ви вже дотичні до відповідальності за рішення та можете думати наперед про наслідки, які воно матиме в майбутньому. Навіть якщо варіантів зробити що просять небагато, або взагалі один, все одно підтримується ілюзія ніби ви щось вирішуєте. Це дозволяє не втрачати мотивацію від фактично усвідомлення свого рабського існування та виторгувати принаймні трішки уявної свободи. Розумний керівник буде користуватися цією маніпуляцією та застосовувати її навіть там де вибору немає, а шлях очевидний. Нерозумний керівник буде займатися мікроменеджментом, давати рішення, а не задачі, та не пояснювати логіки того що відбувається. Прямі вказівки на рішення мене люто тригерять, бо обмежують свободу та розбивають ілюзію незалежного прийняття рішень. Я розумію чому так може відбуватися, але то не допомагає від підгоряння. *Я розумний та відповідальний, дайте мені задачу і я її зроблю, а ще краще і задач не давайте, а дайте зону відповідальності, а я собі сам придумаю які задачі потрібно зробити, щоб все було як має бути.* Дайте мені [овнершип](https://www.rozhkov.me/ownership/)! «Ріжок, ти йобу дав», скажете ви, «які ілюзії, який овнершип, копай що сказали, бери менше відповідальності за більше грошей, працюй на двох роботах на мінімумі продуктивності, щоб не вигнали, та живи жеття у вільний час!» І будете по-своєму праві. Хтось так може жити, але не я. Мені треба знаходити сенс в діяльності на яку витрачаю третину життя, інакше здурію. Якщо я не спромігся зробити свій двіж та стати сам собі босом то треба хоч якось пояснювати собі чому працюю на когось. ☝️Практична порада 👉Якщо ви бос — зверніть увагу як роздаєте задачі підлеглим. Чи даєте їм достатньо відповідальності? Ясно що не всі до цього готові, наприклад джунам треба давати готові рішення, але можна спостерігати за прогресом. 👉Якщо ви підлеглий — поміркуйте над задачами які вам дають. Якщо це готові рішення — можливо вам вже варто піднятися на новий щабель та взяти відповідальність? Поставте це питання на наступному 1:1 зі своїм менеджером. ### Зроблено на 95% — значить не зроблено взагалі URL: https://www.rozhkov.me/95-percent-done-means-not-done/ Last updated: 2023-11-21T07:24:00.000Z Нещодавно потрапив у ситуацію. Команда мала набір задач, виконувала їх, але одну не вдалось зробити через технічні причини. Начальник попросив звіт, після чого сказав — «так у вас нічого не вийшло зробити». 🤦‍♂️ Бомбануло в мене знатно, не допомогло навіть розуміння чому він так вважав. Я багато разів був в ситуаціях, коли проєкт, зроблений на 95% клієнтом або начальником вважався таким що не зроблений. Тобі здається, «та тут вже все є, тільки задеплоїти лишилося та пару багів виправити», але очевидно, що в бінарній логіці «готово/не готово», це значить «не готово». А щоб доробити останні 5%, зазвичай потрібно витратити ще стільки ж часу🥲 Тому треба відразу фокусуватися на критеріях «готовності», які виставляє той, хто приймає роботу, і рухатися в тому напрямку. Чітко розуміти що поки ті критерії не досягнуті — значить фактично проєкт або задача не готові, не зроблені, відзвітувати нема про що. Не тішитися ілюзіями про «готово на 95%» та не крінжувати або горіти, якщо хтось скаже «так ви нічого не зробили». По фактах так, нічого не зробили, для людини з бізнесу, воно виглядає так — або ми можемо запуститися або не можемо, проміжних варіантів не існує. Якби я був босом, я б звичайно підбирав більш коректні слова для тієї ж ситуації, та намагався б спрямувати підлеглих у потрібному напрямку: або розділив би роботу на шматки які можна зарелізити окремо, або надав би чіткіші та зрозуміліші критерії успіху. На жаль, знаходжуся в ситуації, де обирати не приходиться, потрібно вчитися стійко витримувати токсичність та не втрачати бойовий дух за будь-яких обставин. ☝️Практична порада 👉Якщо бачите що ви або команда раз у раз попадаєте в ситуації де вам кажуть «ви ніц не зробили», то потрібно самотужки пропрацювати визначення «завершеності» та узгодити це з особою якій ви звітуєте. Проблема часто знаходиться в непорозуміннях між виконавцями та замовниками. Якщо замовник сам не може сформулювати це визначення — ваша робота допомогти йому це зробити. ### Острівець свободи в океані рабства URL: https://www.rozhkov.me/freefom-island-in-the-slavery-ocean/ Last updated: 2023-11-20T07:24:00.000Z Мене надзвичайно дратує коли мені говорять що і як робити. З таким світоглядом працювати на когось складно, тому довелося вигадати coping strategy, щоб не з'їхати з глузду та якось виживати. Стратегія полягає в тому, щоб вибороти собі хоч якийсь ступінь свободи та вдавати що я собі сам придумую та видаю задачі, а вони диктуються навколишнім середовищем. Не підійматися на рівень вище, де знаходиться начальник або клієнт, якому то треба. Так, на всіх своїх роботах я успішно абстрагувався від неприємної реальності та володарював у вигаданій власній, як принц даедра. У великій корпорації я був відповідальним за продукт, яким ніхто не користувався і який знаходився у перманентному стані розробки. У стартапі я педалив мікросервіси які ніколи не пішли в продакшн. Як перейшов на консалтинг то був фактично СТО, архітектом, розробником та саппортом в одній особі, спочатку з командою, а потім без команди. Там мав дуже багато свободи, яка обмежувалась тільки рамками бізнесу, бо безпосередніх начальників не мав. Мені залишалося лише вдавати що той бізнес має якийсь сенс, а далі все було просто. Також були коротко- та довгострокові періоди співпраці, де я мав досить ізольовані задачі, та міг діяти вільно. Пояснювати собі що я тут лише заради грошей, потрібно відпрацювати від дзвінка до дзвінка, мені ніколи не вдавалося, на таку роботу в мене не стоїть. Звичайно, як обставини примусили б, то довелося б терпіти, але до того ніколи не доходило через дбайливо зібрану фінансову подушку та загальну грамотність. Кожного разу, доступаючи до нового проєкту чи нового роботодавця, я намагався якось вибороти той ступінь свободи, з яким було б комфортно жити. Коли ти джун — тобі говорять що і як робити, мінімум свободи Коли помідор — говорять що, але можеш вирішувати сам як це зробити Коли техлід/архітект/СТО — тобі вже ніхто не говорить, ти сам маєш знати що робити Коли власник — тебе обмежують закони природи та ринок От до останнього щабля я і прагну. Але коли то недосяжне — доводиться займатися ментальною гімнастикою. ### Прочитав «Пригоди бравого вояка Швейка» URL: https://www.rozhkov.me/the-good-soldier-svejk-review/ Last updated: 2023-11-15T07:24:00.000Z Щоб корисно та весело проводити час на блокпостах, взявся читати класичну літературу. Книжка про Швейка була в домашній бібліотеці ще як я був малий, але тоді вона мене не зачепила. Я прочитав пару сторінок та й кинув. Fast forward 20 років, і ось для мене цей літературний твір вже стає безпосередньо релевантним. ![](https://www.rozhkov.me/content/images/2023/10/2.jpg) Книга надзвичайно дотепна, я реготав всю дорогу. Воно звичайно краще сміятися, коли в тебе в країні мир, але все одно смішно. Звісно, коли я вже дотичний до війська, то мені ті всі приколи ближче. Хоча в книзі описується побут класичної імперської армії, набраної з різних народів, у війні, яка не має сенсу, на відміну від нашої умовно моноетнічної армії та війни на виживання, є багато спільних рис, які характерні для всіх військових формувань всіх часів та народів. Армійські реалії тут подані не фаталістично, а гумористично, тому від опису подій стає не моторошно, а смішно (хоча насправді це все моторошно та страшно). Швейк, завдяки своїй мудрості та простоті, примудряється видряпатися з будь-якої халепи, та надзвичайно оптимістично дивиться на світ. Ось цьому оптимізму в нього й можна повчитися. Персонажі, що трапляються йому на шляху теж класичні — стукачі, ухилянти, розпусні священнослужителі, начальники-самодури, жорстокі судді. Декількох я вже мав невдачу зустріти й у своїй пригоді. Книгу до прочитання рекомендую всім. ### Про жінок в армії URL: https://www.rozhkov.me/woman-in-army/ Last updated: 2023-11-15T06:38:26.000Z Того тижня у твіторі пронісся шакалячий експрес повз Віктора Розового (коміка та бійця 3-ої штурмової), мовляв, той нездало висловився щодо жінок. Я з жінками у війську не стикався, тому нічого по цій темі не скажу. Деякі мої знайомі, що мали досвід з жінками, скаржилися не на їх боєздатність, а на драму внаслідок шлюбних ігор, любовних багатокутників та інших факторів, які виникають через конкуренцію великої кількості чоловіків за маленьку кількість жінок. Натомість пригадаю один з концептів, який описав Талеб у «[Шкурі в грі](https://www.rozhkov.me/skin-in-the-game-book-review/)»: чим менше хтось відповідає стереотипам своєї професії, тим більше ймовірність що ця людина є висококласним спеціалістом. Наприклад якщо ви бачите перед собою трейдера який, одягнений та виглядає не як трейдер, то тим більше ймовірність що він є справжнім професіоналом. Талеб аргументує це тим що якщо така людина подолала опір суспільства та оточення яке зустрічає по одежці, то значить вона має високі професійні якості, які дозволяють їй поводитися як завгодно. Очевидно, що армія це надзвичайно сексистська структура, де, крім того, пред'являються високі вимоги до фізичної та психологічної підготовки людей. Значить, можемо зробити висновок. Якщо ми бачимо жінку у війську на умовних бойових позиціях, то це жінка, яка змогла подолати ті самі сексистські стереотипи завдяки своїм фізичним та морально-вольовим якостям та ймовірно є кращим бійцем ніж середньостатистичний чоловік. Навіть сам факт що вона добровільно пішла в агресивне середовище вже говорить про високу мораль, на відміну від чоловіка, який швидше за все опинився там не по своїй волі. Всі чули історії про кулеметниць, артилеристок, мінометниць і так далі. Так ось, я гадаю що ці випадки є екстремумами, через надто малу вибірку. Жінки в армії — найсильніші серед своєї категорії, а чоловіки мають нормальний розподіл. Тому ми завжди будемо чути історії про жінок які в'яжуть арматуру у вузол і не будемо чути історій про жінок, які не стягли військове життя. Аж поки в нас у війську гендерний баланс не вирівняється і ми не побачимо реальну картину. А до того, якщо бачите жінку-бійця — значить вона з високою ймовірністю дуже моцна і їй велика повага за службу. ### Злочин мовчання URL: https://www.rozhkov.me/crime-by-silence/ Last updated: 2023-11-13T18:13:38.000Z Того тижня завершився головний турнір року по грі Dota 2 — The International. Перемогу здобула команда Team Spirit, з двома українцями та трьома росіянами у складі. Українське дота-ком'юнті, м'яко кажучи, не дуже вболівало за цю команду. Причина проста — мовчання наших гравців у публічному просторі щодо війни, хоча один з них мешкав у Бучі, а інший — якщо я не помиляюсь, з Києва. Так само не любять у кіберспортивному ком'юніті й найкращого гравця у Counter-Strike — s1mple. Бо той стабільно стрімить з росіянами, й загалом не дуже обходиться темою війни. Сформувався цікавий феномен. Всі ці персоналії мають надзвичайно велику аудиторію та вплив на неї, можуть говорити на весь світ про війну, можуть робити потужні збори, можуть підтримувати військо, але не роблять цього, і тому піддаються осуду від своїх співгромадян, які потерпають від навали. Я погоджуюсь з думкою спільноти. Не використовувати свій вплив це злочин проти свого народу. Вони можуть казати про те що «донатять таємно», та дійсно можуть це робити, але підтримка в публічному просторі вартує дуже багато, а гроші, які може зібрати аудиторія знаменитості точно будуть більше ніж ця знаменитість передасть сама. Гадаю все-таки що «ринок донатів» має великі розміри. Як річка. Ти можеш з неї зачерпнути досить багато, але не можеш її осушити. Якщо ж ти цього не зробиш — то гроші просто «протечуть» повз. Спостерігаю я за такими злочинами й у менших масштабах. Багато блогерів ІТ-напрямку з досить великими аудиторіями публічно не роблять нічого, не проводять збори, проводять їх рідко, або намагаються більше працювати, щоб збільшувати свій внесок. Знаю що частина цих людей збирає серед «своїх», але надзвичайно важливо робити це публічно, щоб формувати суспільну думку. Всі ми бачимо що люди вже довгий час як розслабили булки та думають що війна їх не обходить, але це небезпечна помилка яка дорого нам коштуватиме. Ніколи зусилля однієї людини не будуть такими ж як зусилля багатьох. Кожен місяць проєкт [@Donate1024Bot](https://t.me/Donate1024Bot) збирає мільйон гривень. Мільйон! Якби я сам надірвався, то не зміг би заробити та передати таку суму. А скільки дронів, машин, РЕБів, та іншого спорядження могли б купити люди, які просто мовчать. Злочин! Шановні читачки та читачі. Ще раз дякую вам за те що підтримуєте збори які я тут публікую. Без вас я б не впорався. Продовжуйте, та обов'язково підтримуйте інші збори, які попадають у ваше інфополе. ### Парадокси військової комунікації URL: https://www.rozhkov.me/military-comms-paradox/ Last updated: 2023-10-31T07:24:00.000Z Не вперше спостерігаю ситуацію. Бійцям передають якусь штуку, хай це буде умовний дрон. Він схожий на те що вже є у підрозділі, але має нюанси, без знання яких не буде працювати, або, йому бракує додаткового обладнання для ефективної роботи, наприклад, потужніших антен на передавач. Бійці не можуть самотужки розібратися з цим, але замість того, щоб питати про нюанси у людини яка передала їм обладнання, і, по ідеї має знати що до чого, пишуть абикому знайомому хто теоретично міг би допомогти. На перше запитання, «чому ви не звернетеся до виробника/продавця?», відповідь — «не можемо/не хочемо, давай ти подивишся». Це надзвичайно неефективно та надзвичайно дратує, бо рішення знаходиться на відстані одного дзвінка, натомість ми всі маємо витрачати час, щоб або розв'язати проблему, або довести що це неможливо зробити за прийнятні терміни. В результаті — або йдемо на контакт з тими хто точно знає що робити, або девайс відкладається в бік і просто марнується. Чому так трапляється пропоную обговорити читачу в коментарях, в мене пояснень таким ситуаціям немає. ### Покращення UX для нецільової аудиторії URL: https://www.rozhkov.me/unobvious-ux/ Last updated: 2023-10-30T15:26:58.000Z Ви швидше за все знаєте про мій проєкт [@Donate1024Bot](https://t.me/Donate1024Bot). Хто не знає, нагадую: щоранку бот надсилає вам збір на потреби війська з кнопками швидкого донату через моно, а щовечора — звіт по одному з попередніх зборів. Там є маленька геймифікація, статистика і так далі. Приєднуйтесь! В цьому боті є функціональність «Додати збір», щоб користувачі могли самі додавати збори які роблять вони, або бачать у своєму інфополі. Час від часу до мене приходили питалися, «як додати збір», тому я дещо покращив UX процесу, зробив «причину відмови» якщо збір не підходив, додав «ваше місце у черзі». Але досить швидко я усвідомив, що ці всі фічі приносять 0 користі, або шкодять. Чому? Все просто. Ринок донатів асиметричний. Є дуже багато зборів, та дуже мало тих, хто дає гроші. Легко провести паралелі з ринком дейтингу, де жінки отримують непропорційно більше уваги. В боті зараз 1112 користувачів які отримують сповіщення. З них донатить близько 50\. Знаєте, що робить решта? Це люди, які дізнались про проєкт, та прийшли додати свій збір або збір своїх знайомих. Вони не донатять, не приносять користі проєкту. Найрозповсюдженіший профіль мого «клієнта» це людина яка приєднала бота, відправила збір, побачила що на це немає ніякої реакції та заблокувала бота/відправила його в архів. З початку року я майже не додаю збори рандомних людей, які прийшли не по нетворку знайомих. Тому ця функція потрібна лише для десятка волонтерів, яких я знаю. Її взагалі можна відключити, бо більшість мені й так нагадає про свій збір в приватні. *Насправді функція таки потрібна, бо повідомлення «додай плз збір» можуть загубитися у листуванні, а що записано в базу точно не загубиться.* Натомість я додав собі функцію «заблокувати користувача», щоб відключити нотифікації від особливо настирних та зменшити кількість шуму. Якщо подумати далі, то має сенс не покращення UX, а свідоме *погіршення*! Припустимо, я ускладнив процедуру додавання збору. Таким чином, по Талебу, можна зробити висновок, що якщо людина пройшла всі кола пекла та змогла це зробити, то вона достатньо замотивована, і такий збір є сенс розглянути. Я вже писав про схожу ситуацію деякий час тому на прикладі [Bandcamp](https://www.rozhkov.me/naive-feature-advice/), і ось зараз побачив її з іншого боку. Не все що є зручним для користувачів, є корисним для бізнесу. ☝️Практична порада 👉Окрім очевидного «подивіться, чи не забагато функцій ви робите або покращуєте для користувачів, які не приносять грошей», нагадайте собі «правило трьох цвяшків»: не робити якусь роботу, поки про неї вам не нагадають три рази. ### Подивився «20 днів у Маріуполі» URL: https://www.rozhkov.me/20-days-in-mariupol/ Last updated: 2023-10-23T06:24:00.000Z Не люблю згадувати перші місяці війни. Відчуття безсилля від того що росіяни безкарно закидують нас ракетами та бомбами, а світова спільнота висловлює занепокоєння. Фільм повертає нас якраз до цих днів. Це змонтовані докупи та озвучені відео, які відзняв журналіст Associated Press який знаходився у Маріуполі до середини березня. Ви всі бачили значну їх частину: це знищена РЛС, кадри російських танків які розсувають автобуси та стріляють по будинках, пологовий будинок з тією самою породіллею яка вижила та потім переїхала до Донецька. Ситуація Маріуполя унікальна в тому плані що це єдине місто яке було в повному оточенні та чинило опір протягом довгого часу, бо інші або швидко здалися, або були напівоточені й люди мали можливість вийти, а військові — отримати підкріплення. Тому фільм просякнутий духом невідворотності гіркого кінця. ![](https://www.rozhkov.me/content/images/2023/10/1.jpg) Дивитися важко. Я людина емпатійна, що поринає у світ на екрані, тому мені складно дивитися жахи та трилери, а тут не вигадка, а реальні люди та реальні події. Це напевне перший раз на моїй пам'яті в кінотеатрі, коли весь час перегляду у залі була цілковита тиша. Зараз багато говорять про те що люди що живуть подалі від фронту, розслабилися, та забули про війну. Живуть на чілі. Не можу їх звинувачувати в цьому. Люди завжди були людьми. Складно досягти такого ж рівня бойового духу коли росіян відсунули від великих міст на схід. Фільм нагадує що може трапитися, якщо не вигнати загарбників з нашої землі. Раджу до перегляду. ### Профдеформація URL: https://www.rozhkov.me/professional-deformation/ Last updated: 2023-10-18T06:40:56.000Z Раніше в житті я надзвичайно рідко використовував лайку та обсценну лексику та намагався стежити за тим що і як говорю. Але коли попадаєш в армійський колектив, то потрібно докладати неабияких зусиль, щоб дотримуватися тієї ж лінії. Я маю звичку несвідомо мімікрувати під стиль співрозмовників. Хто зі мною колись бачився та звернув увагу міг би зауважити що через кілька годин спілкування я починаю перебирати ваші слова-паразити, інтонацію, наголоси. В психологічних книгах пишуть що такі штуки варто робити, щоб краще встановити [раппорт](https://en.wikipedia.org/wiki/Rapport), але воно в мене виходить само по собі. Ну і ви можете уявити як ріжок почав розмовляти через кілька днів. [Саме так](https://t.me/misyachni%5Fpikchi/9121). Signal vs noise ratio зазвичай сягає 1 змістовне слово на 4 матюки😣 Після звикання до такого стилю комунікації, спілкування по цивільним справам викликає деякі труднощі, потрібно більше зосереджуватись. Врешті вирішив сказати «ні» матюкам та фільтрувати базар, щоб підвищити якість та культуру спілкування. Побажайте мені вдачі у цій нелегкій справі🤐 ### Інститут репутації URL: https://www.rozhkov.me/reputation-institution/ Last updated: 2023-10-16T06:24:00.000Z Коли приходиш у новий колектив який ще й займається не пов'язаною з ІТ діяльністю то доводиться все починати з нуля. Всі попередні досягнення, виконані проєкти, «сенйорність», лички у CV і так далі не мають для людей з якими ви працюватимете жодного значення. Нерозумно буде з порога вимагати до себе особливого ставлення або вносити якісь гучні пропозиції. Як і будь-де, у війську є багато неефективності яку можна автоматизувати, та хаосу який можна впорядкувати. Хто любить таблички для того тут є величезний простір для діяльності. Але. Але спочатку ви ніхто і звати вас ніяк, ваша репутація зануляється. Немає звичного кредиту довіри, який зазвичай отримуєш коли приходиш на сеньйорну посаду на нову роботу. Для декого цей досвід може стати травматичним, бо вчора ти був архітектом за 300k/sec, а сьогодні ти миєш підлогу у казармі та стоїш у наряді разом зі всіма, і нічого з цим не поробиш. Тому як і на роботі, на яку приходиш і хочеться все переписати, треба бути розважливим та поступовим. Якщо ви людина розумна та здібна, то це візьмуть до уваги, а якщо ви ще й не створюватимете проблем, то з часом таки заробите собі репутацію, прокачаєтесь, отримаєте більше ступенів свободи та можливостей щось змінювати. Навіть коли бачиш кричущу неефективність, часто краще помовчати, особливо якщо відповідальна людина не сприймає поради. Зарядженій та мотивованій людині складно проходити ці всі етапи, срака моя горіла, але я знаходив сили котити квадратне й не вимахуватися, та врешті дочекався коли ситуація покращилась і продовжує покращуватися щодня. ### Будьте рішенням, а не проблемою URL: https://www.rozhkov.me/be-solution-not-a-problem/ Last updated: 2023-10-22T07:30:02.000Z «Що робити, як це вирішити?» — в армії не можна ставити такі питання. В будь-який момент часу ви повинні чітко розуміти яку задачу ви виконуєте та змогти пояснити це будь-кому старшому. Якщо цього не зробите, то вашу долю вирішуватимуть за вас. Наприклад є потреба розвантажити машину, ви собі йдете повз, і попадаєтесь на очі відповідальному за розвантаження який може вас долучити до цієї важливої місії. Якщо ви не поясните, що маєте важливішу задачу, то будете займатися позаплановою фізичною активністю. Ідеально мати куточок, який знаходиться вдалині від місць пересування особового складу, де можна спокійно займатися своїми справами й не привертати зайвої уваги. Те ж проблемами та задачами. Якщо сказати, наприклад, «я не можу зробити те-то і те-то через те що так і так», і не принести готове рішення, то рішення приймуть за вас, і будьте певні що воно буде не на вашу користь, а ви взагалі пошкодуєте що відкрили рота. Ситуація: особовий склад розслабився і забив на ранкову зарядку. Старший питає в чому справа, хтось, на свою голову відповідає «не встигаємо, бо треба ще займатися прибиранням». Як гадаєте, чи буде хтось розбиратися як так сталося що за місяць до цього всі все встигали, а зараз перестали? Рішення просте та straightforward — тепер підйом на пів години раніше, щоб усі все встигали. Таким чином одна людина зрізала чималий шматок сну всім, без жодної на те потреби. Правильно було б взагалі не підіймати цю тему, а рухати мештами швидше та всередині колективу вирішити коли як і що робити, щоб і поспати і зарядку зробити і прибрати. В цивільному житті теж все так, просто в армії воно гіпертрофоване, через те що часто не стоїть мета робити щось ефективно, а стоїть мета зайняти особовий склад діяльністю. ☝️Практична порада 👉Зверніть увагу, чи не звертаєтесь ви до своєї менеджерки або ліда з проблемами, а не рішеннями. Коли злапаєте себе на питанні «як мені це зробити?», подумайте, а чи не могли б ви принести керівництву готовий план і наступного разу прийдіть вже з ним. ### Мітинг без стейкхолдера — гроші на вітер URL: https://www.rozhkov.me/no-stakeholder-no-results/ Last updated: 2023-10-11T06:24:00.000Z Організовував нещодавно одну зустріч щодо співпраці. Так вийшло що мій керівник не мав змоги потрапити на неї та відправив свого заступника, якому довіряє. Я знав що то не дуже хороша ідея, але ніяк не зміг на це повпливати. Зустріч пройшла чудово, далі ми з заступником прийшли до керівника, розповіли йому що до чого, але той, коли почув деталі, відмовився від співпраці. Ні я, ні заступник не могли його переконати в необхідності цієї справи. А чому? Тому що він не був на тому мітингу, та не мав можливості поспілкуватися з майбутнім партнером, почути його аргументацію та досвід і поставити свої питання. Горів я на цьому не один раз. Золоте правило — завжди розмовляти з людиною що приймає рішення або мати на зустрічі таку людину. Інакше то все коту під хвіст, марнування часу, посиденьки без задач. ☝️Практична порада 👉Перед тим як йти на зустріч переконайтеся що там буде присутня людина яка приймає рішення щодо неї (можливо це будете ви самі). Якщо така людина не буде присутня — подумайте чи варто вам бути там присутнім. ### Незграби URL: https://www.rozhkov.me/clumsy/ Last updated: 2023-10-10T06:24:00.000Z Є категорія людей, які спізнюються, забувають свої речі, гублять їх, розбивають телефони, виглядають неохайно та не можуть тримати своє житло в порядку. В кожної та кожного точно є така знайома або такий знайомий, які вже загубили/розбили 10 телефонів, або постійно запізнюється на зустрічі без поважних причин. Я привчений до більш-менш порядку та пунктуальності, пильную речі, телефони не бив і не губив, на поїзди та літаки не спізнювався. Тому мені дивно спостерігати за такими незграбами. Хочеться якось їм допомогти, але то все марно. Ну приберемо ми один раз речі до купи, поскладаємо то все, але як людина не навчена і не замотивована то за кілька днів все повернеться назад. У війську таких людей теж вистачає, коли такий пасажир не працює з тобою то воно трохи кумедно та крінжово, але коли ти змушений мати справу з ним, то це вже халепа. Зазвичай такі люди ще й патологічно схильні до зальотів — там запізняться, там десь недороблять роботу як треба, там необачно обійдуться зі зброєю або іншим спорядженням. І зазвичай до таких людей застосовується відповідне покарання — ще більше рутинної роботи (тобто нарядів) та іншого, і вони, якщо не мають розуміння ситуації та мотивації, приречені ходити колами, поки решта займаються нормальними справами. Цікаво спостерігати за такими людьми. Якщо хтось має порядок на ліжку та під ліжком — то швидше за все в того й в голові порядок. А хто розкидає речі абияк — той і в решті справ незграбний та неохайний. Тому я вдячний мамі та батьку за те що привчили мене до порядку, ви подивіться на себе та приберіться на столі. P.S.: звичайно якщо вам норм губити, розбивати, запізнюватися, жити у свинарнику, і ви не страждаєте від цього — то нічого міняти не варто✌️ ### Сторіси URL: https://www.rozhkov.me/daily/stories/ Last updated: 2023-10-05T06:24:00.000Z Маю по службовим задачам інстаграм, заходжу туди раз на тиждень, бачу нотифікації, клікаю — а там повідомлення «no longer available». Це мені прислали сторіс. Сторіс це такий пост який живе обмежений час, а потім зникає. В чому суть цієї популярної фічі мені неясно. Особливо мені неясно як можна робити в сторісах збори або звіти, то ж інформація яка має бути перзистентною, щоб її можна було подивитися згодом. Сторіси не можна коментувати. Знаю що в інстаграмі це Big Deal, але сенсу цього не розумію. Типу вид постів які актуальні тільки зараз щоб не засмічувати стрічку? Чи що? В телеграмі, де продуктовий менеджмент повністю провалений ще з часів як вони почали робити преміум, це теж якась незрозуміла річ якою ніхто не користується. Зарелізили ото сторіси для каналів і що? По-перше, абсолютно тупа система «бустів», в якій я так і не розібрався, бо не захотів, по-друге, канали які ті бусти набрали, по одному сторісу запостили та й забили. Хто з інстаграмщиків, поясніть в чому суть такого формату, бо я не можу второпати. Також, хто має преміум та постить сторіси в телеграм теж скажіть як воно і нашо ви його використовуєте. ### Парадокс сумлінного працівника URL: https://www.rozhkov.me/good-worker-paradox/ Last updated: 2023-10-02T07:39:11.000Z Чи ви помічали людину, яка якісно робить свою роботу і через це застрягає на одній посаді? В нас був програміст, який гори міг звернути. Яку б задачу йому не давали — той копав до останнього та все виконував на найвищому рівні. Звісно, керівництво цим користалося, і його постійно садили гасити пожежі без можливості зростання. Коли керівник не має прямої стратегічної вигоди від росту такого працівника, то він буде експлуатувати його до останнього. Поки наш боєць сумлінно виконує свою роботу, менш здібні колеги потроху просуваються у ліди, менеджери, та архітекти, і ось уже вони вирішують що той має робити. Парадоксально, чи не так? Ніхто не хоче втрачати кваліфікованого програміста та натомість отримувати посереднього менеджера. Хай краще копає. Якщо ж людина своєї цінності не усвідомлює, то виходить зовсім дурня, коли зп такого потужного козака менша ніж новачка який прийшов на простішу посаду та працює гірше. Часто такому працівнику не вистачає розуміння мета-гри, щоб вирватися з цього кола і він так і марнує свій час на здобутки для інших людей. --- Я спостерігав за таким хлопцем, який дуже добре вмів готувати. Через те він постійно стояв на кухні, хоча не хотів цим займатися. Але замість того, щоб піднятися на рівень вище, та стати мета-кухарем, який не працює руками, а підбирає собі колектив, планує меню, роздає вказівки та контролює результат, він продовжував брати безпосередню участь у процесі, через що згодом вигорів та покинув нас. Я декілька разів намагався донести йому цю ідею, але той відкидав будь-які пропозиції, натомість скаржився на життя🤷‍♂️ --- Розумний керівник який розуміє що можна піти далі аніж мати простого копача, буде намагатися виростити його та масштабувати. Але, як я казав раніше, часто це не збігається з тактичними задачами конкретної людини, тому і працівник і менеджер сидять роками та займаються фігнею. ☝️Практична порада 👉Зверніть увагу, чи не стали ви заручником власної компетентності та сумлінності. Ознаки — складність ваших задач не росте, професійний розвиток зупинився, грошей не досипають, але задач на вас накидують все більше і більше. Подумайте, чи влаштовує це вас, і якщо ні — в який бік хотілося б рухатися: обирати собі задачі самостійно (IC) чи йти на рівень вище та організовувати роботу інших так щоб вони робили роботу замість вас (Engineering Manager). ### Навігація в ієрархії URL: https://www.rozhkov.me/hierarchy-navigation/ Last updated: 2023-09-29T20:22:11.000Z У минулому житті я заохочував читача підвищувати свою цінність та зарплатню [фокусуючись на діяльності](https://www.rozhkov.me/what-should-i-do/), яку потрібно показати людині, що приймає рішення стосовно вас. У війську це стає ще важливішим. Тому що без підвищення зп ви проживете, а от без штук типу звільнення та відпустки коли вам зручно, а не коли командиру захочеться, вже тяжкувато, бо це є базові гігієнічні речі які у вас відбирають, і це сильно впливає на мораль. Ієрархія хоч і має бути жорсткою, але фактично розмазана по багатьох людях. Новачка можна легко обдурити, і потрібно дуже уважно стежити хто і як бачить ваші досягнення, та кому і як ви допомагаєте або робите дрібні послуги. Також часто люди можуть казати вам «роби те і те», хоча не мають на це права. Я вже проколовся, бо сприйняв людей які були на рівні зі мною як вищих, та по наївності надав їм неспіврозмірну послугу. Іншого разу неакуратно скомунікував та дозволив другій людині присвоїти собі результат моєї роботи. Ще було даремно напряг людей які не мали повноважень вирішувати моє питання, хоча я гадав що мали. Також неодноразово проявляв ініціативу яка була зайвою. [Як і в офісі](https://www.rozhkov.me/politics-inner/) тут є політика, тільки ціна помилки або успішного маневру значно вища. Звісно з часом починаєш орієнтуватися в обстановці, але до того можна наламати дров. Потрібно чітко розуміти хто є стейкхолдер задачі та робити так щоб ваш результат бачила та фіксувала саме ця людина, а не хтось інший. Я маю погану звичку багато патякати не по ділу, і воно мені заважає, бо поки не ясно хто є хто краще собі сидіти тихо та й слухати, а не базікати про себе зайвого. Це платинова порада на всі часи у будь-яких ситуаціях, тому не будьте ріжком-блогером, а будьте розважливим та зважуйте що й кому ви говорите. Як то кажуть, «сьогодні кєнти, а завтра мєнти», а в ситуації коли дітися вам не буде куди, то може вам зашкодити. Коротко кажучи, розумний вчиться на своїх помилках, тому я вже трохи обтертий калач, а ви будьте мудрими й вчиться на моїх. ### Closed open-source URL: https://www.rozhkov.me/closed-open-source/ Last updated: 2023-09-28T18:48:01.000Z Багато проєктів зараз, в тому числі комерційних, будуються по open-source/open core моделях. Я сам працював довгий час в компанії, значна частина продукту якої була з [відкритим кодом](https://github.com/databand-ai/dbnd). Але «open-source» тут часто значить лише «source-availability», чисто доступність коду. Фактично, команда яка працює над продуктом, закриває всю комунікацію від зовнішнього спостерігача. Це зрозуміло, не будемо ж ми запрошувати на наші обговорення та планування будь-кого охочого. А коли закрита комунікація, то «інсайдери» отримують колосальну асиметричну перевагу над «аутсайдерами», бо вони мають якісь свої плани, які не будуть відомі назовні, відповідно контрібутити в такі проєкти буде непродуктивно, неможливо, та позбавлено сенсу. Наприклад, телеграм декларує що всі його клієнти опенсорсні, але ви не можете додати фічу в телеграм клієнт, тому що у вас немає ніякої комунікації з розробниками закритої частини (серверу), а про плани, наприклад, зробити «сторіси», вам ніхто не розповість. Максимум багу можете пофіксити, і то, її ще мають заапрувити, а на це команда може просто не виділяти часу. У моєму проєкті була така сама історія — без знання закритої частини щось робити було беззмістовно, а процес розробки був приватним. З цієї ж причини форки завжди будуть відставати та приречені на занепад. Вкладатися у форк якогось проєкту, в якого є закрита частина і команда — марнувати час. З іншого боку, якщо проєкт дуже популярний та має незначну закриту частину, такий як Terraform або ElasticSearch, то він має загрозу бути форкнутим іншою компанією що має достатньо ресурсів, або спільнотою та стати конкурентом основному продукту. Тут вже в кого більше грошей стане. Висновків ніяких, просто спостереження. P.S.: DHH якйсь час тому вирішив переписати бібліотеку Turbo з TypeScript на JavaScript. Цей [PR](https://github.com/hotwired/turbo/pull/971) розлетівся всім інтернетом і в репозиторій набігли хулігани які пред'явили йому за це так, ніби самі вкладалися в розробку проєкту або були до нього якось дотичні. Хоч Turbo і не має закритої частини, але обговорення це було інсайдерським, відповідно люди які працювали над чимось змушені будуть перероблювати те що вже зробили. Нагадування про те що open-source не значить вседозволеність або відкритість чого-небудь поза кодом. ### Pro фреймворки URL: https://www.rozhkov.me/pro-frameworks/ Last updated: 2023-09-20T06:24:00.000Z Часто та ж категорія програмістів що сваряться на ORM, так само сваряться і на фреймворки, мовляв, повільно працюють, обмежують гнучкість і взагалі все можна зробити самому. Я люблю фреймворки. Фреймворки знімають з мене когнітивне навантаження щодо організації коду та дають найкоротший шлях до реалізації задачі. Rails має купу конвенцій, завдяки яким відразу відпадає умовних 95% питань щодо того що куди класти й де писати. Spring має інструменти під майже всі задачі. Бери ~~доку~~ ChatGPT та й пиши анотації, все вже зроблено до тебе. Звісно, коли треба утнути щось нестандартне, то ти можеш бути обмеженим, але це треба робити нечасто, а якщо й городити з базових елементів (веб-серверу, роутеру, ORM) щось своє, де та гнучкість буде, то вийде одне на одне. Фреймворк дозволяє не витрачати час на те що не стосується задачі, наприклад на організацію запуску тестів, генерацію документації, авторелоад ресурсів та інше. Звичайно з тим йде купа блоату, який вам не знадобиться. В таких випадках варто вивчити доки та відключити непотрібні модулі. Як і з ORM, головний аргумент опонентів це те що на фреймворках виростають люди які не знають що таке HTTP заголовки та не вміють програмувати ні на чому іншому. Така проблема дійсно є, особливо зараз, коли з затишної коробочки спрінга вилазити зовсім не потрібно. Я пройшов шлях навпаки — від самописних речей до свідомого впровадження в проєкт Spring та чітко розумію нашо він там був потрібен і які задачі вирішував. ☝️Практична порада 👉Щоб не бути фреймворкодебілом запустіть дебаг і подивіться через що проходить реквест перед тим як дійти до вашого бізнес коду. ### Pro ORM URL: https://www.rozhkov.me/pro-orm/ Last updated: 2023-09-19T06:24:00.000Z Серед багатьох досвічених розробників існує думка що ORM це щось погане. Його звинувачують в низькому перформенсі, непотрібних абстракціях та вихованню поганого смаку. Щоразу коли читаю ті історії то ніяк не можу второпати що авторам не подобається, бо я з ORMами ніяких проблем не маю. На першій роботі у бородаті роки в нас був самописний ORM, але він дуже повільно працював (проте мав інші переваги). Ми про цю особливість знали, тому для наших задач написали власний і не знали горя. Згодом я успішно користувався JPA/Hibernate і мав халепу тільки зі специфічними речами типу bigint який не хотів мапитися чи то через багу хібера, чи то через особливості MariaDB. А після [ActiveRecord](https://guides.rubyonrails.org/active%5Frecord%5Fbasics.html) я не дуже уявляю як можна бути продуктивним без ORM. У всіх своїх проєктах SQL мені доводилося писати тільки для запитів пов'язаних зі статистикою. Читачам відома моя любов до Rails, але ActiveRecord я люблю найбільше, ось, наприклад запит на витягування чергового щоденного збору для [@Donate1024Bot](https://t.me/Donate1024Bot) ```Ruby Post.where(state: "approved") .where.not(amount: nil) .where.not(goal: nil) .where(posted_count: 0) .where(scheduled_at: Time.now.utc.to_date) .order(:id) .first ``` Не буду по пунктах розбивати класичні аргументи проти, натомість напишу що потрібно вам, щоб бути ефективним. Головне — добре знати та розуміти SQL. Коли ви вже розумієте як зробити потрібний вам запит то не буде жодних проблем з тим щоб конвертувати його в ефективний ORM-код. Мені здається що часто люди скаржаться на код програмістів які почали користуватися ORM без хороших знань SQL і нарубали дров. Таке звісно нікуди не годиться. Друге — розібратися як зробити, щоб ваш ORM-фреймворк друкував у лог всі запити які він генерує та робить. Те що не бачиш не можеш поміряти та подебажити. Всі ORM-и вміють це робити, але з невідомих причин, це не всюди увімкнено за замовчуванням, наприклад у Spring/JPA це треба конфігурувати окремо. Одна з величезних переваг ActiveRecord це такий лог, наприклад запит зверху покаже нам ось таке: ``` Post Load (56.3ms) SELECT "posts".* FROM "posts" WHERE "posts"."state" = $1 AND "posts"."amount" IS NOT NULL AND "posts"."goal" IS NOT NULL AND "posts"."posted_count" = $2 AND "posts"."scheduled_at" = $3 ORDER BY "posts"."id" ASC LIMIT $4 [["state", "approved"], ["posted_count", 0], ["scheduled_at", "2023-09-18"], ["LIMIT", 1]] ``` В консолі воно ще й красиво розфарбовано, тут ми можемо бачити: час виконання запиту, сам запит та «бінди», ті параметри які в нього були передані. Цієї інформації більш ніж достатньо для того, щоб писати ефективні запити. Третє — розуміти що таке [N+1](https://stackoverflow.com/questions/97197/what-is-the-n1-selects-problem-in-orm-object-relational-mapping) та як у вашому ORM-фреймворку цього уникнути. Здається що N+1 це найрозповсюдженіша проблема з ORM на що лаються ті самі досвічені програмісти, хоча вона дуже легко виявляється та виправляється. Просто почитайте як у вас робиться `includes` або `FetchMode.EAGER` і більше не матимете з тим клопоту. Гадаю що 95% всіх проблем з ORM зводиться саме до N+1 та нерозуміння як з ним впоратися. Четверте — розуміти ціну створення об'єктів та використовувати методи які дозволяють уникнути цього. Наприклад, якщо нам треба взяти з таблиці тільки одне поле, `id`, то замість `ids = User.all.map(&:id)` можна використати `ids = User.all.pluck(:id)` як не буде створювати об'єкти `User`, а дістане лише масив id. Rails люб'язно друкує статистику щодо кількості інстанційованих об'єктів в лог, тому там відразу зрозуміло де це вже впливає на швидкодію. Люблю ORM, використовую у всіх проєктах, раджу робити те ж і вам. ☝️Практична порада 👉Увімкнути логи свого ORM та подивитися на запити які він генерує. Подумати що можна покращити та почитати документацію або Tips&Tricks до свого фреймворку. ### «Я не з такої сім'ї, я з багатої» URL: https://www.rozhkov.me/i-am-from-a-rich-family/ Last updated: 2023-09-08T15:54:54.000Z Військо це зріз суспільства з відповідним розподілом по доходах до того, як почнуть давати виплати. В такій ситуації айтівці мають велику фору перед рештою. Як чіт код на гроші в грі. На початку я часто чув запитання «скільки дав?», наприклад, «ого, лови, скільки дав?», «класні штані, скільки дав?». Дуже незручно було відповідати «не знаю», бо я на ціни не дивився по старій звичці, а брав те що підходило по розміру та якості. Це при тому, що я не тарився найдорожчою тактикульною снарягою в магазині абрамс, а купував тільки необхідний мінімум щоб замінити або покращити штатну. Багато людей собі не можуть то дозволити, так само як не можуть дозволити собі зайві витрати. Я вже другий місяць сиджу без айтішних надходжень тому теж потроху змінюю майндест з «не дивитися на ціни» на «добре подумай чи воно тобі дійсно треба», але які-не-які заощадження все одно дають впевненість у завтрашньому дні (в який не всі можуть дивитися). Бажано не дуже палитися що ти при грошах, бо недобросовісні люди можуть спробувати почати цим зловживати. Я вже по наївності мінімально обпікся на невеликі суми, хоча сам [попереджав читачів](https://www.rozhkov.me/easy-money-spending/) про цю небезпеку. Поза тим, трохи підігріваю побратимів смаколиками та енергосами які маскую під «волонтерський підгін». Так що друзі, як мінімум в одному аспекті у війську ви будете у досить вигідному становищі, бо снаряга може значно повпливати на якість вашого життя та безпеку. ### Воєнний блогінг URL: https://www.rozhkov.me/daily/military-blogging-fail/ Last updated: 2023-09-07T06:24:00.000Z Одним з важливих мотиваторів піти у військо для мене була можливість отримати цікавий досвід, щоб потім з того зробити хороший контент. Є досить багато відео як і професійно відзнятих, від 3-ої ОШБр, так і «любительських» тіктоків військових, статті на ДОУ від айтівців. Але я все одно бачив прогалину у своїй ніші та мав за мету її заповнити, в тому числі щоб показати людям що може їх очікувати й заохотити їх приєднуватися до мене. Але з перших днів реальність розійшлась з очікуваннями. Я знав що багато про що не можна буде писати та був готовий до цього. Так і сталося. Багато цікавих історій, на жаль, не можна розповісти з очевидних причин. Але вагоміший фактор це втома. Останні п'ять років я працював в режимі який дозволяв багато часу приділяти написанню текстів, а зараз живу від підйому до відбою з мінімальною кількістю вільного часу. У вільний час який залишається, вже не вистачає енергії писати. Велика кількість фізичних навантажень та постійна активність викликають бажання поспати. Маю сподівання що згодом це зміниться і беклог текстів вдасться розгрести, але спогади тьмяніють і історії вже не здаються такими крутими, як тоді коли ти їх переживав. ### «Ситуація змінилась» URL: https://www.rozhkov.me/situation-has-been-changed/ Last updated: 2023-08-29T07:00:00.000Z Головна особливість життя в армійських структурах, до якої мені дуже важко звикнути це повна невизначеність та надзвичайно короткий горизонт планування. Після півтора десятка років роботи в організаціях де люблять багато обговорювати та планувати, армія видається просто мукою. Невідомо не те що буде завтра, невідомо що буде через годину. Фіксованих констант у цьому всесвіті тільки п'ять — це підйом, сніданок, обід, вечеря та відбій *(тут мова про ППД)*. На них можна покладатися та триматися наче за соломинку порядку в вирії ентропії. В такому середовищі непросто ефективно використовувати вільний час. Будь-якої миті може без попередження стартувати якась активність. Мені, людині, що звикла працювати у спокійному сфокусованому середовищі без переривань, тут робити щось, що не стосується виконання безпосередніх обов'язків та задач, досить складно. Потрібно перебудовувати мислення та вчитися вміщати корисну діяльність у будь-які вільні слоти. Так, можна і твітор почитати, і в телеграм позалипати, але сісти спокійно зробити якусь задачу по роботі або проєктам поки що не вдається. І це тільки про роботу, а так то в принципі складно існувати коли невідомо чого очікувати. Ризикну припустити що з підвищенням статусу (як формального, так і неформального) отримуєш трішки більше розуміння коли та що відбувається та можеш вже якось крутитися, але до того мені ще далеко. Крім того, що в будь-який момент може розпочатися що завгодно, так само і запланована активність може скасуватися або перенестися. Взагалі, улюблене заняття в армії це чекати. Була запланована зустріч? Ок, спочатку переноситься на годину, потім на дві, потім на півтори, потім ще на дві, потім на завтра, а потім скасується. Весь цей час ти знаходишся напоготові. *Як кажуть досвічені бійці, «найважливіша якість солдата то терпіння та витримка».* Так само з більш стратегічною діяльністю. «Ситуація змінилась», те що було заплановано вже неактуально, очікуємо нових наказів. Це я пишу з досвіду N=1, але мої знайомі підтверджують цей анекдотичний досвід. Зараз мені неясно чи такі порядки є умисними, чи це така культура, чи є ще якісь причини. Швидше за все комплекс + специфіка колективу. Жити непросто, але можна, гадаю що з часом адаптуюсь. P.S.: шановні підписниці на підписники, мені в підрозділ потрібна зарядна станція для зарядки батарей в полях. Якщо у вас є непотрібний/зайвий EcoFlow/Bluetti та ви вірите в міць наших ППО так само як я, і не готуєтесь до осінньо-зимових блекаутів, то я б з радістю купив у вас такий девайс, пишіть у приватні. P.P.S.: також потрібен ігровий ноут, але зарядна станція важливіша. ### Практичні рекомендації щодо боротьби зі свавіллям ТЦК: загальні поради URL: https://www.rozhkov.me/preparing-for-war-general-advice/ Last updated: 2023-08-16T06:24:00.000Z Війна надовго і через фронт пройдуть всі. Краще заздалегідь підготуватися, щоб підвищити свої шанси вижити. Ми розглянули декілька опцій: [бебібокс та виїзд з країни](https://www.rozhkov.me/preparing-for-war-babybox/), тилові ІТ-шні посади, [проходження КМБ перед мобілізацією](https://www.rozhkov.me/preparing-for-war-proactive/) та пошук хорошого підрозділу, інсайдерські вакансії. Тепер загальні поради. ### Фізпідготовка Дуже важлива для того, щоб пройти відбір там, де він є, і подужати навантаження там, де відбору немає, але робота буде. Якщо ви не займаєтесь, то починайте негайно. Я раджу функціональні тренування/HIIT + біг. Регулярні тренування які я робив кілька років тому зараз мені дуже допомагають. Як ціль можете брати [нормативи на вступ](https://ab3.army/faq/) в 3-ю штурмову. Відтискання, присідання, підтягування, прес, берпі, біг — це все що вам потрібно. З тренером займатися веселіше ніж самому. Складіть програму та трекайте прогрес. ### Водійське Якщо у вас немає водійського посвідчення, [негайно його робіть](https://www.rozhkov.me/how-to-get-driver-license-school-and-theory/). По-перше, підвищите свою корисність та стійкість підрозділу, по-друге, матимете змогу їздити по своїм справам та не будете залежати від інших водіїв. ### Такмед Взагалі цьому вчать, але бажано пройти хоч якийсь дводенний тренінг, щоб мати загальне уявлення що воно таке. Такмеду мало не буває. ### Здоров'я Пофіксіть здоров'я, зуби, та інше, поки на це є час. Бо потім не буде. ### Стрільба Можна повчитися самому, це не буде зайвим. ### Гроші Потрібно підготувати фінансову подушку, бо поки ви оформитесь та отримаєте перші виплати, то може пройти бозна скільки часу, гідра армійської бюрократії у нас непереможна. ### Спец підготовка Багато людей хочуть бути дронщиками, бо думають що це просто, безпечно і тд. Насправді не дуже то воно й просто і точно не безпечно, але я не про це. Якщо ви хочете бути дронщиком, то вам треба показати що ви вже вмієте з цим працювати, наприклад маєте сертифікат, обладнання, і розбираєтеся в темі. Це стосується й іншого. Хочете бути медиком — пройдіть підготовку. Марксменом — майте гвинтівку. Без доказів того що ви розбираєтесь в темі ніхто вас серйозно не сприйматиме, тому будьте готові показати що ви маєте реальні навички, інакше отримаєте «дрона» на виході. ![](https://www.rozhkov.me/content/images/2023/08/drone.jpg) Існує стереотип що всі хочуть бути дронщиками, але за моїми спостереженнями це не так: по-перше, охочих небагато, по-друге, людей які щось розуміють серед тих хто хоче одиниці, тому якщо ви матимете сертифікат та якогось пульта, то вже будете в топі. Зараз формується багато підрозділів ударних і розвідувальних БПЛА тому ще є хороша можливість застрибнути до поїзда. Але не чекайте що вас кудись візьмуть тільки тому, що ви айтішник та розбираєтесь в техніці, подбайте про навички. Грамотних діловодів не вистачає, тому ви можете стати енікейщіком та сидіти у відносній безпеці, але це рандом. ### Самопіар Якщо ви нікому не будете розповідати що ви вмієте робити, то ніхто про це і не дізнається. Ваша робота зробити так щоб керівництво зрозуміло вашу цінність. Для цього беріть якісь ініціативи, показуйте що ви здатні на щось більше ніж просто копати та тримати автомата. Все як на звичайній роботі, тільки тут ніхто не зацікавлений в тому, щоб «розвивати підлеглого», робити кар'єрні плани та 360° перформенс рев'ю. ### Fin На цьому все. Я готувався по такій «програмі» з лютого цього року, коли пішов в автошколу. Наразі не розповім більше, але як тільки «перестрибну», то зможу сказати «гоп» та додати деталі й рекомендації. Не віддавайте сліпо свою долю в руки ТЦК-шників та інших людей. Працюйте на себе і все буде добре. 🇺🇦Слава Україні!🇺🇦 ### Продюсер URL: https://www.rozhkov.me/daily/producer/ Last updated: 2023-08-14T07:24:00.000Z Часто під час спілкування з людьми в мене виникає купа ідей як зробити з їх досвіду контент — текстовий канал, тікток, ще щось. Часто коли вже читаю якийсь канал або твітер то так і хочу дати автору пораду як краще розкрити його тему, як більше зацікавити читачів. За 4 роки активної письменницької роботи в мене є готовий фреймворк виробництва матеріалів, та деяке розуміння що саме заходить читачу (*цей матеріал пишу для себе*). Нещодавно зустрічався з одним з підписників який питав порад щодо блогерства й обговорювали цю тему. Секретів тут ніяких. Живіть насичене життя і те що ви публікуватимете автоматично буде цікавим людям. Немає цікавого досвіду — не буде про що писати як не старайся. Так от, щоразу коли зустрічаю людину з великим потенціалом то аж серце кров'ю обливається від того що вона марнує свій талант на шитпостінг, пише рідко, хоча точно має теми, або взагалі не робить ніякого контенту. Тут в коментах тусується як мінімум 3-4 талановитих людини які ось так почали щось писати, а потім забили. Після перемоги створю продюсерську агенцію та буду шукати молоді таланти, зроблю реаліті шоу та буду підіймати укртґ. Звісно не вкладеш свій фреймворк людям в голову, і робити ріжка з кожного зустрічного не вийде, а головна проблема яку я бачу у людей це те що вони не хочуть грати на перемогу, контент розглядають як щось другорядне відносно своєї діяльності, та не розуміють потенціалу маркетингу. Цікаво переосмислити концепцію традиційних продюсерів попвиконавців. Я як був малий то ніяк не міг догнати чому ім'я продюсера завжди згадується так само часто як і умовна назва колективу, ну типу ж співає та грає ось та людина, до чого тут якийсь лівий чєл? А виявляється що воно он як працює. ### Практичні рекомендації щодо боротьби зі свавіллям ТЦК: працюємо проактивно URL: https://www.rozhkov.me/preparing-for-war-proactive/ Last updated: 2023-08-11T13:49:58.000Z В [попередньому дописі](https://www.rozhkov.me/preparing-for-war-babybox/) я розглянув варіанти які дозволяють максимально дистанціюватися від бойових дій. Якщо ж ви не проти подвіжувати та вкластися у перемогу, то для вас теж маю план. Нагадую, задача це максимально підвищити свої шанси на виживання. Один з головних факторів, який на це впливатиме, це підрозділ куди ви потрапите. За півтора року війни ми бачили різні приклади — і коли людей клали заради картинки, і коли бригади повністю змінювали вклад через втрати, всяке було. Це війна, а збройні сили — гігантська організація в якій працюють дуже різні люди. Вважаю що люди, які вас оточуватимуть, мають колосальне значення, і в першу чергу потрібно дивитися на них. Навряд чи хтось хоче потрапити в роту аватарів та немотивованих мобіків яких наловили по райцентрах. Війна це командна робота, і якщо ваші побратими вас підставлять, то вам гаплик, яким би рексом ви не були. Тому щоб просто так йти в ТЦК то треба бути дуже вмотивованою людиною. Бо вас пошлють туди де треба закрити посаду, а не куди ви хочете. ### Тріал Я б розглядав тільки ті підрозділи, в яких воюють виключно добровольці, і проводиться відбір. Чим жорсткіший відбір, тим краще, але зараз планка опускається через вичерпування мобілізаційного ресурсу. Другий надзвичайно важливий фактор — це КМБ (курс молодого бійця, базова загальновійськова та фізична підготовка) **до** мобілізації. Такі підрозділи як 3-я ОШБр, Кракен та інші, спочатку ретельно тестують кандидатів, а вже потім у вас буде вибір йти чи не йти. Зазвичай КМБ це навчання-тренування тривалістю в місяць, після чого ви можете прийняти рішення про приєднання до підрозділу. Вважаю таку схему серйозно недооціненою. Головну проблему мобілізаційної кампанії я бачу як невідомість та невизначеність. Людина не знає що з нею буде і відповідно не хоче нікуди йти, бо там вб'ють ні за цапову душу. Невизначеність — страх та уникання. Знання — робота з ризиками та підготовка. Можливо пізніше я спробую скласти список підрозділів в яких є «тріал-період» на якому ви можете визначити чи воно дійсно вам треба. Якщо ви знаєте такі, то пишіть у коменти. ### Знайомства Крім того, можна попасти в потрібний підрозділ через знайомих або знайомих знайомих. Всі знають що Мадяр проводить набори (втім туди досить складно, або неможливо потрапити), інші медійні військові часто публікують «вакансії». Наприклад не так давно один з офіцерів полка «Ґерць» розмістив у твітері [оголошення про пошук людей на посади дронщиків](https://twitter.com/adamovvd/status/1662893432656805897). Я йому написав та отримав відповідь. Пробігає і багато інших «інсайдерських» вакансій. Підписуйтесь у твітері на військових та тримайте руку на пульсі. Питайте в знайомих військових, волонтерів. Вам потрібно зібрати максимум інформації, щоб спланувати всі ризики. Що за підрозділ, яке командування, яке забезпечення, де працюють. ### Викрадення Відомі факти коли людей забирають собі не ті бригади, в які вони мали відношення, армійська бюрократія перекреслює всі ваші плани й взагалі відбувається повна херня. Це факт, наприклад нещодавно у твітері чоловік підняв кіпіш, бо всіх людей з учєбки де він був хотіла собі забрати якась мутна нова м'ясна бригада. Зазвичай підрозділи мають «свої» ТЦК через які потрібно буде оформлюватися, ці речі та ризики вам потрібно буде уточнювати. --- У підсумку ви маєте два варіанти: 1. Нічого не робити та сподіватися що повістка вас омине, а якщо не омине, то поїхати на 3 тижні в Десну, а потім безславно забаранитися під Куп'янськом. 2. Діяти на випередження та шукати варіанти. Будь-який шанс в ∞ разів більше ніж 0. Думайте. Завтра загальні поради. ### Практичні рекомендації щодо боротьби зі свавіллям ТЦК URL: https://www.rozhkov.me/preparing-for-war-babybox/ Last updated: 2023-08-11T13:49:22.000Z Війну не виграти без людей. Люди гинуть, калічаться, втомлюються, їх потрібно міняти. В суспільстві спостерігаємо цікаву дихотомію, з одного боку «та ми зараз їх!», а з іншого «біля ТЦ стоїть бус з людьми у формі, будьте обережні», «мобілізація неконституційна» та «випустіть чоловіків за кордон!». Умовно, я б розділив всіх на п'ять категорій: 1. Люди які за будь-яку ціну хочуть виїхати, швидше за все вони вже це зробили, «бебібоксери» 2. Люди які за будь-яку ціну хочуть уникнути участі в бойових діях, але не мають волі або можливості виїхати, ті, хто думають що їм допоможе «адвокат» 3. Люди які нічого не роблять, але й не поспішають на війну. Дадуть повістку то дадуть, підуть воювати, що поробиш, «сіра більшість» 4. Люди які готуються та шукають можливості потрапити у збройні сили куди треба, а не куди відправить товариш комісар 5. Добровольці, які вже на війні, або обивають пороги ТЦК у спробах влаштуватися Не буду давати моральну оцінку цим категоріям, а відразу перейду до конкретики. Перше, нити та зрадойобити в інтернеті немає жодного сенсу. Якщо ви помічаєте себе в коментах під постами з відео де людей пакують в буси, то раджу це припинити, бо від порожньої балачки користі немає. Порозважайтесь якось інакше. Друге, поки ви ще не їдете на полігон, у вас є дуже багато свободи, якою варто розумно розпорядитися. Сформулюю задачу яку пропоную вирішити: **«зробити все, щоб максимально підвищити свої шанси на виживання»**. Від цього і працюємо. Війна — це ризик. Ризик отримати ракету на голову у себе дома, ризик загинути цивільним в прифронтових територіях, ризик стати безпосереднім учасником бойових дій. Цей ризик є досить високим, але прогнозованим, і з ним можна працювати. Я ще раз пропоную вам негайно припинити скиглити про клятих чиновників які всрали ракетну програму, про пса патрона який розмінував чонгар та про свавілля і дачі ТЦК і сфокусуватися на конкретних діях. Найгірше що з вами може трапитися — це коли вас заберуть і ви вже ніяк не зможете впливати на свою долю. І ні ваші «друзі» з коментів, ні адвокат, ніхто вам вже не допоможе. Ви повинні мати план. Тут у нас розгалуження. Перша гілка — всіма способами уникнути бойових дій. Друга — максимізувати шанси на виживання у випадку мобілізації, або діяти на упередження. ### Бебібокс Відомо що за деякий прайс ви можете купити собі бебібокс, та виїхати за кордон. Зараз ціна піднялась і гайки закручуються, але раніше це питання вирішувалось. Декілька людей з чату вже чаляться десь в теплих краях. Не можу дати вам конкретні контакти, це ваша відповідальність і ваша задача — шукати знайомих через знайомих, рішал і тд. Це все реально і можливо. Прийміть рішення та працюйте на таку собі «перемогу». ### Тилові вакансії Якщо ви вирішили залишитися, то потрібно вже почати працювати над тим щоб влаштуватися на тилову посаду. Є багато позицій пов'язаних з програмуванням, мережами та безпекою. Найвідоміша організація яка займається піаром це [LX Army](https://t.me/lobbyxArmy). Йдіть на їх канал та дивіться. Не читайте зрадойобів які кажуть що неможливо знайти таку роботу, просто спробуйте податися та пройти співбесіду. Шукайте можливості, шукайте знайомих, пишіть військовим які є в лінкедіні та на доу, крутіться! Наприклад в моєї колеги чоловіка забрали ще аж в лютому 2022, але йому вдалося перевестися в тил програмістом. Це можливо. Так, у вас не буде високої зп, будуть обмеження і так далі. Але це значно, значно краще ніж потрапити у двіж непідготовленим і повернутися на щиті. Якщо ви реально боїтеся повісток і тд, то це отруює ваше життя, ви ніде не матимете спокою, тому я переконаний що краще втратити в зп та свободі ніж трястися від страху перед виходом з квартири. Час працює проти вас, а війна надовго. Не сидіть на дивані, а думайте що ви робитимете. Завтра говорю про більш активні дії. ### LOX доставка URL: https://www.rozhkov.me/lox-delivery/ Last updated: 2023-08-11T13:48:27.000Z Нещодавно збирав собі комплект для дрона, і частину компонент брав на OLX через «OLX доставку». Обрав модуль тбс кросфаєр, тисну «купити з доставкою», вказую картку, тисну заплатити, олх списує бабки, чекаю. Невдовзі продаван підтверджує покупку, ніби все ок. Через 10 хв пише мені хтось в сігнал. «Вітаю, ви у мене зробили замовлення, але мені треба замовити цю штуку в магазині в Польщі, будете чекати кілька днів?». Ну ок думаю, почекаю, «Так». «Ок, тоді скиньте мені гроші на картку, я замовлення зроблю і вам відправлю». «??? Так я уже зробив OLX покупку, мені списало гроші» «Розумієте, мені потрібні гроші, щоб зробити вам замовлення, бо я не маю своїх грошей» «Так нашо ви мені тоді підтверджували покупку якщо ви просто дропшипер?» «Ну так давайте скасую». Супер, думаю, чому тіп відразу не написав що в нього немає в наявності цих запчастин і він їх возить тільки під повну передплату. Річ у тім що OLX доставка це не просто списання коштів, а переказ на іншу карту. Відповідно застосовуються комісії у Привату, яким я користусь, це 0.5%. А коли продавець скасовує покупку, то тобі назад повертаються кошти без цих 0.5%. Воно звичайно дрібниця, але на умовних 10к вже 50 грн, на які я б міг купити собі щось смачненьке. Перший раз, ще давніше, я ще й через незнання попав на комісію за використання кредитних коштів. От так ми пограли в дурня на суму комісії привату. Після того я додав собі картку Моно і надалі покупки роблю тільки через Моно, бо там немає комісії за переказ. Потім той чоловік ще довго вмовляв мене купити товар саме у нього, але я пішов до іншого продавця. У іншого я побачив опцію «доставка Міст». Вона дешевша ніж нова пошта, яка взагалі ломить нереальні ціни. Ну думаю дай спробую Міст. Обираю, купую (вже через моно). Наступного дня звонить тіп. «Ви», каже, «обрали доставку через міст, але річ у тім що я військовий і можу тільки через нову пошту, тому що в мене там спеціальна людина відправляє. Тому давайте скасуємо і замовите через НП» Ок тіп, навіщо ти тоді підтверджував покупку? Але вршеті він не скасував та знайшов можливість відправити через Міст і все дійшло як треба. Отакі от лохівські доставки маю. Це перший раз такі дива, до того я брав багато товарів без жодних проблем. ### Таємничий двіж URL: https://www.rozhkov.me/secret-projects/ Last updated: 2023-08-11T13:46:24.000Z Найнеприємніше що може трапитися з блогером — це взяти участь в якійсь крутій двіжусі, але не мати можливості розповісти про це широкому загалу. Термінальний варіант цієї історії ви можете подивитися в кіно «[Wag the Dog](https://en.wikipedia.org/wiki/Wag%5Fthe%5FDog)». Наприклад, ще у 2018 я працював над дуже прикольним в багатьох аспектах проєктом, з якого могла б вийти класна серія постів. Але проєкт секретний, NDA підписано, є деякі комерційні таємниці, і про це не можна розповідати, а то мене засудять на сотні тищ доларів. Тому, звичайно, класно брати участь в речах, де є можливість про все розповісти, а керівництво заохочує працівників ділитися досвідом. Саме таким був databand.ai, але на жаль там мені не вдалося повністю розкрити весь можливий потенціал. А от коли робиш щось, про що не можна розповідати, або потрібно все узгоджувати то воно звичайно не круто. ### API до банківських рахунків URL: https://www.rozhkov.me/programmable-bank/ Last updated: 2023-08-11T13:44:00.000Z Колись давно побачив на HN [пост](https://news.ycombinator.com/item?id=14256300) про програмуємий банківський рахунок. Відкриваєш рахунок і отримуєш до нього повне API, «Root is a new kind of bank account with full API access». Я тоді не зрозумів приколу навіщо це потрібно, але виглядало цікаво, можете подивитися [їх лендінг на архіві](https://web.archive.org/web/20171014175307/https://root.co.za/). Згодом цей стартап зробив півот в бік страхування, закрив банківський продукт та передав його іншій компанії, [Investec](https://www.offerzen.com/community/investec/). Зараз зрозумів наскільки це крута штука. Просто робити перекази грошей куди треба було б для мене супер зручним. Наприклад в мене є задача за деяким алгоритмом розкидати гроші по купі монобанок і це ніяк не можливо автоматизувати. Автоматично переказати гроші близьким якщо вони цього потребують, робити якісь платежі та відрахування. Можливостей безліч! *Можна було б викинути апки банків і нарешті написати свою.* Так, деякі рудиментарні функції є в банківських апках, але цього недостатньо. Дуже шкода що наші банківські API знаходяться в зародковому стані та обмежуються інформаційними методами — виписка та вебхук на транзакції. Зрозуміло що тут є дуже багато питань щодо безпеки, лімітам на операції й так далі. Випадково запостиш свій ключ на гітхаб і ось уже залишився буквально без грошей. Наскільки я розумію, криптовалюти повністю розв'язують це питання, але як показує час, це маргінальне рішення яке не має майбутнього. Торік я зарегався на бінансі, щоб отримати донат у 200 баксів і був неприємно здивований жахливим та недружнім до людини UX. Так що чекаємо на повноцінні API до карток, гадаю що рано чи пізно хтось це зробить. P.S.: Нагадую про банку на котиків: . ### Обурення🤬 URL: https://www.rozhkov.me/daily/disappointment/ Last updated: 2023-07-21T07:00:00.000Z Останнім часом увагу громадськості значною мірою прикуто до різного штибу «недоречних витрат» місцевих та інших бюджетів. Барабанні установки, стадіони, дороги, телесеріали, продовжить далі. Звичайно в часи коли ми всім гуртом скидаємося на корча хлопцям, на дрони, та іншу підтримку військовим, у нас виникають серйозні питання в доцільності тих витрат. Це зауваження не тільки до таких «великих» бюджетів, а й до малих, наприклад вчора до мене завітала жіночка, щоб опломбувати домовий лічильник тепла. Поки вона робила свою справу то скаржилась, навіщо під час війни робити повірку та опломбування лічильників? То ж на масштабі міста досить великі гроші, а могли б накупити FPV-дронів. Звичайно мене теж це обурює. Але я не розумію якою має бути конструктивна реакція на це, який інструмент ми можемо застосувати? Просто перетирати це в чатах немає ніякого сенсу. Тиснути лайком у твітері та фейсбуці та сподіватися що медійний розголос примусить владу щось з цим зробити? Де інструмент? Звернення до депутатів? Листи у профільні установи? Збір підписів? Що ще? Не розумію що *конкретно* робити, а сподіватися тільки на розголос — ну таке. ### Вибір банку для ФОП URL: https://www.rozhkov.me/bank-for-entrepreneur/ Last updated: 2023-07-19T12:04:27.000Z *Астрологи оголосили тиждень ФОПів. Популяція дрібних підприємців подвоїлась.* Вибір банку є дуже важливим. Раніше все було складно, бо багато банків не мали вебверсій і потрібно було ставити та запускати всілякі, прости Г-ди, аплети. Зараз життя значно спростилося. Але крім софта нам важливі внутрішні процеси та регуляція банків. Як відбувається отримання «зп» «підприємцем»? Ви маєте сформувати акт виконаних робіт, він же інвойс, та відправити його клієнту. В інвойсі зазначені реквізити вашого рахунку. Клієнт бере номер цього інвойсу та вказує його у призначенні платежу. Коли вам приходять гроші то ваш банк має переконатися що ви отримали їх за підприємницьку діяльність, а не просто так. Тому ви повинні надати у свій банк цей самий інвойс. Якщо все ок, вам заходять гроші й ви йдете пити лавандовий раф та писати коменти про контрактну армію на ДОУ. Щоб спростити життя собі та «працівникам», фірми тримають штат бухгалтерів які роблять ті інвойси за вас, бо їх форма може відрізнятися в залежності від юрисдикції фірми, тому примушувати кожного генерити їх самостійно недоцільно. Виходить трохи тупо що контора якій ви «надаєте послуги» за вас же і робить інвойс, але вже шо є🤷‍♂️ Крім інвойсу банк може вимагати контракт з конкретним контрагентом. Так от, фактично у мене вибір банку зводиться до питання чи вони їдять мозок за ті інвойси та контракти чи ні. Я давній користувач Привату, і там папери нікому нецікаві. Коли ви отримуєте перший платіж від фірми, то робите в Приваті «контракт», чіпляєте туди пдф з контрактом та пдф з інвойсом і все. Всі наступні платежі заходять вам автоматично, нічого не треба робити. УкрСиб, ОТП та інші банки раніше дуже сильно дрочили за ті інвойси, спочатку вимагали носити їх у відділення в паперовій формі, потім просили завантажувати скани й так далі. Не знаю як зараз, можливо ситуація змінилась, але раніше це був реальний напряг. Також інші банки мали дуже поганий клієнт банк. Приват був першим хто працював в браузері. Тому вибір для мене очевидний. Я сиджу на Приваті з 2015, у 2018 мав короткий епізод з УкрСибом і був неприємно вражений їх сервісом. Швидше за все зараз все покращилося, але мотивації змінювати банк у мене нема. За 8 років не було ніяких приколів, а от моїх колег з інших банках задрочували всякою хернею. Буває так що контора задля стандартизації процесів просить вас відкрити рахунок у «рекомендованому» банку. Тоді вам діватися нікуди, їжте що дають. ### Валюта Якщо ви отримуєте гроші у валюті, а не ганебний «гривневий еквівалент», то вам ту валюту треба буде міняти. В приваті це можна робити з їх мобільної апки. Є і мінус. Ви завжди міняєте валюту по внутрішньому курсу банку. Часто він відрізняється на пару коп від «ринкового». В інших банках валюту можна продавати на міжбанківських торгах. Робити заявку, ставити ціну спред оте все. Як на серйозній біржі. Приват крутить гроші всередині себе, як форекс, де лохи грають один з одним, хоча думають що «торгують валютні пари» на глобальному ринку. У військовий час це питання не таке актуальне, бо ми всі зараз втрачаємо на курсовій різниці. Але якщо ви любите зекономити, то інші банки радо дадуть вам можливість пограти на біржі. Плюс привату в тому, що валюта міняється фактично цілодобово і за одну хвилину. Мені це часто допомагає коли треба відвалити купу кешу. Раніше Моно пропонував мутку з «доларовим депозитом», але зараз, наскільки мені відомо, її прикрили. ### Банк для фізика Найприємніше те, що ви можете мати рахунки та картки у будь-яких інших банках і кидати туди гроші просто на реквізити за комісію у 3 грн. Так, у мене є картка Моно і я заливаю гроші туди з привату та спокійно користуюсь. Тому тут що кому комфортно. ### Висновки Новачок? Беріть приват, вони не дрочать, мають топовий вебклієнт, звітність, та швидко міняють валюту. Ветеран? Тоді самі знаєте. Свої варіанти — у коменти👇 ### Ведемо ФОП правильно📥📤 URL: https://www.rozhkov.me/accounting-done-right/ Last updated: 2023-07-18T13:18:02.000Z Бум індустрії та спеціфка роботи великих українських компаній призвели до інфантилізації пересічного ІТ-фахівця. Вважаю що податки мають платитися як в цивілізованих країнах: всі громадяни мають отримувати «брутто» зп або прибуток, а потім самостійно підраховувати податки та знижки та подавати декларацію. Втім поки цього не сталося, і щоб айтішнічку жилося комфортно, затишна галера радо запропонує вам ведення бухгалтерії. Початківець радо приймає пропозицію, а коли потужні хвилі ринку викидають його за борт і доводиться шукати нове місце, де може не бути штатного бухгалтера, то починаються питання. Нас всіх мала поглинути та накрити мідною тацею Дія Сіті, але війна відтермінувала загарбницькі плани, тому тема досі актуальна. Розбираємося як правильно платити та чим користуватися. Отож, всі ми, хто ще не зібрав на бебі-бокс, або не влаштувався гіг-воркером, або не працює як біла людина, сидимо на 3-ій групі. Це значить що зі всіх грошей які заходять нам на підприємницький рахунок, треба заплатити 5% Єдиного Податку. Поза тим, є Єдиний Соціальний Внесок який має обмежену по низу суму. Якщо порівнювати з бухгалтерією дрібних підприємств з хоч одним працівником, то ситуація в нас настільки проста що навіть неясно що тут обговорювати, але ці питання регулярно підіймаються, навіть у нас в чаті. Отже, ось вам готова схема роботи: В день надходження коштів на ваш рахунок ви записуєте суму в ексель. Якщо це валюта, то дивитися курс НБУ на цей день і множите одне на інше та отримуєте гривневий еквівалент. Праворуч від комірки з гривневим еквівалентом ви робите формулу де множите це на 5% і отримуєте суму свого податку. По фіксуванню прибутків все. Ця операція займає рівно 10 секунд і ви витратите на її аутсорс або автоматизацію більше часу аніж будете заповнювати ті комірки все життя вручну. Інтеграції з банками й інше не вартують того. Якщо ви на фултаймі, то маєте таких операцій 12 штук на рік. **Звітність.** Заходите в кабінет платника . Він зараз підтримує Bank ID тому навіть ключі не треба. Переходите на «Введення звітності», там обираєте свій звіт («Податкова декларація платника єдиного податку...»), тиснете створити та вперед. У звіті вам потрібно заповнити одне число — це суму вашого прибутку за звітний період. Підписуєте і відправляєте. **Оплата.** Якщо вашу декларацію успішно прийнято, то в тому ж кабінеті платника у «Стані розрахунків з бюджетом» вам буде нараховано податковий борг. Збоку тиснете на кнопку та отримуєте реквізити. Йдете у свій онлайн банк та платите. За цей комплект: заповнити ексель + подати декларацію + заплатити, бухгалтери беруть \~1000₴ на місяць. Електронні звіти можна подавати й через банк, я роблю це через приват, не знаю як справи в інших банках. Приват сам підтягує всю суму грошей з рахунків, але я все одно тримаю це на контролі. Тому що **ні банк, ні бухгалтер не несуть ніякої відповідальності за подачу (або неподачу) невірних даних у податкову**. Я так один раз попав на пеню, бо мені щось неправильно нарахували, а я не перевірив. Запам'ятайте — подача правильної звітності та сплата податків — це виключно ваш обов'язок та ваша відповідальність. Щодо сторонніх сервісів типу Таксеру. Платні версії цих сервісів вам не потрібні! Я мав підписку на таксер, але потім подумав що заповнювати ті самі числа та подавати ту саму декларацію я можу і через клієнт-банк, і мені не потрібна програма-посередник. Тому ним я більше не користуюсь. Буває що заходжу чисто як довідник подивитися куди платити, але це доступно і на безплатній версії. Ще раз — поки це все так просто, то **вам не потрібні ні бухгалтери, ні платні таксери, нічого**. Бонусом будете мати покращену приватність та більше контролю за власними фінансами. В інтернеті є купа відео як це все робити, тому що бухгалтерія потрібна всім, а не тільки ІТ фахівцям. P.S.: звіт по ЄСВ та сплату ЄСВ подужаєте самі, я у вас вірю!🧑‍💼 ### Як отримати посвідчення водія: практичний іспит без хабаря URL: https://www.rozhkov.me/how-to-get-driver-license-exam/ Last updated: 2023-07-14T09:38:31.000Z Я хочу спростувати міф що практичний іспит неможливо скласти без хабаря. Для мене це принципове питання. Головна причина чому люди вважають що іспит скласти неможливо — бо вони не хочуть готуватися та працювати. Маємо замкнене коло: люди не хочуть вчитися → не набувають достатнього рівня, щоб скласти іспит → не складають → не хочуть працювати над собою → дають хабаря → розповідають всім що без хабаря скласти іспит неможливо. Уроборос корупції. Коли стояв в черзі за талонами то влаштував зарубу з двома жіночками які мене переконували що інспектори валять, що скласти не можна, що вся система проти чесних людей. І що її доченьку іроди завалили. На запитання що ж такого трапилося виявилося що доченька відкатала 20 годин з яких 0 годин по маршрутах, а на самому іспиті два рази заглухла посеред дороги та зробила ще якусь помилку. У фейсбуці є група [«Права без хабарів»](https://www.facebook.com/groups/183902616289547/). Там люди діляться історіями успіху. Заохочую вас почитати, націлитися на працю, та не підтримувати корупцію. Для мене складання іспиту без хабаря було принциповим. [Складні речі потрібно робити для себе](https://blog.nateliason.com/p/proof-you-can-do-hard-things). **Секрет успіху надзвичайно простий.** Всі маршрути по, яких ви будете їздити є стандартні та [відкриті для вивчення](https://hsc.gov.ua/index/poslugi/vidacha-posvidchennya-vodiya/marshruti/). Інструктори які вас вчитимуть, знають всі ці маршрути та знають, які вимоги пред'являються до учнів і на які місця треба звернути увагу. Для того, щоб скласти іспит вам достатньо добре орієнтуватися по маршрутах. Як я вже вказував, мені вистачило 7 занять (2-3 з яких були просто щоб не забути), щоб вивчити весь район Туполєва, всі знаки, всі місця для паркування, всі місця де треба бути обережним. Як результат на іспиті я допустив помилку рівно на тому місці, яке не відпрацював🤡 — зупинку. Я зупинявся на всіх вулицях крім однієї, яку ми просто проїжджали та проговорювали, але не відпрацьовували. Інспектор попросив стати якраз в тому місці, я припаркувався, але коли він дав команду рушати, то завтикав що дорога має схил, дав мало газу і заглух🤡, відкотився назад, та ще й вперся колесом в бордюр. Один фейл на порожньому місці — дві помилки в лист. Тому не лінуйтеся, та вивчіть і відпрацюйте маршрути. Це не бозна-яка праця, і це точно зробить вас уважнішим та скіловішим водієм. Звичайно якщо людина від'їздила 20 занять, можливо 1-2 по маршрутах, то вона не буде на 100% впевнена. Звідси й беруться історії про те як «валять». Обидва інструктори мені казали: інспекторам не треба додавати зусиль, щоб вас завалити. Якщо ви невпевнено їдете, то легко наробите помилок. Не скажу за інші міста, але в Києві точно так. Мені попався найприскіпливіший інспектор зі всіх. Крім того, я змушений був чекати з 12 дня аж до самого вечору. У підсумку крім тих двох я зробив ще якусь помилку, десь не увімкнув поворотник. Але інспектор зважаючи на те, як я проїхав решту маршруту, вирішив не зараховувати мені те що я заглух та поставив «складено». Хоча мав всі підстави на зворотне, а я морально готувався до другої спроби. Як мені пояснили інструктори, інспектори зважають на серйозність похибок, наприклад жіночка яку попросили запаркуватися з розгону задом поїхала в іншу машину і завершила іспит навіть не виїжджаючи з парковки ТСЦ. Інша — мало не наїхала на пішохода і теж завершила на старті. Я складав на інструкторському авто, але сервісні авто це новенькі хундаї, тому на них теж без проблем можна скласти. На цьому все. Заохочую вас обрати школу, добре вивчитися, скласти іспити, купити машину та відкрити для себе новий вимір свободи ~~та фрустрацію від пошуків місця для паркування~~. P.S.: ситуації бородатої давнини коли долар був по 5, а права 500 гривень, не розглядаємо. P.P.S.: якщо ви в Києві, то йдіть в школу яка має реєстрацію на Перемоги 20, бо там простіші маршрути, менше черги та якісний сервіс. ### Як отримати посвідчення водія: інструктори URL: https://www.rozhkov.me/how-to-get-driver-license-instructors/ Last updated: 2023-07-13T07:57:59.000Z Інструктор в нашій історії головніший і за авто і за маршрути. В мене були адекватні інструктори, я можу порівняти, це 5 різних людей: один від автошколи на легкову, троє різних на Чайці, ще один від на вантажівку з яким я також катався на легковій. У всіх був трішки різний підхід. Інструктор від школи був зосереджений на навичках необхідних для складання іспиту, ми їздили повільно та відпрацьовували маршрути. Чайківські інструктори мали свої, «екстремальні» задачі. Інструктор на вантажівку навпаки був сфокусований на високій швидкості та напрацюванню практичної їзди, як в житті. Всі були спокійні, ніхто не кіпішував, не кричав. Були моменти розчарування, було пару раз коли я мало не встряг у халепу, але загалом досвід у мене позитивний. Жодного разу я не їздив по інструкторських справах. Весь час повністю був присвячений навчанню. Пару раз заїхали на заправку коли це було по дорозі, та й все. Розповсюджені скарги від учнів — це байдужість, кіпіш та крики, мізогінія, їзда не по ділу, а по інструкторських справах. Тому **не бійтеся змінювати інструктора**. Ви не зобов'язані терпіти погане ставлення та заслуговуєте на хороший сервіс. Не підходить цей — шукайте іншого. Спочатку мені здалося, що автошкільний інструктор не дуже мотивований мене вчити. Я вже почав собі надумувати конспірологічні теорії змови про те що вони заодно з ТСЦ і не вчать учнів, бо ті все одно будуть давати хабар, з якого школа має відсоток. Але згодом виявилося що він був трішки не в настрої з особистих причин, а школи мають з хабаря зовсім небагато, щоб це було їх реальною мотивацією. Наприклад інший інструктор сказав що не бере участі в корупційних схемах, бо гроші надто малі. Звичайно ситуації бувають різні. Але цінуйте себе і все буде ок. Також рекомендую взяти інструктора по рекомендації та просто поїздити та порівняти. Зайвим не буде. Що робити з інструкторами-мізогінами я не знаю. Пробуйте інструкторок, хоча по відгуках там теж мізогінія квітне, пробуйте інших поки не знайдете адекватного. Тепер щодо кількості занять. Автошкола швидше за все запропонує вам стандартний пакет у 20 занять. Щоб бути готовим складати іспит, мені цього не вистачило явно. Я навіть не перестав глухнути за цей час і не навчився працювати з механікою. Тому добирав додаткові заняття, записався на базовий курс в Чайку та ганяв на газоні. Десь після 40 годин накату я вже перестав звертати увагу на ручку з педалями та зміг сфокусуватися на дорозі. Загалом я мав 36 годин на легковій, 9 годин на вантажівці, 12 годин на Чайці. Чисто на відпрацювання маршрутів ну Туполєва я витратив 7 занять, останні з яких вже були раз на тиждень просто щоб не забути що до чого. В сумі маю \~60 годин. Цього вистачило, щоб успішно скласти іспит, вийти, сісти в нашого буса і без проблем та кіпішу поїхати куди треба. Головна проблема яку бачу у людей що скаржаться на те що «неможливо скласти самостійно, бо валять» — це банальна ненавченість. Автошколи пропонують людям 20 годин і люди думають за 20 годин вони чомусь навчаться. На мій погляд, це не відповідає дійсності. Звісно є винятки — талановиті люди які пройшли мій шлях за втричі менший час, можемо за них порадіти, але гадаю що більшість мають ± мої здібності. Тепер порахуймо економіку. Сума хабаря у Києві зараз складає \~300$. На ці гроші можна взяти \~22 заняття й набути потрібного скілу не тільки для складання іспиту, а й взагалі. Люди думають що вони «економлять час» коли дають хабаря, але це не так. Зекономите ви хіба що півдня на очікуванні в ТСЦ, а далі муситиме знову винаймати інструктора і викатувати ті самі години. Тому навіть економічного сенсу в хабарі немає. Вважаю що з автошколи ви повинні вийти повністю підготовленими до дороги. Ніяких «довчуся з інструктором на своєму авто» і тд. Отримав посвідчення, тут же сів і поїхав, інакше це ганьба. Завтра фінальна частина — практичний іспит. ### Як отримати посвідчення водія: вчимося їздити! URL: https://www.rozhkov.me/how-to-get-driver-license-learning-to-drive/ Last updated: 2023-07-12T10:07:05.000Z Найцікавіше в нашій розповіді — власне їзда. Питання «механіка vs автомат». Не бачу жодних причин не опанувати механіку. В наші буремні часи це може бути життєво важливим. Поза тим, ви просто будете мати ширший вибір транспорту. Щодо «скіл механіки втратиться після їзди на автоматі». Нічого не втрачається. Моя дружина вчилась на механіці, отримала посвідчення у 2018 році, і до 2023 каталась на автоматі. Коли в нас з'явився бус, то я буквально за пів дня допоміг їй згадати всі нюанси, і вже за тиждень вона сама їхала з Києва до Краматорська без жодних проблем. Головна проблема яка була у мене — це заглухання двигуна. Відбувається це від того що педалі досить чутливі та поки не напрацювалась звичка, то незрозуміло наскільки сильно треба тиснути, як швидко відпускати, та як поводитися при зниженні швидкості. Для того, щоб цьому навчитися потрібен просто накат. Але крім цього є ще декілька моментів. Маю для вас поради, які б я хотів дати собі перед навчанням ### Вибір навчального авто Я вчився на бензиновому ZAZ Vida. Це авто, на мій дотик, супер чутливе, і тому мені було дуже складно правильно ловити та тримати точку зчеплення. Відповідно я постійно глух, в мене постійно горіла срака, а в машини зчепа. Коли я вирішив трохи підтягнути скіл та піти у [Чайку](https://www.rozhkov.me/chayka/), де сів за вбиту BMW, то я був надзвичайно здивований тим, як вона прощає помилки. Недодав газу, кинув зчепу — все ок, машина витягує. Заз би заглух. На чайці я відчув що таке отримувати задоволення від поїздки, а не просто виживати. Дизельні автомобілі ще більше прощають помилки, бо мають більший крутний момент і витягують вас навіть якщо ви працюєте грубо. З цього маю два висновки. З одного боку, вчитися на вітчизняному автопромі це хардкор після якого ви зможете їздити на чому завгодно. З іншого, фрустрація від відсутності прогресу та того що не виходить дуже сильно злить і демотивує. Але після поїздок на іномарках я став краще відчувати того Заза, і став на ньому нормально їздити. Зараз більше схиляюсь все-таки до того, щоб вчитися на хорошій іномарці. ### Вибір навчальних маршрутів Це важливіше ніж авто. Я вчився на Соломі, де складний рельєф та постійні затори. Складний рельєф — не можеш відпрацювати зчепу. Постійні затори — не маєш часу на помилки. Забув понизити передачу на повороті + невеликий підйом + ззаду починають сигналити = стрес який заважає комфортному навчанню. Тут я зіткнувся зі складністю старту під гірку. Інструктор не дав можливості потренувати його окремо, тому кожного разу я страждав, а коли ми повзли догори у заторі по Повітрофлотському то я просто панікував та змушений був покладатися на допомогу інструктора. Згодом інструктор запропонував покататися на лівому березі по рівному та з низьким трафіком, і що б ви подумали? Я жодного разу не заглух і нарешті мав можливість зосередитися на дорожній обстановці та маневрах, а не на зчепі. Моя рекомендація тут — однозначно вибирайте місце де немає перепадів висот та складного рельєфу, це зекономить вам купу нервів. Підвищуйте складність поступово. Реально, перші 10 занять я просто змарнував. ### Додаток: Дракончик Я також окремо вчився на кат С, вантажівки без причепів. Вчився я вже з іншим інструктором на ГАЗ-3309, «Дракончик». Це 7-тонна вантажівка взагалі без електроніки. Сира енергія чотирилітрового дизельного двигуна прямо під вами! Надзвичайно чутливі педалі, пневматичні гальма, величезний габарит та серйозна небезпека для оточення. Однозначно можу сказати що практика на цьому авто зробила мене кращим водієм як з точки зору чистих навичок, так і з розуміння як працюють автомобілі загалом. В мене є свої мотиви отримати цю категорію, тому я не буду рекомендувати це вам, але це теж дуже класний і корисний досвід. Завтра говоримо про інструкторів! ### Як отримати посвідчення водія: теоретичний іспит URL: https://www.rozhkov.me/how-to-get-driver-license-theory-exam/ Last updated: 2023-07-11T11:32:55.000Z ❗️Теоретичний іспит без проблем складається самостійно. Не потрібно платити ніяких хабарів! Хоча я знаю що люди заносять за теорію. Цирк і ганьба! Автошкола повинна вам сказати дату коли ви можете починати складати іспит. Раджу не розтягувати задоволення, а реєструватися на цю дату в ТСЦ. Реєстрація відбувається онлайн на сайті [ТСЦ](https://eq.hsc.gov.ua/)! Логінитесь через Bank ID, обираєте зручний ТСЦ, отримуєте талон. ❗️Ви можете здавати теорію в будь-якому ТСЦ! Якщо ви мешкаєте в Києві, то не потрібно дрочитися з совковим ТСЦ на Туполєва, регайтесь в новий ТСЦ на вул. Перемоги, 20! Деякі школи проводять «внутрішній іспит». Ви сідаєте за комп'ютер у школі та клікаєте на питання. Ваша задача два рази «скласти» іспит допустивши не більше 2 помилок в сумі. Десь це серйозно, десь формальність. В мене була формальність. Я прийшов, проклікав два білети за пару хв, сказав директору що «я склав» і пішов. В день іспиту приходите в ТСЦ з документами, це паспорт-код та меддовідка. Вас викликають по талону, здаєте документи, платите дрібний збір у касі, далі чекаєте черги на іспит. Сам іспит проходить в кабінеті за комп'юторами. Вас запрошують, сідаєте, розпочинаєте, клікаєте на відповіді, відповідаєте на всі питання, ви чудові! Всі питання що ви побачите на іспиті повністю ідентичні тим що ви проходили на тестах. Якщо ви підготувалися, то у вас не має виникнути жодних проблем. Я дуже здивувався коли бачив людей які реально потіли над питаннями у школі, робили купу помилок, потім бачив таких же людей які так само потіли у ТСЦ сиділи там щось думали. Це тому, що вони не проходили тестів взагалі та покладалися на свої «знання». За моїми спостереженнями люди просто не хочуть [працювати на ціль](https://www.rozhkov.me/process-vs-result/) — пройти тести, а єблують та займаються незрозуміло чим, замість того, щоб досконально все вивчити. При складанні іспиту головне не поспішати. Деякі питання містять каверзні формулювання, подвійні заперечення та дуже схожі умови (наприклад зупинка пасажирського транспорту у місті та за містом має різні правила по пріоритету руху, хоча картинка, на перший погляд, виглядає однаково). Якщо точно не впевнені у відповіді, то лишіть питання на потім. Втім, все це вам розкажуть у школі. Моя головна порада — не затягуйте зі складанням теоретичного іспиту. Один тиждень підготовки по годині-півтори на день і ви без проблем все складете. Я складав теорію в ТСЦ на Перемоги 20, склав з першого разу, 19/20\. Я подав документи ще й на категорію С, там в білетах йдуть додаткові питання по вантажівках, але мені вони чомусь не попались🤷‍♂️ ☝️Головна причина чому не варто затягувати це те що ви можете складати практичний іспит лише через якийсь час після успішного складання теоретичного. Для категорії В це місяць чи півтора. Тобто якщо ви тягнете з теорією, то практика автоматично відтерміновується. І якщо ви, як і я, почнете їздити з інструктором до того, як складете теорію, то потім будете змушені добирати уроки, щоб не втратити скіл. Тому ставте собі дедлайн та дотримуйтесь його. Задача досить проста, потрібно лише трохи посидіти над білетами. Завтра говоримо про практику! ### Pay to comment URL: https://www.rozhkov.me/daily/pay-to-comment/ Last updated: 2023-07-10T11:07:52.000Z Коли в коментарі приходить людина і починає писати дурниці, мені хочеться її відразу заблокувати, щоб зекономити собі та іншим час. Але я не готовий це робити, бо наразі залежний від читачів, які підтримують мої збори. Якщо пише дурниці, але донатить, то хай продовжує писати. Я потерплю, аби гроші давали. Статистика говорить що ті, хто коментують найбільше, нічого не донатять, але. На жаль, зараз немає гарантованого способу це дізнатися. Я можу подивитися чи юзер робив донати через @Donate1024Bot, але це не однозначний показник — можливо він закидував гроші в обхід, на ситуативні збори на каналі. Вчора мені спала на думку ідея зробити коментарі платними, але в коментах є люди які не донатять мені, але донатять іншим або мають свою двіжуху. Їх позбавляти права голосу я не хочу. Вчора думав над якимись лімітами, наприклад давати 2 безплатних коменти, а далі тільки за верифікований донат, але гадаю що спільнота моя занадто мала, щоб мати з цього якийсь зиск. Люди відмовляться платити та підуть, бо тут їм немає користі. Також псує все телеграмна система коментів і чатів. Зараз ріжок чат об'єднаний з коментами й там несуться нерелевантні дискусії. Вирішив нічого не робити наразі. Маю інший план. ### Як отримати посвідчення водія: автошкола та теорія URL: https://www.rozhkov.me/how-to-get-driver-license-school-and-theory/ Last updated: 2023-07-11T11:33:07.000Z Минулого тижня нарешті отримав водійські права кат В. Ділюся деталями цього квесту, даю свої поради та заохочую вас до навчання. Цей тиждень присвячується автошколам. Питання потреби в авто обговоримо окремо. Скажу лише що це необхідний скіл який точно стане вам у пригоді. Вчимося тільки на механіці. Це теж обговоримо окремо. Весь мій досвід базується на навчанні та складанні іспитів у Києві у 2023\. Ваш досвід в інших містах та за попередні роки може суттєво відрізнятися, особливо нюанси практичного іспиту. Про інші країни нам нецікаво. *[Бо ми є українці бля і нам тут заєбісь!](https://youtu.be/eQIuLiPbIXc?t=144)* ### Вибір школи Я обирав школу за територіальним принципом — ту що до мене найближча. Не можу порівняти з іншими, але здається що сервіс у всіх ± однаковий. Моя школа пропонувала очні лекції у власному приміщенні або онлайн. Я відвідав половину очних лекцій, щоб розбавити дозвілля та подивитися на інших людей. *Там зустрів підписника — Олег, привіт якщо ти мене досі читаєш.* ❗Постфактум дізнався, що практичний іспит на авто школи можна складати тільки там, де «зареєстрована» ваша автошкола. В Києві є чотири ТСЦ де проводиться іспит: Усенка, Туполєва, Перемоги та на Софіївській борщазі. ТСЦ на Туполєва найстаріший, там зареєстровані практично всі школи та здає весь Київ. Тому там жахливе тісне приміщення, постійно черги та херовий ультра совковий сервіс з жіночками які кричать на тебе якщо не там підпис поставив. ❗️ТСЦ на Перемоги новенький, просторий, там ввічливий персонал і все як має бути. Також там простіші маршрути. Тому якщо ви мешкаєте на правому березі, то я раджу обирати школу яка має там реєстрацію. ❗️Їздити вчитися простіше на рівному. Лівий берег, борщага — ідеально. Про це окремо. Щоб зарегатися, вам потрібно подати в школу фотки своїх документів та меддовідку. Дізнайтеся, чи робить ваша школа довідки. Я пішов у найближчу контору з гугла по запиту «медична довідка автошкола» і мало того що витратив час так ще й переплатив 100₴, бо через школу було б робити дешевше. Далі ви платите прайс і школа вносить вас в базу МВС. Це важливо, бо ви можете знати дату найранішого складання теоретичного іспиту. Здається там має минути 1.5 місяці. Моя школа читає лекції «циклічно». Щоб зекономити, набір учнів ведеться безперервно, а починати ви можете в будь-який момент. Трохи крінж коли ви проходите правила буксирування до того як пройшли види знаків, але директор пояснює що всі теми взаємопов'язані тому це не має особливого значення. *Звичайно, йому ж вигідно брати учнів нон-стоп, а не формувати групи.* Щодо самих лекцій. Все дуже залежить від викладача. В мене був викладач якому це не було цікавим і лекції були нудні. А от директор який викладав в інші дні, розповідав дуже класно і травив кулсторі. ### Теоретична підготовка У вас дві задачі: скласти іспит, та вміти застосовувати правила на дорозі. Ці задачі не тотожні. Спочатку іспит. Він складається з 20 питань. Ви проходите якщо відповідаєте коректно на 18\. Всі питання є доступними та відкритими, як на [офіційному сайті ТСЦ](https://pdr.infotech.gov.ua/), так і на купі сайтів «тести пдд». Щоб скласти іспит вам достатньо пройти всі питання та вивчити правильні відповіді. Я тренувався на сайті Green Way за 300 грн, бо там зручний UX, ви можете обирати будь-який, їх купа на усякий смак. Звичайно більшість питань не просто тупо завчаються, а потребують знання правил («в якому порядку проїдуть транспортні засоби»), але інші потрібно просто запам'ятати («яка частота натискань на грудну клітку при масажі сердця» або «яку допомогу потрібно надати при отруєнні парами бензину»). Я відвідав приблизно половину лекцій та можу сказати що теми які там читалися мені відклалися краще, ніж ті, на які я не ходив. Але згодом я просто почав проходити білети на сайті. На те, щоб досягти середнього результату у 18/20 питань на рандомних білетах я витратив близько 8 годин. *Продовження завтра.* **☝️Практична порада** 👉Прямо зараз ви можете піти в гугл та набрати «автошкола» і обрати найближчу до себе. ### Овнершип URL: https://www.rozhkov.me/ownership/ Last updated: 2023-07-04T09:42:27.000Z Знаєте найпростіший спосіб добитися того, щоб людина мотивовано педалила на вас денно і нощно? Дати ій овнершип. Я неодноразово попадався на цей гачок, і ділюся з вами рецептом. Берете звичайного наївного молодого програміста і даєте йому в розробку продукт. Причому даєте від початку до кінця, щоб всі технічні рішення приймав він. Це дуже важливо! Запрошуєте на продуктові мітинги, вислуховуєте його думки щодо задач, цокаєте та вдаєте що берете це до уваги. Даєте йому можливість працювати на будь-яких технологіях в рамках вашого бюджету та термінів. Платите нормально грошей, не дуже багато, але й не мало. Слідкуєте, щоб він мав повний контроль над рішенням та не міг звинуватити у своїх невдачах нікого, крім самого себе. Ні «архітектора від клієнта», ні «тупих девів з сусіднього відділу», ні «недолугого РМ», нікого. Вся відповідальність на ньому. Робите так, щоб він виростив продукт *сам* та відчував що це *його* справа. Час від часу можна насипати трохи бонусів, але небагато. Вітаю! Ви маєте майже-кофаундера, але на зарплаті та без частки в бізнесі. Лояльного, ефективного, готового покласти свої вихідні за фікс критичної баги. Ну бо юзери крутяться лавеха мутиться, а хто крім нього? Згодом дати йому людей, щоб тіп вже точно вріс корінням у вашу контору, бо це тепер і *його* команда. Відправляйте на конференції, щоб розповідав який у вас крутий продукт та як добре працюється. Давайте йому відповідальність винаймати людей, бо він муситиме «продавати» компанію кандидату, таким чином поглиблюючи та укріплюючи віру у *вашу* справу. Першого разу мене витримали на такому гачку 7 років. Я мав все своє — свій маленький продукт, відносну свободу його розвивати, команду, місце біля вікна та цискофон. Другий раз минуло 5 років. Там в мене взагалі була абсолютна свобода, фактично я був CTO-архітектором-девелопером, і діло вже йшло до частки в одному з бізнесів, але війна ці плани перекреслила. Інші рази навколо було забагато людей, мені не давали свободи, або я був розфокусований через інші обставини, тому ніякого овнершипу не мав. Головне — пильнувати момент поки наш простак не зрозуміє що він насправді має неабияку цінність та не почне цим користуватися. Тут вже на ваш розсуд. Але до того часу ви будете мати надзвичайно ефективного та мотивованого працівника. P.S.: Макс з Джині [шукає](https://djinni.co/jobs/568083-backend-plus-infra/) якраз таку людину. Я не піду, бо там треба фултайм душити пітона за смішні гроші, але ви можете спробувати. Тільки обережно! Овнершип викликає залежність та може зашкодити вашому здоров'ю. ### Гра на перемогу URL: https://www.rozhkov.me/process-vs-result/ Last updated: 2023-07-03T06:24:00.000Z Одна з найбільших моїх фрустрацій відбувається коли люди не виправдовують очікування і не хочуть «грати на перемогу». Якщо ви зберетеся робити музичний гурт та щось там лабать у гаражі, то досить швидко з'ясується що всі учасники зовсім по-різному уявляють результат цієї діяльності. Для когось це просто почілити, а для когось шлях до платинових альбомів та популярності. Коли ти граєш на перемогу, а твої товариші — ні, то вони починають тягнути тебе назад, і потрібно робити вибір, чи ти хочеш досягти результату, чи просто якось провести час. Результат чи процес? Те саме з умовним кіберспортом, зібралися ми значить покатати в контр-страйк, але частина людей не хоче потіти та видавати результат, вони прийшли сюди відпочити після робочого дня. У звичайному спілкуванні, серед живих людей або перехожих в інтернеті, гра на перемогу для мене це спроба принести користь учасникам. І коли ти намагаєшся цю користь якимось чином витягнути, а люди не допомагають тобі або чинять спротив, то срака підгорає і хочеться залишити це місце. Класика коли ти приходиш з запитанням, а тобі мало того що не відповідають, так ще й в пасивно-агресивній формі пояснюють, чому такі запитання ставити не треба. Тому що люди прийшли токсично почілити, а не пограти в гру з позитивною сумою. В роботі те саме. Токсичний колектив де ніхто не хоче працювати на результат (що логічно) — не найкраще місце для розвитку. Якщо він звичайно вам потрібен. Усвідомлення своїх цілей та того що тебе оточують люди, які їх не поділяють, та прийняття рішення йти далі без них — один з ключів до перемоги. В інший бік це теж працює. Якщо вас напрягає тіп який постійно щось вимагає від інших — допоможіть йому зрозуміти куди він потрапив, а колективу здихатися його. ### Волонтерський технічний борг URL: https://www.rozhkov.me/lemon-debt/ Last updated: 2023-08-11T13:44:57.000Z Постійно спостерігаю як волонтери купують корчі за умовні 4к євро, а невдовзі після передачі та звітів за такий же прайс доводять їх до ладу. Срака горить капітально. Всіх можна зрозуміти — зібрати 4к та окремо 2 рази по 2к простіше ніж 8к відразу. Машина може проїздити буквально кілька тижнів (було таке) та попасти під обстріл і не встигнути зламатися, психологічно легше купувати дешевий корч і так далі. Чмута за новенькими нефарбованими хілюксами на всіх немає, на жаль. Тому люди вимушені брати цей борг, свідомо чи несвідомо. Дрони теж втрачають аж бігом, але вони принаймні завжди новенькі, а ремонт роблять не внаслідок уже присутньої зношеності, бо нема грошей на нове, а через об'єктивні фактори. А от з корчами постійно халепа і постійно збори на їх ремонт. Але без того ніяк😐 ### Морозні фрілансери URL: https://www.rozhkov.me/ice-freelancers/ Last updated: 2023-06-28T06:24:00.000Z Розповсюджена тема серед різного штибу гіг-виконавців — зникати та не давати апдейтів по замовленню. Спочатку людина готує сніданками (inb4 підлога країни за рискою зубожіння), а потім просто зникає. Мені ото треба трохи патчів зробити, я побачив в метро піратську рекламу, там інстаграмний акаунт. Написав туди, відповів чоловік, скинув йому шаблон, той назвав ціну та запитав адресу, я все дав. Далі тіп зник. На повідомлення не реагував. В чому проблема відповісти «вибачте не можу зараз зробити ваше замовлення» або «зараз не маю можливості, напишіть через місяць»? Ті патчі я так і не отримав, але і гроші не витратив. Нещодавно блукаючи твітером натрапив на акаунт пані що теж робить патчі. Вона активно веде соцмережі, має трохи підписоти, ну думаю ура, є найдійний виробник. Пишу, кажу так і так треба патчі — «ок, з вас 3000 гривень», питаю карту, скидую гроші, питаю коли чекати — «на початок наступного тижня». Як ви вже здогадалися, на «початок наступного тижня» мені ніхто не відписав. Я почекав ще два дні та ввічливо поцікавився як справи. «Чекаю від дизайнера в суботу має бути та зразу друкуємо». Ну ок. В суботу мені ніхто не пише. Ну думаю ясно все з вами. В цей понеділок вже більш агресивно прошу назвати реальні терміни та не переоцінювати власні сили. Треба почекати — я почекаю, просто скажіть коли і як. «Сьогодні ввечері буду точно знати, дизайнер затримується». Звичайно ж ввечері мені ніхто не відповів. І вчора теж. Я сам був такою людиною двічі. Перший раз ми з моєю компанією реально продовбали дедлайн по одному з проєктів. Я не встигав і просто не знав що відповісти клієнту. А якщо не знаєш що відповісти, то починаєш прокрастинувати та морозитись. Бо не можеш обіцянку нову дати, тому що сам не знаєш коли воно буде зроблено. Другий раз я просто не хотів робити якусь задачу та теж морозився і не відповідав керівнику, аж поки він не дістав мене через телефонний дзвінок. Я розумію що мої 3000 гривнів то не бозна-які гроші, може в тої пані є замовлення на 30000, і моє їй нецікаве. Але чому б просто не сказати про це? Навіщо брати роботу та повну оплату, а потім ігнорувати клієнта? Я б вже просто шукав іншого виконавця і всі були б задоволені. ☝️Як робити правильно? А правильно просто чесно розповісти про всю ситуацію та давати своєчасні апдейти, щоб у замовника була можливість спланувати ризики. «Дизайнер затримується, через тиждень буду знати. Якщо вам це не підходить, то ось ваші гроші». А не падати на мороз та змушувати клієнта постійно пінгувати вас. 🤬 ### Покатеньки URL: https://www.rozhkov.me/daily/cross-country-bike-racing/ Last updated: 2023-06-27T07:00:00.000Z В 14-му році за прикладом колеги купив собі кроскантрійкного ровера. Звісно захотілося десь покататися. Є така спільнота [ВелоКиїв](https://velokyiv.com/forum/viewforum.php?f=1), там для того спеціально зроблений розділ. Організатор покатеньки анонсує дату, маршрут, місце збору та додаткові умови. Зустрічаєшся з тіпами в визначений час ну і їдете. Типу така соціалізація. Вирішив і я вписатися в цей двіж. Обрав якусь «лайтову» поїздку, хоча до того вже був відносно досвіченим, приїхав на кп пуща водиця, і... Дуже швидко виявилося що потрапив я компанію до професійних покатеньщиків, для яких «лайтово» це тримати середню швидкість 25 км/год. Не було часу дивитися по боках поки їдеш в лісі, всі зусилля були спрямовані на максимальне вкручування, щоб не відстати від команди. Я виявився найслабкішим учасником, хоча сам собі думав що вже досить витривалий, бо того був їздив по 40 км без проблем, а одного разу влупив 70 і нічо. Під вечір коли вже поверталися то я ледве крутив педалі. Я був останнім. Почався дощ, а їхати додому по Києву вже не було сил. Я сів на тролейбус і ганебно докотився додому як є. Більшість людей з якими я їхав вкручували заради вкручування та фактично були спортсменами-аматорами, а не тіпами яким в кайф проїхатися по лісу. Їхати та ригати мені не дуже подобалося, інвестувати час в тренування я не збирався, такий формат спорту мені не зайшов, тому мій вело запал швидко згас. Після того я більше в покатеньках участі не брав, та перейшов на даунхіл. Там теж солідні навантаження, але спринтерського типу, а не марафонського. І завжди можна перепочити на підйомнику та нікуди не поспішати. ### Кілька штук URL: https://www.rozhkov.me/more-copies/ Last updated: 2023-06-27T06:24:00.000Z Днями прочитав статтю [«Buy more copies»](https://dynomight.net/copies/) де автор радить купувати декілька речей одного виду. Наприклад якщо якісь джинси добре пасують, то є сенс купити п'ять штук, щоб не шукати нові коли старі зносяться. Те саме з іншим одягом, їжею яку можна довго зберігати (консерви!), ручками та олівцями. Стаття мені сподобалась! Дай думаю відразу її застосую. Дружина має айфона і часто носить з собою зарядку, бо по діяльності тим айфоном постійно користується. Ну і зарядку незручно носити з кухні в кімнату, з кімнати в кабінет, з квартири в машину (дріт). От я й вирішив, куплю 3 зарядки, щоб в кожній кімнаті була точка, і дротів теж куплю, щоб взагалі не думати про те що треба з собою щось кудись взяти. Гуляти вирішив на всі гроші, тому взяв блатні зарядки анкер, шкода їх же кабелів не було, тому довелося брати якийсь базеус, ну короче три зарядки три кабелі, збс. Дуже зручно, всім раджу. Заодно хочу уніфікувати всі зарядки та повербанки під Type C, щоб не програвати кожен раз у боротьбі з Type A, бо реально харить. Взагалі цікаво як людина може робити постійно одні й ті самі незручні дії, та не задумується що це можна легко виправити. Зарядки, наприклад, дроти всякі, щоб були всюди в необмеженій кількості, десятки розеток у всіх місцях, щоб не думати як втикнути приклад, зубні щітки та тапки для виїздів, мільйон копій ключів, щоб не забувати та не шукати, котлета кешу, щоб не треба було думати де зняти гроші ну і так далі й так далі. ☝️Раджу всім, закупайте зарядочки, повербанки, джинси та кросівки гуртовими партіями. ### Шум URL: https://www.rozhkov.me/noise/ Last updated: 2023-06-26T07:59:11.000Z В Києві надзвичайно складно знайти хорошу хату на вторинному ринку не за всі гроші світу. Низька ціна — околиці, хороше розташування — бабчин хрущ, високі стелі — необхідність капремонту, центр — хостели та інша херня в під'їзді, околиці — алко контингент, а коли здається що ніби все добре з'ясовується що поряд мешкає сусід довбойоб. І так далі. Дешево-якісно-швидко, оберіть два, а то й одне. Звичайно вам може поталанити. Свою квартиру я шукав 9 місяців, і жодного разу не попадався нам ідеальний варіант. Врешті взяли хату близько до центра, з високими стелями, великою площею. Але будинок поряд з дорогою на 6 смуг, а в під'їзді був хостел. Хостел виїхав через рік після початку війни, а от від дороги будинок вже [не перевезеш](https://en.wikipedia.org/wiki/Structure%5Frelocation). Вікна в мене виходять і на дорогу й у двір. І ось від цього шуму в мене останнім часом стала їхати зозуля. Тримати вікна відкритими з того боку де дорога неможливо абсолютно — шум від дороги, пилюка та сморід вихлопних газів роблять зле. Я поставив у вікна найтовстіші склопакети які були на ринку, але це не допомогло. З іншого боку будинку краще, але щоранку активізуються різні категорії негідників які прогрівають своє відро з болтами, влітку косять траву мотокосами, а після 8-ої ранку шум від автівок з того боку теж починає дошкуляти. Не поспиш. Вночі товарнячок з БК прудко чимчикує на схід і теж робить внесок у звукове забруднення. Кілька тижнів тому їздив в Краматорськ, нас вписали у квартиру на східній околиці де була така тиша, просто мертва. Мало жильців + віддаленість від дороги + невелике місто + відсутність обстрілів в той день = найкращий за рік сон. Спав як немовля. Відомо що надмірний шум негативно впливає на здоров'я, якість та очікувану тривалість життя. Тому останнім часом я вже почав серйозно задумуватися, щоб кудись від того дітися, хоч на деякий час, бо існування стає геть неможливим. Якби купував квартиру заново, звернув би на це більше уваги. 🤫*[Тиша](https://www.psychothrone.com/book-silence/ua/)* — наше все. 🤔Цікаво як себе почувають мешканці ЖК Manhattan City, які з трьох сторін [оточені](https://www.google.com/maps/@50.4480023,30.479349,416m/data=!3m1!1e3?entry=ttu) широкими проспектами, а також мають під боком трамвай та залізницю. Хто вже має там хату поділіться враженнями. P.S.: будинки батьків моїх батьків теж розташовані біля головних доріг їх міст, а будинок батьків — біля проспекту. Там теж шум, пил, а крім того ще й потужна вібрація. Ось так ми наслідуємо долю наших пращурів. ### UX шлагбаума URL: https://www.rozhkov.me/schlagbaum-ux/ Last updated: 2023-06-21T06:24:00.000Z Нещодавно натрапив на тему де чоловік показував своє рішення для автоматизації відкриття шлагбаума у двір. Для цього він насетапив Asterisk, під'єднав його до распбері пі, ту під'єднав до мотора на шлагбаумі, зробив базу аппрувед телефонних номерів. ...Щоб відкрити шлагбаум потрібно зателефонувати на спеціальний номер🤡 Далі він з цього робить саас і буде продавати іншим ЖК. Цікаво, на які складнощі можна піти для розв'язання простої задачі. Поміркуймо, які ще бувають варіанти: - кастомна апка замість телефону. Треба ставити, робити ios/andoid, ніхто не буде це ставити, відкривати апку натискати кнопку, не зручно - сайт з логіном та кнопкою, ніхто не буде юзати сайт, відкривати його шось робити - телеграм-вайбер бот, а це вже ок мені здається, нормальний компроміс - камера з детектором номерів машини + база номерів + цмска до цього, майже ідеально але цмска все псує, хтось має її менеджити. Така схема в огидному жк республіка який перегородив прохід для людей. - окремий пульт-брелок — не напасешся тих пультів на людей, плюс одна фіговина на зв'язку ключів, фу - транспондер в машину, ідеально, але не пустиш гостя - консьерж-сторож що відкриває вручну — погано, пінг Значна частина цих рішень додають купу непотрібних дій. Наприклад звонити на якийсь номер щоб відкрити шлагбаум. Що? Або діставати телефона і щось там тицяти. Колись бачив матеріал схожий про замки автомобілів. Мовляв якийсь виробник робить апку на телефон, відкриваєш натискаєш кнопку — машина відкривається. Інновації! Зручно! Але це погане рішення, правильне це коли ти підходиш до машини, а вона вже відкрита. Виходиш — закрита. Так і зі шлагбаумом. Під'їхав — а він сам відкрився. Ніяких апок, дзвінків, кнопок, брелків і т.д. Чому люди люблять все ускладнювати? В аргументи за телефони-цмси наводять швидку-пожежників-поліцію та доставку. Типу дав номер доставці й вона приїхала. Сесуріті! В аргументи проти транспондерів та відеодетекторів наводять вартість. Типу дорого-богато жильці біднота не можуть собі то дозволити, а значить всі будуть страждати. Це теж цікавий момент! Мені пощастило не жити в бридкому [гейтед-ком'юніті](https://www.the-village.com.ua/village/city/situation/340029-skilki-zhitlovih-kompleksiv-kieva-mayut-zakritu-teritoriyu), якими зараз наповнюється Київ, але я собі уявляю як тіпи не можуть добазаритися за таку просту річ як шлагбаум, а інший тіп придумує дешманські схеми з астерісками та распбері пі, бо один раз заплатити за відеосистему жаба давить. Якби я був на його місці то я б поставив систему яка зручна мені. Можливо іншим би видав номер телефону на астеріск, а сам би мав Zero-UX рішення. А те що хтось би за неї не заплатив — так байдуже. Моє життя надто коротке, щоб рахувати копійки які вартують мого комфорту. ### Diversity and inclusion URL: https://www.rozhkov.me/diversity-and-inclusion/ Last updated: 2023-06-20T06:24:00.000Z В першій компанії де я працював, був надзвичайно різноманітний склад колективу. Ніде більше я не зустрічав такого. Коли я звільнявся то у мене в підпорядкуванні працювали: \~30% дівчат (всі програмістки), декілька дядьків за 40, купка студентів, в'єтнамець, хлопець з інвалідністю (ДЦП). В конторі було багато олдових програмісток які ще в 90-х робили форми на фокспро, таких же олдових дядьків-програмістів, купа бізнес-аналітикінь з лафйів-київстарів-мтс. Цікаво що такий склад був не тільки в Київському офісі, але й в інших (ну ок, в Сумах був сильний дизбаланс в бік жінок, бо там знаходилась QA академія). В мене в проєктній команді стабільно працювало 30% жінок. Я пропрацював там достатньо часу, щоб побачити багато прикладів дівчат які народжували дітей, йшли в декрет на пару років, а потім поверталися. Без втрати якості. Всі з ким я працював працювали якісно та старанно. Довгий час я сам звітував лютій проджект менеджерці, і вона реально круто знала свою справу. Звичайно в інших компаніях я такого не бачив. Не пригадую жодного разу, щоб співбесіду проводила жінка. Або це якийсь парадокс, або наша контора висмоктала весь ресурс, або одне з двох. Спеціальних зусиль, щоб набрати більш різноманітний персонал наскільки мені відомо ми не докладали. В останній конторі де я працював у команді ми з горем навпіл винайняли одну дівчину, фронтендерку. І все. 1 з 10. Цікаво чому мамкині патріархали рвуться від будь-яких ініціатив з покращення балансу серед ІТ фахівців? Мені, наприклад, очевидно що чим більше людей буде залучено, а я абсолютно точно знаю що їх може бути більше, тим більше людей будуть мати кращу зарплатню, тим наша індустрія буде потужнішою, а середній рівень життя вищим. Але ні, варто зайти в будь-яку тему про умовну популяризацію STEM-освіти й легко виграти у булщіт бінго ображених інцелів з висмоктаними з пальця стандартними сексистськими стереотипами та іншою маячнею. Так що я всіма кінцівками за ініціативи типу Rails Girls та їм подібні й вам раджу це підтримувати. P.S.: а взагалі в мене срака згоріла від тих самих пасажирів, але в іншій темі — де волонтерська організація сфокусована на допомозі жінкам-військовим на щось збирала. Прийшли доушні єбанати та почали пред'являти цій організації за те що вона «не допомагає чоловікам» та «дискримінує по гендерній ознаці». Повбивав би. P.P.S.: LGBTQ+ персони в нас в країні поки що не дуже паляться, через загально високий рівень побутової гомофобії, але в одній з контор у нас була така дівчина — дуже крута спеціалістка. Діверсіті! ### Як я зробив автоматичний доступ до укриття у своєму під'їзді під час тривог URL: https://www.rozhkov.me/vault-automatic-access/ Last updated: 2023-06-14T10:24:39.000Z Кілька тижнів тому, під час чергової ракетно-шахедної атаки рф на Київ трапилась трагедія — жінка не змогла попасти в укриття, бо воно було зачинено, і загинула від уламків які впали на неї. Після того столична влада різко активізувала перевірку стану та доступності сховищ. *Ніби в нас війна вчора почалась, а не рік з хвостиком тому.* У мене в під'їзді є таке укриття, справжнє, не просто підвал. Гермодвері, два санвузли, неробоча вентиляція, високі стелі. Все як має бути. Історично склалося що я маю ключі від того укриття, а мій номер телефону мають всі відповідні служби. Коли почалися перевірки, то працівники комунальних служб вимкнули домофон. Він електромагнітний, тобто вимкнення живлення відчиняє двері. Вхід в укриття знаходиться у під'їзді, а під'їзд має двері та домофон. Ось, щоб не створювати перешкод для людей, вони й вимкнули домофон. Так зробили усюди, звісно про безпеку під'їзду ніхто не подумав. Ситуація така: якщо вхід в укриття буде закритий під час перевірки або тривоги, то співробітники ДСНС усунуть перешкоду у вигляді дверей під'їзду. Мене такі розклади не влаштовували, тому я придумав що зможу вимикати домофон під час тривог автоматично. Вже пізніше кмда заявила про розробку системи централізованого управління доступом до укриттів. Але поки то буде, я розв'язав задачу самостійно. Код проєкту: - На OLX за 200₴ купив розетку сумісну з Tuya Cloud. Вставив в неї живлення домофона. - Попросив у доступ до API. - Зробив сервіс який поллить API та при тривозі вимикає розетку, забезпечуючи безперешкодний доступ до укриття. Написав все на Java/Spring Boot. Купу часу витратив, щоб зробити конектор для [Tuya Cloud](https://developer.tuya.com/en/docs/cloud). Їх ліба не зовсім підійшла, тому я зробив свою власну інтеграцію. Spring Boot взяв через `[@Scheduled](https://spring.io/guides/gs/scheduling-tasks/)` анотацію, бо на RoR таке зробити складніше. Сервіс має обмеження: керує тільки одним девайсом. Я хотів зробити клауд куди б мешканці інших будинків могли додавати свої пристрої, але поки не розібрався як це можна зробити. Якщо комусь таке треба, але не хочеться селф-хостити то можна пошарити девайс зі мною, тоді працюватиме. Також тривога перевіряється тільки у Києві. Звісно це все не буде працювати без інтернету. Для таких випадків на дверях написаний номер квартири та мій телефон. Якщо ж не буде зв'язку, то я вимкну домофон сам, а в сусідньому будинку є паркінг з вільним доступом. Розетка бере мій WiFi. [Кубик](https://www.rozhkov.me/wifi-fixed/) добиває з 5-го на 2-ий поверх. Звичайно якщо ваша розетка буде десь у підвалі то туди зв'язок може не діставати. Зараз це тестую і потім буду з ЖЕКом розмовляти, щоб вони зробили об'яву про те що в нас двері автоматично відкриваються. Попередньо вони ок з таким рішенням. Код проєкту: Там повна інструкція по налаштуванню Tuya Cloud акаунту та селф-хосту. ### Балістичні ракети по Києву: диванна аналітика URL: https://www.rozhkov.me/chairman-analysis-ballistic-missles-over-kyiv/ Last updated: 2023-06-05T10:12:50.000Z Рік тому я питав в чаті каналу [«Інформація»](https://t.me/libertas%5Fjustitia%5Fveritas) — „чому по Києву щодня не летять Іскандери?“ Ми знаходимося в зоні ураження, на той момент в нас не було (принаймні публічно не було) засобів збиття протидії. Автор каналу відповів так: „Крилата ракета це як літак, а балістична — це як космічна ракета. Їх значно складніше виробляти та запускати.“ Єдиним випадком коли русня влупила по Києву балістикою був удар по Граду під «Ретровілем», ще у березні минулого року. Здається вони навіть заявили що то був К~~р~~инжал. Нефігові тоді руйнування були, авжеж? Але після того балістичні ракети жодного разу не використовували. Все летіло на Харків та прифронтові території, а по Києву працювали тільки крилатими. Якщо перші місяці ракети збивалися погано, і щоранку я прокидався від того що десь щось прилетіло, то з часом ефективність ППО значно виросла. Інфографіку ви бачили, вже у вересні майже все знищували. Менше з тим, русня продовжувала вперто засипати нас всією доступною їй номенклатурою крилаток та шахедами. І тільки коли нам дали патріоти, то кацапчики згадали про те що мають «гіперзвукову» та балістичну зброю і вирішили перейти на неї. Перший раз, коли запустили 4 Кринжали я добре пам'ятаю, бо лупануло десь у мене на районі. Звук відрізнявся від того що було раніше. Я навіть спочатку не вірив у нахрюки що це Кринжал, аж поки командування Повітряних Сил не підтвердило збиття. Ну а потім ситуації коли тривога і через 5-10 хвилин вже єбейші феєрверки тільки підтвердили що таки да, по нас стали регулярно працювати балістичними ракетами. Чому так? Чому Іскандери стали летіти рівно тоді, не раніше, і не пізніше, аніж коли нам дали Патріоти? Адже хвилі масових ударів крилатими ракетами наші ППО й раніше надзвичайно ефективно відпрацьовували. Чому раніше не летіли Іскандери? В мене тільки одна теорія — десь там у штабі який відповідає за застосування ракетного озброєння, сидять наші агенти, інакше це пояснити неможливо. І слава Б-гу за це, бо якби ті всі ракети на збиття яких скаржилась тупа пизда з інстаграму, прилітали по місту, то нам би було дуже непереливки. Дякую нашим ППО за те що щодня спростовують міфи про аналоговнєтность російської зброї та бережуть наші життя✊✊✊ P.S.: а ще я довго не міг зрозуміти чому я чую спочатку вибухи від збиття, а потім «пшшшшш» від пуску. Тільки того тижня згадав фізіку і до мене дійшло що ракета летить швидше від звуку, а точка збиття знаходиться до мене ближче ніж точка пуску. Тому спочатку доходить звук від вибуху, який до мене близько, а вже потім звук від пуску, точка якого десь далеко. Прикольний «таймтревел» парадокс. P.P.S.: добре що ракети летять по нашому місту, щоб «залякати» цивільне населення. Тому що кожна ракета випущена по коробці десь в Києві — це ракета **не** випущена по реальних позиціях наших військових на фронті. А значить військову ситуацію це не змінює. Більше ракет по нас — менше ракет по тих, хто робить перемогу. ### Шукаємо рецепт успішного короткого ютуб контенту: висновки URL: https://www.rozhkov.me/looking-for-a-successful-youtube-shorts-recipe-conclusions/ Last updated: 2023-06-02T06:24:00.000Z Ще декілька категорій які мені попадалися: ### «Професіонали» Різного штибу професійні працівники. Контент ±одноманітний, але людям заходить бездоганно виконана робота. [blacktailstudiouncut](https://www.youtube.com/@blacktailstudiouncut) (449K) робить столярні штуки з прикольного дерева, [ForeverSelfEmployed](https://www.youtube.com/@ForeverSelfEmployed) (613K) чистить все підряд, [haha](https://www.youtube.com/@haha) (1.36М) має доступ до лабораторії та показує людям різні приколи, наприклад фотографує чіпси електронним мікроскопом, щоб переконатися що вони дійсно зроблені з картоплі. ### «Музиканти» Не буду навіть перелічувати. ### Нішеві гравці Різні хобісти (косплей, d&d, лего, виживання, дрони, зброя і тд), професіонали, але не про роботу, а про життя і так далі. [valkmommybrynn](https://www.youtube.com/@valkmommybrynn) (59.9K) робить сценки про роботу американських військових в гарячих точках. [deerstalkerpictures](https://www.youtube.com/@deerstalkerpictures) (720K) роблять костюмовані скетчі на теми фентезійних ігор. ### Що ж об'єднує всіх цих творців? 1. Акторська гра. Талановита людина талановита у всьому. За гроші це, на жаль не купиш. Хіба винаймеш когось менш кмітливого😏 Також навмисно погана акторська гра. Неактуально для професіоналів. 2. Якісні сюжети з неочікуваними поворотами. 3. Грамотно підібрана музика. Багато комедійних відосів навіть зроблені на одному й тому ж треку який підганяється під різні ситуації. 4. Субтитри та текст у 90% відосів дубльовані хардсабом. Наприклад я не встигаю зрозуміти що говорить Stanzi тому зупиняю і читаю. Менш смішно від того не стає. 5. «Професіоналам» достатньо робити якісну картинку та монтаж. Всі інші можуть фільмуватися на айфон у ванній. 6. Жінки часто додають потужне декольте та щільно прилеглий до тіла одяг, це, очевидно, завжди працює добре. 7. Якщо автор не нативний англомовний, то він або підбирає озвучку з пісні або фільму, або пише саби текстом і нічого не говорить. 8. Контент відразу треба робити англійською (або без мови взагалі), інакше ви сильно звузите свою аудиторію. Серед моїх рекомендацій лише 20% це відео українською, з яких 2% це творчі варенички, а все інше це відео про війну. 9. Автори які грають всіх персонажів самі виглядають більш автентично. Так робить багато хто. ### Висновки Якщо у вас немає акторських талантів, то потащити можна тільки на якісно відфільмованій діяльності. І шурупи крутити та цвяхи забивати можна технічно та цікаво, місце ще є. AI-стаф типу «як би виглядали мови програмування якби були людьми» я просто скіпаю, параша без душі. На жаль, як і в інших випадках, щоб бути популярним треба робити цікаві речі, а щоб робити цікаві речі треба жити цікаве життя. Я згадую початок нульових коли неймовірно заздрив різним локальним ЖЖ-блогерам які дуже цікаво писали, але сам не міг видати нічого путнього, як не старався. Так і продовжувалося аж поки я не набрав достатньо досвіду, щоб зробити з цього щось пристойне. Давно думаю як би увірватися в ютуб, але нічого крім нарізки постів на камеру на думку не спадає, в мене немає бажання то робити, а як бажання нема то і виходитиме фальшиво. Фальшиві відоси — не те до чого б я прагнув. *«Спонсором» цього випуску ютуб-аналітики є канал [Max Arrow Outdors](https://www.youtube.com/@max.arrow.outdoors) — нішевий канал про всілякі кемпінгові штуки з надзвичайно крутим відео продакшеном та не менш крутим, красивим і харизматичним головним героєм. Підписуйтесь, ставте вподобайку, все як завжди.* P.S.: цей пост писав години десь чотири години, бо поки шукав відповідні приклади, то залипав в ютуб. За цей час втратив 32IQ😵‍💫. Споживайте контент обмежено та відповідально! ### Шукаємо рецепт успішного короткого ютуб контенту URL: https://www.rozhkov.me/looking-for-a-successful-youtube-shorts-recipe-categories/ Last updated: 2023-06-01T08:26:49.000Z Останнім часом ~~трохи~~ конкретно деградую в ютуб шортс. Тік-ток опустить мій IQ до рівня людини яка готова брати мікрокредити, тому його споживаю надзвичайно мікроскопічними дозами, раз на кілька місяців зазираючи що там новенького у «дружини мільйонера», але ютуб можу дивитися годинами. В процесі намагаюсь зрозуміти що зробило конкретного автора успішним. Ось підбірка основних категорій відосів які мені пропонувалися. Я навмисне не шукав популярні акаунти, а дивився лише те що пропонував мені алгоритм. ### Стереотипи про країни Сценки щодо стереотипів тієї або іншої країни. Ютуб думає що я хочу релокуватися до Німеччини, тому підсовував мені купу роликів про всілякі німецькі діла. Сортування сміття, любов до довгих прогулянок, швидкі касири у лідлі, відкриті вікна, хліб та інше, хто тут з Німеччини той напевне шарить. Заходить дуже добре, як правило такі ролики будуються на протиставленні персонажа-іноземця та персонажа-німця. Наприклад, «іноземець» хоче викинути пляшку у сміття, а «німець» у шаленому стрибку ловить ту пляшку, щоб здати її в понеділок у спеціальний контейнер. Приклади: [liamcarps](https://www.youtube.com/@liamcarps) (660K) — британець у Німеччині, [uyenninh](https://www.youtube.com/@uyenninh) (874K) — в'єтнамка у Німеччині, [ZacXCVIII](https://www.youtube.com/@ZacXCVIII/) (164K) — американець у Німеччині, [calvinandhabs](https://www.youtube.com/@calvinandhabs) (1.34M) — американець та німець в різних сценках. Інші приклади, [StevenHe](https://www.youtube.com/@StevenHe) (9.96M) — стереотипи про азіатів, [Chewkz](https://www.youtube.com/@Chewkz) (2.86M) — чорношкірий британець в америці. Також сюди покладу наших [Творчих Вареничків](https://www.youtube.com/@tvorchi%5Fvarenychky/) (77.1K) — пару яка робить скетчі на особливостях застосування української. Гадаю що ви їх вже бачили. Дуже талановиті. Також відоси де різні країни промовляють одне й те саме слово їх мовою, ви бачили їх полюбе. Зазвичай «програє» Німеччина. Контент швидко набридає, але неймовірно популярний. ### Dad roast kid Сценки де як правило персонаж-«батько» розпікає персонажа-«дитину». Never gets old, всі колись піддавалися неналежному ставленню з боку батьків тому це добре заходить. Це ролики «Arab Dad» від [RudyAyoub](https://www.youtube.com/@RudyAyoub) (692K), «Asian Dad» від [StevenHe](https://www.youtube.com/@StevenHe) (9.96M). Спочатку весело, а потім не весело. Але перегляди крутяться, лавеха мутиться. ### Стосунки Широке поле для творчості, всі можуть поспівчувати героям та побачити свої проблеми, тому популярно. [AndreaSubotic](https://www.youtube.com/@AndreaSubotic) (1.51М), [KeenoAndLiz](https://www.youtube.com/@KeenoAndLiz/) (142K). ### Man lives matter Авторки або дають поради жінкам як правильно поводитися з чоловіками, або діссять неадекватних жінок. Звичайно мені приємно почути що я класний😊, правда підозрюю що основна аудиторія цих відео це чоловіки😂, а не жінки, для яких власне і призначаються ті поради. [thedadvocate](https://www.youtube.com/@thedadvocate) (82K), [emilywking](https://www.youtube.com/@emilywking) (51.6K) ### Рандомна комедія Талановиті актори можуть робити будь-що і в них виходитиме класно. Топ для мене це [adrianbliss](https://www.youtube.com/@adrianbliss) (4.96M), хлопець неймовірних здібностей. Він одягається у різноманітні костюми та грає всіх персонажів сам, а також має дуже приємний британський акцент. Я передивився всі його шорти, хлоп просто геній гри, костюмування та сюжетів. В нього є серії роликів: історія, еволюція, біблійська тематика, біологія і так далі. [Stanzipotenza](https://www.youtube.com/@Stanzipotenza/) (1.8M) — чорний гумор. Типові сюжети: людина попадає в рай або пекло та допікає Б-гу, дияволу і їх асистентам, психотерапевт дає «неправильні» поради, дісси на антиваксерів, пролайферів і тд що там в американському контексті популярно. [ailaughatmyownjokes](https://www.youtube.com/@ailaughatmyownjokes) (446K) грає кріпову дівчину, персонажів гарі потера та інше. [steveioe](https://www.youtube.com/@steveioe) (2.27М) скетчі від працівника швидкої Продовження завтра... ### Ваша робота — робити боса щасливим URL: https://www.rozhkov.me/your-job-is-to-make-your-boss-happy/ Last updated: 2023-05-31T06:24:00.000Z Кмітливий співробітник фаангу знає, що підвищення дають не за старанну роботу, а за добре зібраний promo package. Це породжує викривлену систему мотивації, результати якої ми можемо спостерігати в безглуздих редизайнах гмейлу та депрекейті продуктів гугл клауду. Здається що українські компанії ще не пройшли так далеко, принаймні я не чув про якісь формальні-формальні процедури з комітетами, документами і тд, частіше все зводиться до «дайте грошей або я йду» або зміни роботи на +500 (ах, які були безтурботні часи!). Втім я вже давно не працював в наших конторах тому буду радий новинам з лідерів ринку. Менше з тим, уважний та старанний кар'єрист швидко усвідомлює, що грошова винагорода часто ніяк не корелює з успіхами компанії як юридичного організму, а швидше корелює з тим чи мотивовані люди які мають владу дати вам цю винагороду, це зробити. Якщо немає ніякої можливості перестрибнути через голову боса, то так чи інакше вся ваша діяльність повинна буде зводитися до того, щоб робити того щасливим. Як і в фаангах, це може розходитися з декларованими або справжніми цілями компанії. Це звичайно якщо ви хочете отримати те саме міфічне «підвищення», у вигляді плюс грошей або, частіше, плюс обов'язків та сумнівного тайтлу в корпоративному орг чарті. А якщо не хочете, то можна просто займатися своїми справами та не відсвічувати на стендапах. Не знаю як вас, а мене такий стан справ пригнічує надзвичайно. ### Build vs buy URL: https://www.rozhkov.me/build-vs-buy/ Last updated: 2023-05-30T22:08:04.000Z Колись працював в стартапі, що мав модель gig economy. Будь-яка людина могла стати робітником. Щоб якимось чином провести відсіювання майбутніх гіг-воркерів потрібно було зробити щось типу системи навчання та тестування. СТО зарядив мене на цю задачу. Зробив круди для питань, відповідей, блоків тестів і тд. В продакшен то все не пішло, та незабаром було викинуто на звалище нікому не потрібного коду, тому що бізнес-модель вирішили змінити, а від гіг-воркерів відмовилися. Нещодавно я проходив лінійку корпоративних тестів, і згадав ті часи. Задумався, чому CTO не взяв готову систему? Їх же мають бути сотні, курси це настільки типова задача що можна було просто підібрати будь-який продукт та зробити з ним мінімальну інтеграцію. Натомість ми робили своє рішення, ще й на джаві та реакті (до реакту, щоправда, діло не дійшло, скасували раніше). Тим більше ми були стартапом для якого це не було кор-компетенцією, а перших людей можна було б набрати буквально вручну та посадити робити тести на папірці. Зараз би я звичайно запропонував взяти щось готове, але тоді ще не був таким розумним та змарнував свій час, час СТО та інших людей на порожню діяльність. P.S.: Цікаво що той же CTO поставив задачу пошукати рішення для авторизації юзерів (типу auth0 і тд), тобто це не була системна похибка. ### Хибна дихотомія work-life balance URL: https://www.rozhkov.me/falce-dichotomy-of-work-life-balance/ Last updated: 2023-05-30T22:07:27.000Z Коли контора пише про «great work-life balance», то що це означає? Що там треба менше працювати або взагалі чілити? Що там більше відпусток? Хтось знає? А контори з «terrible work-life balance» це що? Злий менеджмент, овертайми та робота на вихідних? Коли люди кажуть що їм «байдуже де працювати аби гроші платили», то що це значить? Що людина «приходить» на роботу і там, як перевертень, обертається «робітником», а коли «йде» додому, то забуває все що було? Фраза «work-life» сама по собі хибна, бо робить припущення що є якийсь «work», а є «life» які не пов'язані між собою і ми можемо тільки переливати нашу енергію з однієї посудини в іншу. Але це не так! Спробуйте попрацювати з умовними мудаками. Чи це не буде впливати на ваше життя? Ви ж буквально витрачаєте його на спілкування та взаємодію з токсичними колегами, на порожню балачку та пусту працю. Зіпсований настрій або стрес потім переходять на сім'ю та все інше. І ось вже наш працівник якому «байдуже на все крім грошей» несе ті гроші психіатру, щоб отримати рецепт на пігулки для заглушення симптомів необачної байдужості. Можна скільки завгодно переконувати себе що є два не пов'язані між собою «стани», але це не так. Чи розділяєте ви хатні справи, час з сім'єю та друзями, час на себе, час на необхідну бюрократію? Чи можете ви сказати що в кожній ситуації «вмикаються» різні персоналії, як в [Біллі Мілліґана](https://en.wikipedia.org/wiki/Billy%5FMilligan)? Постійний учасник ріжок спільноти Олексій кмітливо зауважив що працюючи на роботі яка вам не подобається 8 годин на день, ви насправді втрачаєте 16 — бо 8 годин робите те, що вам не подобається, та 8 годин не робите те, що вам би хотілося робити. Не має ніякого «балансу». Ви працюєте на добре оплачуваній роботі яка вам байдужа, не подобається, та нецікава — ви буквально марнуєте своє життя. І відкупитися «потім» на уявному відпочинку чи чим ви там зібралися займатися, щоб «пожити», не вийде. Ви вже втратили час. «Робочий час» це наше життя. І в наших інтересах зробити його проводження максимально приємним, цікавим та продуктивним. Бо ніхто не поверне витрачений час, а життя надто коротке, щоб марнувати його на речі які нам нецікаві та неприємні. Further reading: [Work Life Balance is Impossible](https://blog.nateliason.com/p/work-life-balance). ### Волонтерство та звіти URL: https://www.rozhkov.me/volunteering-bookkeeping/ Last updated: 2023-05-10T08:14:17.000Z Я з тих людей хто відповідально ставиться до грошей та веде екселі де дебет сходиться з кредитом. Без фанатизму (серед читачів є люди які сканують абсолютно всі чеки та зберігають історію), але достатньо відповідальний. По своїх зборах намагаюсь надавати максимально точну інформацію, скільки зібрано, що й де куплено, скільки витрачено. На жаль, не завжди є можливість показати якісь пруфи, бо часто купуєш з рук, робиш оплату на карти фізосіб або готівкою, але я все одно намагаюсь показати хоч щось. Але то я, а вимагати такого ж від інших волонтерів досить складно. Багато людей просто публікують фотки машин, девайсів, амуніції, не вказуючи скільки зібрали й де й скільки витратили. Їх можна зрозуміти — адже часто на збір йде стільки енергії що вже не до того, щоб рахувати гривні, аби передати то все щоб працювало, та перейти до іншої задачі. З іншого боку, не всі люди вимагають детальної звітності. За моїми спостереженнями більш з всіх переживає за це той, хто дає менше всіх (або не дає взагалі). Ну а раз від волонтерів не вимагають нічого, то вони й забивають. Врешті ті пруфи, що надаю, наприклад, я, можна без проблем підробити, аби було бажання. Тому в кінці ми приходимо до того що все тримається на довірі. Я безумовно довіряю людям яким даю гроші, ви безумовно довіряєте мені й ми всі разом намагаємося підтримати цей хиткий баланс. Не довіряєте мені? Вірте Чмуту або Притулі. Не вірите Чмуту та Притулі? Шукайте людей яких ви знаєте персонально. Немає таких? Тікайте з городу, ~~вам пизда~~. ### Трагедія ентерпрайзної розробки URL: https://www.rozhkov.me/enterprise-tragedy/ Last updated: 2023-05-09T06:24:00.000Z Значну частину кар'єри я працював у великих, ентепрайзних компаніях які робили ентерпрайзний софт на ентерпрайзній технології Java Enterprise Edition. Велика компанія, велика кількість людей, велика кількість клієнтів, великі клієнти. Все велике. Все, крім мого вкладу. Він мізерний, а то й від'ємний. Головна проблема ентерпрайзу для мене — важливість не результату, а процесу. Байдуже чи добрий ви софт робите, чи поганий. Чи повільно, чи швидко. Поки крутяться шестерні *well-oiled sales machine*, контракти крутяться і лавеха мутиться, не має значення взагалі що ви робите. Вперше я це усвідомив коли з подивом дізнався, як один з замовників відмовився від нашого рішення на користь іншого. Цей проєкт тривав декілька років, і в ньому були залучені значні людські ресурси. Але потім у клієнта змінився якийсь CIO, і він одним махом перекреслив всі зусилля. Пізніше я побачив що великі продажі працюють зовсім не так, як умовні маленькі. Люди, які будуть вашими користувачами, часто не зацікавлені в змінах або чомусь новому та чинять пасивний опір. Особа, що приймає рішення про покупку або підписання контракту не є цільовою аудиторією даного проєкту. Команда продавців вдається до різноманітних трюків на грані хабарництва, щоб схилити клієнта на свій бік. Якість стрімко летить у прірву, бо середовище виховує відповідний майндсет людей — робити якомога менше та уникати відповідальності. Хто працює понад норму — той, очевидно, [дурень](https://www.rozhkov.me/loyalty-and-comfort-zone/), бо зусилля його будуть все одно змарновані. Звичайно, крім обговорення зарплат працівникам на таких проєктах більше нічого не цікаво. Бо їх робота порожня, результат не важливий, впливу на нього не має, а всім на все байдуже. Втрачається мотивація робити щось, бо воно нікому не потрібне. Люди, що можуть працювати так роками, викликають в мене деяку повагу. Як тільки бачу що те, що я роблю, нікому не треба, мій віртуальний прутень мотивації ловить пів на шосту, а мозок починає думати чим би нормальним зайнятися натомість, або впадає в апатію. ### Соцмережі URL: https://www.rozhkov.me/social-networks/ Last updated: 2023-05-04T06:37:18.000Z Порада ріжку з 2018 — бути присутнім на всіх можливих соціальних платформах. Я дуже довго опирався створенню акаунту на фб і зробив його буквально пів року тому, тільки для того, щоб публікувати там свої збори. Те саме з інстаграмом. Вважав це зашкваром, недостойним справжнього антиглобаліста. Окрема потреба в інстаграмі — що дивитися пости, бо без акаунту ти постійно натрапляєш на login-wall. Твітер я зробив давно, але не був там активним і не вів його, постив лише лінки на пости. Твітер такі твіти понижує у видачі, тому мій акаунт не мав жодного органічного росту. Коли я зробив кілька тредів, то вони розійшлися значно краще, але я не зміг поставити це на потік. Зараз всі ці соціальні мережі не приносять мені ніякої користі, а є тільки для фіксації волонтерської діяльності. Кожна платформа має свої особливості які мені незрозумілі. Я досі не можу в'їхати в прикол «сторіс» в інстаграмі. Навіщо постити щось що зникне через день? Кому це взагалі треба? Текст в картинках, «банка в профілі», «банка та картка в закріпленому коментарі», анальна модерація то все для мене нове та невідоме, довелося призвичаїтися. Формат теж мені незвичний, якщо в фб я ще можу просто репостнути щось звідси, то для інсти треба щось придумувати, а твітор скорочувати. Врешті мені незрозуміло як правильно робити туди контент, і я прокрастиную це. А от якби вів там акаунти, то мав би вже по пару тисяч людей на кожному і від того збори б рухалися швидше, а соціальний капітал був би більшим. ☝️**Практична порада** 👉Якщо у вас є якийсь невеличкий тг канал чи щось на кшталт того, то негайно заведіть собі фб, інсту та твітер і робіть туди репост контенту👈 P.S.: додавайтесь у друзі на фб: та інсті: ### Відкладені повідомлення у телеграмі URL: https://www.rozhkov.me/telegram-scheduled-messages/ Last updated: 2023-05-03T20:31:02.000Z Відкладені повідомлення — чудове доповнення для таск-менеджменту. Наприклад, ви щось хочете від людини, а вона відповіла «нагадай через кілька днів». Створюєте відкладене повідомлення, ставите потрібну дату і забуваєете про це. Follow-up на мінімалках. Плануєте зустріч, але не знаєте конкретний час? Ок, «давай в середу вранці зпишемося, домовимося», ставите таймер на ранок середи «давай вирішимо о котрій і де зустрінемося», готово. Можна поздоровити з днем народження не дуже близьку, але потрібну вам людину. Близьких дні народження пам'ятаємо самі або робимо нагадування і пишемо поздоровлення враховуючи нещодавній контекст спілкування. Коли вам пише людина, а ви не хочете продовжувати розмову, наприклад, тому що зайняті або маєте інші плани — пишете відповідь і відкладаєте її на наступний ранок. Також можна відповідати так пізно ввечері ставлячи таймер на ранок. Це добре працює для підлеглих або інших контрагентів, яким недоцільно писати в робочий час. Щоб не забути щось — пишете текст, ставите на ранок — готово. Задача і контекст не провтикаються, не потрібно буде нічого згадувати наступного дня, якщо порівнювати те з умовною таскою «вранці написати фронту задачу». Також можна робити нагадування собі самому, через збережені. Месенджери це новий емейл. Якщо ви ще досі не користуєтеся, беріть на озброєння. ☝️**Практична порада** 👉При наступному плануванні зустрічі, якщо не вдається домовитися відразу, поставте відкладене повідомлення «привіт! пропоную сьогодні-завтра зустрітися» на кілька днів пізніше👈 P.S.: [відривання дії від безпосередньо її виконання](https://t.me/full%5Fof%5Fhatred/473) це один з принципів «шляху кабанчика». ### Інвестиції у стосунки URL: https://www.rozhkov.me/relationships-investment/ Last updated: 2023-04-28T06:24:00.000Z Коли ти молодий та крутишся в навчальному закладі, то підтримка дружби та товариських стосунків не вимагає зусиль. Ти просто натурально проводиш час з іншими людьми твого ж віку, робиш з ними спільні задачі, та формуєш міцні зв'язки. Коли ж починається «доросле» життя, основний час вже проводиш зі співробітниками, не всі з яких мають схожі твоїм інтереси через вік та різний бекґраунд, маєш інші клопоти й підтримка дружніх стосунків вже не відбувається сама собою, а потребує свідомої праці. Якщо її не робити, то ти швидко опиняєшся на узбіччі. Так, я невдовзі після завершення університету, досить швидко розгубив всіх своїх друзів і лишився один. На жаль тоді я з різних причин не привчив себе відвідувати спільні зустрічі, та, що важливіше, організовувати власні. Так воно з часом все й зійшло нанівець, а з пандемією та тотальним переходом на ремоут стало зовсім погано, бо раніше ти хоч міг пообідати з колегами з офісу, потеревенити та якось розважитися без планувань та узгоджень, але ця можливість зникла. Повертаюсь до теми доступності, чим складніше щось робити — тим менш охоче люди це робитимуть. Двіжувати з одногрупниками простіше аніж двіжувати з офісними колегами, а двіжувати з офісними колегами простіше аніж організовувати зустріч all-remote команди. Зараз я потроху намагаюся повернути це, та за можливості зустрічаюсь з різними людьми та сам ініціюю взаємодію. Ці інвестиції практично завжди окупаються. Як я вже казав, найбільша зміна з початку повномасштабної війни — це те що я став спілкуватися зі значно більшою кількістю людей. Що раджу робити й вам. ### Чайка🕊 URL: https://www.rozhkov.me/chayka/ Last updated: 2023-04-27T06:24:00.000Z Вчусь зараз водінню, всі заняття з інструктором вже відкатав (20 занять), а їздити так і не навчився, тому вирішив піти ще в автошколу на чайці. Днями мав перше заняття. Що я вам можу сказати. 😱Це. Просто. Повний. Відрив. Такого дитячого захвату я вже давно не відчував. Через кілька хвилин після початку руху я вже захотів купити собі BMW і крутити бублики на парковці Ашану. Чи то раптово пробудилися якісь древні інстинкти предків які в угарі бігали за мамонтами, чи що, але я раптово усвідомив всі меми про водіїв BMW, стрітрейсерів, дрифтерів, та всього іншого що належить до цієї субкультури. Раніше не цікавився машинами та автоспортом. Мені навіть не дуже хотілося сідати за кермо без зайвої потреби, тому я максимально довго не йшов до автошколи, бо не мав куди їхати. В мене є компанія товаришів які накупили собі швидких машин та їздять у Черкаси та інші місця на всілякі RTR, але я на те все дивився з боку і не викупав теми. Але тепер я їх зрозумів, ба більше — сам захотів стати частиною цього двіжу. Під час заняття поряд чоловік палив шини на дрифтовому корчі. Я не знав що до чого, але виявилося що шини сточуються за 15 хв, а комплект коштує 100$. Поки я тренувався та їздив собі по колу, смикаючи ручку, він 4 чи 5 разів міняв колеса. Певне програміст! За дві години я вийшов звідти з легким тремтінням рук та посмішкою яка не злазила з обличчя аж до кінця дня. Чесно кажучи я б навіть не вчився, а просто ганяв, це якийсь новий невідомий мені раніше вид задоволення, при тому, що я навряд чи розганявся більш ніж до 60 км/год. Наполегливо рекомендую всім хоч раз відвідати трек. *P.S.: я був під таким враженням що навіть забув сфоткатися «зацініть ріжка у bmw».* ### Популярність локальних музичних гуртів URL: https://www.rozhkov.me/rock-bands-marketing/ Last updated: 2023-04-26T06:24:00.000Z У 2006-2010 роках я активно грав в різних рок-гуртах. Найуспішнішим був [Time To Live](https://tmtlv.bandcamp.com/), ми відіграли багато концертів, були відносно популярні у своїй ніші (хардкор панк), потім я покинув гурт, а пацани ще багато виступали, записали альбом та спліт. Минулого року я після дуже довгої перерви знову почав відвідувати рок-концерти, і цікаво ретроспективно оцінити власну діяльність. Отже, приймемо за аксіому що всім хочеться бути більш популярними. Брехати не буду — виступати перед заповненим залом приємніше ніж перед порожнім, мати багато прослуховувань ліпше ніж мало, бути приводом для обговорення краще ніж не бути ним. Нішевих індюшатників з двома прослуховуваннями на спотіфаї та пацанів на корпс пейнті що видаються тільки на касетах залишимо осторонь. Які фактори впливають на популярність локальних гуртів? Перелічу декілька: **Тусовочка** — це люди які вас підтримують незалежно від того що ви робите. Friends, family, fools. Чим вона більша, тим, звісно, краще. Можна вкладатися в її розвиток, а можна сичувати та ні з ким не дружити. Ми свого часу мали невелику кількість фанів з КПІ та [неформату](https://www.neformat.com.ua/), але не робили нічого для її збільшення. Наприклад, дружба та регулярна зустріч з тими ж неформатськими явно пішла б нам на користь. Натомість ми стояли дещо окремо та належали до малочисельної групи КПІ-корщиків. **Медійність учасників** — аналогічно попередньому пункту, якщо в гурті є людина що активно веде соцмедіа, то це автоматично збільшує популярність. В тих роках був неймовірно популярний гурт який не зробив жодного виступу, через високу медійність його лідера. Я в ті часи тільки недолуго срався на неформаті, а інші хлопці не відсвічували. Це складно повторити. **Запам'ятовуємість текстів та можливість поспівати публіці** — це одна з найхарактерніших ознак успішної команди. Коли публіка знає слова, підспівує та може натовпом прокричати приспів («сінгалонг») то це сильно підвищує енгейджмент, навіть якщо музичний матеріал посередній або одноманітний. Також зараз вважаю що тексти потрібно робити українською. В наші роки це було не прийнято — всі співали англійською. Звісно в нас були моменти на підспівування, але не так багато, плюс постійно високий темп музики не йшов цьому на користь. **«Танцювальність» музики** — потужний брейкдаун для накачаних ♂ лисих хлопців, полька в 180+ для церклпіту. Під бластбіт ніхто танцювати не буде. --- В цьому світлі я заново переосмислив професію «продюсер» та значення рекорд-лейблів. Раніше я не розумів що воно таке, а зараз бачу що це мало не найважливіший елемент успішного колективу. Продюсер це людина яка шарить як збудувати успішний проєкт, яка має відповідні зв'язки й так далі. Звісно, локальні гурти нецікаві умовним «продюсерам», бо грошей там немає, але цю роль хтось повинен на себе взяти. ![](https://www.rozhkov.me/content/images/2023/04/photo_2023-04-12_21-51-13.jpg) Маркетинг є усюди й потрібно ним займатися. Хто не займається — виступає перед порожнім залом☝️ Звичайно це не все, лише те, чого не вистачало, на мій погляд, нам (інші хлопці можуть мати іншу думку). ### Однозадачність URL: https://www.rozhkov.me/singletasking/ Last updated: 2023-04-25T06:24:00.000Z В роботі та житті мене сильно дратує велика кількість роботи в прогресі. Нема нічого гіршого, аніж наполовину зроблена задача, що стоїть на місці. Причини можуть бути різними: незалежні від нас, наприклад очікування логістики, відповіді від людей яких ми не можемо пришвидшити; залежні від нас — прокрастинація. Такі задачі постійно займають місце в умовній робочій пам'яті мого мозку та нагадують про себе, заважаючи робити інше. Тому зазвичай я докладаю всіх зусиль, щоб не збільшувати work-in-progress, а доводити до завершення те що розпочав. Якщо ж трапляється таке що задача чогось очікує, то не починаю робити нову все одно. Завжди є спокуса набрати всього більше, але я цього уникаю. Інакше дуже швидко накопичуються недороблені шматки, артефакти, що швидко застарівають та засмічують оточення. Одна задача на роботі — один волонтерський збір — одна задача поза роботою в одній окремій сфері життя. ~~Одна країна — один народ — одна мова — одна віра.~~ Не завжди воно вдається, і коли не вдається то в мене конкретно підгоряє. Але що поробиш, життя не детерміноване. P.S.: статті на купу сторінок де те саме тільки з графіками та поясненнями: [How finishing what you start makes teams more productive and predictable](https://lucasfcosta.com/2022/07/19/finish-what-you-start.html) та [Useful engineering metrics and why velocity is not one of them](https://lucasfcosta.com/2022/08/31/engineering-metrics.html). ### Крінжові назви мікросервісів та репозиторіїв URL: https://www.rozhkov.me/cringe-microservice-names/ Last updated: 2023-04-24T09:44:22.000Z На одній з попередніх робот в нас була мікросервісна архітектура, і деяку частину назв вигадав я. З одного боку воно прикольно, бо твої репозиторії мають впізнавані назви, а з іншого боку це крінжово, бо назва часто не відповідає або неочевидно пов'язана зі змістом. Наприклад, штуку для деплою я назвав `delivery-boy`, типу «хлопчик на побігушках», ахаха, правда дотепно? Базовий імедж для сервісів (джава + ньюрелік) назвав `bedrock`, ну типу основа, навіть ті хто не грав в майнкрафт шарять що це таке якщо зазирнуть у словник. Інший сервіс називався `corsaire`, типу «пірат», в нас вже був один сервіс з «піратською» назвою, який робила суміжна команда, і я, так би мовити, продовжив традицію, бо мій сервіс взаємодіяв з їхнім. Рофл на рофлі, всім весело. Зараз я на те все дивлюся і крінжую. Називати треба так щоб було зрозуміло що воно таке з першого разу. Деплоймент тула? `deployment-tool`. Базовий імедж? `base-image`. Статистика і дашборди? `dashboards`. Пошук? `search`. Логін сервіс? `login-service`. Просто і зрозуміло. Надалі я позбувся звички фантазувати, став нудним, більше не граюсь в ці ігри й роблю тільки абсолютно прості та зрозумілі назви для реп і сервісів. P.S.: гадаю ви бачили відоме відео якраз про це. ### Порішав з WiFi😎 URL: https://www.rozhkov.me/wifi-fixed/ Last updated: 2023-04-14T07:47:42.000Z Два тижні тому мій мікротік почав вимахуватися і я [звернувся до аудиторії за порадою](https://www.rozhkov.me/wifi-problems-need-help/). Декілька людей відписали що користуються [Amplifi](https://www.amplifi.com/amplifi-hd), і, враховуючи що я був на нього прицілений ще до написання матеріалу, то вирішив що треба брати. На OLX знайшовся варіант HD за 8500₴. Це кубик + дві антени. Просто кубик новий коштує \~6000₴, а HD версія аж \~18000₴. Я намагаюся купувати вживану техніку та товари, якщо є можливість, тому вирішив замість нових кшийомі та тплінків взяти вживаний девайс вище класом. Того ж вечора зателефонував продавану, той жив недалеко, зустрілись, зайшли у відділення банку (лол), увімкнули, перевірили що все працює, віддав 8к та поїхав додому. Дома увімкнув, замінив MAC-адресу, щоб не переналаштовувати це через провайдера, втикнув дві антени по інших кімнатам згідно з рекомендаціями, запустив спідтест... 100Mbit🤡🤡🤡! Ото думаю купив. Дивлюся в налаштування, а там рахуй їх не має. Звертаю увагу що показує аплінк на 100Mbit. Схоже що роутер зі свічом провайдера не провели нормальні перемовини щодо швидкості. Перезавантажив кубіка, оновив прошивку, опа, вже не показує 100Mbit. Запускаю спідтест ще раз, результат 300/250\. Оце вже діло! Подивився ще в налаштуваннях, потицяв, там є опція «Hardware NAT» з приміткою «увімкніть це якщо хочете, щоб стало швидше», я її увімкнув, тестую ще раз — вже 400/300\. На тому заспокоївся. ![](https://www.rozhkov.me/content/images/2023/04/IMG_20230412_141723.jpg) Потім ще ходив туди-сюди, запускав тести на різних пристроях, дивлюся — до 100 впало. Йду в налаштування — а там знову показує аплінк 100Mbit. Йду на форуми, на форумах пишуть про таку ж проблему, дехто нарікає на низьку якість ethernet-портів. Я ще раз перезавантажив девайс, він поставив правильну швидкість і після того вже не збивався. Два тижні — політ нормальний. Пінг до точки став на 1 мс нижчий ніж на мікротіку, пакетлос припинився взагалі, а спідтест завжди видає стабільні 300-400Mbit. Не 1000 звичайно, як було б по дроту, але вже хай буде. Антени вставляються просто у розетку 🤯 та підключаються самостійно. Тепер у всіх куточках квартири маю стабільний та якісний сигнал. Інші налаштування, DNS adblock, та ще щось, я не використовую. Такі справи, тепер маю дома ґоноровий девайс. Дякую всім за цінні поради🤝🙏 P.S.: єдиний мінус це те що від пилюки покриття антен та частково кубика стало якимось липким. Точно така сама проблема спіткала мій мікротік. Хтось має ідеї як це відмити та повернути девайсам природний лиск? ### Паперові книжки URL: https://www.rozhkov.me/paper-books/ Last updated: 2023-04-13T06:24:00.000Z Знову і знову повертаюся до [«доступності»](https://www.rozhkov.me/easy-peasy/). Блокнот під рукою — робиш нотатки. Телеграм постійно відкритий — використовуєш його для тих же цілей, коли не вдома. Є смаколик в холодильнику — неодмінно його з’їси. Маєш турніка у дворі — позаймаєшся охочіше, ніж в залі до якого треба їхати. Всі книжки що [читаю](https://www.rozhkov.me/tag/read/), купую в папері. Колись давно батько подарував мені читалку Nook, але з часом та зламалась. Носив у сервіс, полагодити не змогли. Зараз читалку я не кваплюсь купувати. Маю на те декілька причин. Перше, електронний світ пропонує нам необмежений вибір. Відомо, що чим більший вибір, тим більше прокрастинація. З папером так не пройде. Потрібно піти до магазину та обрати книгу, ти не можеш мати їх всі одночасно. Доставлянням я не користуюсь принципово, виключно похід у фізичний магазин. Тому не маю проблеми з десятками недочитаних книг. Один період часу — одна книга. Дочитав — пішов й купив іншу. Зазвичай прочитую книгу за два тижні. Друге, електронний світ позбавляє нас фокусу. На телефоні годі й намагатися робити щось сфокусоване — постійно відриваєшся, бо там є багато всього. В читалках з цим краще, але зараз читалки теж стають занадто розумними. Третє, затримка, latency, швидкість. Не знаю як сучасні e-ink, але старі мене дуже харили повільністю. З фізичними сторінками такого звісно не буде. Так, до того можна звикнути, але воно харить. Той Nook що я мав, ще й не швидко вмикався, тобто взяти й почати було не так просто. Можливо, сучасні пристрої кращі в цьому плані. Електронну книгу незручно гортати. Паперові книги стоять на поличці, їх завжди видно, і не треба вибирати якесь меню, щоб пригадати що в тебе є. Четверте, процес покупки книги. Це мікроритуал. Дочитав черговий селф-хелп бестселер, йдеш у місто, до красивого магазину. Ходиш між рядами, придивляєшся що подобається. Дискутуєш з [зумерками](https://www.rozhkov.me/daily/millenials-from-mars-zoomers-from-venus/). Палиш на інших відвідувачів. Торкаєшся обкладинок, береш щось до рук. Зазвичай я не знаю що хочу читати наступним, просто йду повз рядів, і чекаю поки око зачепиться за щось, а в пам’яті спрацює тригер. П’яте, книжка пахне книжкою та приємна на дотик. Я людина що любить до всього торкатися, тому для мене це важливо. Шосте, паперова книга коштує грошей та потребує зусиль, щоб її придбати, тому мотивує дочитати до кінця. А ті єпуби, що я напіратив десять років тому, так і згинули непрочитаними, бо мали нульову вартість. Але найголовніше це доступність. Паперова книга не зламається, не розрядиться, не буде «запусктися». Паперова книга завжди поряд, відкрив і читаєш. За останній рік здається я прочитав більше ніж за декілька попередніх разом узятих саме завдяки тому, що купував паперові книги. Загалом, папір для мене дає синергетичний ефект, читання стає не бездушним кліком, а цілим «досвідом», взаємодією з оточенням та іншими людьми. Тому я обираю фізичні книги, попри їх недоліки та обмеження у порівнянні з цифровими. *P.S.: до вінілу ще не дійшов, після перемоги.* ### Нотатки та персональні бази знань URL: https://www.rozhkov.me/knoweledge-management-fail/ Last updated: 2023-04-12T07:48:45.000Z Наступне з чим треба розібратися після таск менеджменту — це куди складати нотатки. Тут я теж пройшов довгий шлях. Дуже давно мав Evernote. Все класно було, прям топ, в мене там ще досі є акаунт з наскирдованими щоденниками та записами з 2014-го. Потім туди прийшли продакти, і почали все псувати. З часом апка перетворилась зі швидкої на повільну, потім почали пушити на преміум, мені то все надоїло і я переїхав на [Simplenote](https://simplenote.com). З Simplenote все було добре, крім того, що вона зроблена на електроні, хтось там щось наплутав і тексти довше ніж кілька десятків абзаців повільно скролились, відчувалося що тяжко йде. Я писав тексти блог постів якраз там, і воно мене почало харити. Настільки харити, що перестав ним користуватися. Натомість переїхав на систему управління компанією [Fibery](https://fibery.io/). Я підписаний на їх [CEO](https://twitter.com/mdubakov), продукт мені дуже подобався, але на жаль це був в першу чергу все-таки таск менджер, а не нотатник. Я там підкостилив для себе, щоб зручно пости писати та деякий час жив так. Нотатки та ідеї теж трошки туди заносив. Потім з'явився [Roam Research](https://roamresearch.com/) і почався бум двонапрямних лінків, «second brain»-систем, цетелькастену тощо. Я зарегався майже в самому початку та отримав безкоштовний доступ до системи. Далі провів кропітку роботу по перенесенню вьсого з еверноту, сімплноту і файбері в роам. Деякий час намагався привчити себе до нотування всього що через мене проходить. Прочитав статтю, подився відос, поговорив з кимось — тут же записав. Ця звичка довго не протрималась. Я не зміг побудувати систему якою б зручно та постійно користувався. Відповідь вже відома з попередніх постів — це доступність. Програму треба тримати відкритою. Roam набрав хайпу, отримав мільйон баксів від бекерів, але його засновник замість того щоб розвивати продукт марнує час у твітері. З того часу як я зарегався, не змінилося практично нічого. Конкуренти типу Obsidian пішли далі, а Roam для мене, як для користувача, залишився таким самим як і був. Задротити та програмувати свої плагіни й намагатися накостилити якусь структуру мені не хотілося. З часом Roam я став використовувати тільки для однієї задачі — скопіювати номер своєї приватівської карти кудись у збір, або в чергову платіжну систему. Я не жартую. «Цінні» нотатки покрилися пилом, задачі там і згинули (там є todo), зараз власне я його не відкриваю ні для чого крім як для копіювання номера картки. ![](https://www.rozhkov.me/content/images/2023/04/2023-04-11_10-28.png) Писати там змістовні довгі тексти виявилося незручним. Згодом я перевів блог на [Ghost](https://ghost.org/) та досі для чернеток та написання користуюся ним. Місяць тому на мене знову напала гарячка нотатко-гопінгу, знову почав шукати ідеальну апку. Перебрав всі статті, «Best notes app for Linux in 2023», понаставив собі купу програм, щось куди переносив, врешті все видалив. На макось є хороші нативні програми, але в мене не макось, нативного софта який би мені пасував під Linux не знайшлось (QOwnNotes, zim, ще бозна-що), сміття на електроні ставити не хочу, трішки спробував писати у Sublime Text, але необхідність менеджити файли мене харить, тому я спробував повернутися до Notion в якому зарегався десь в той самий період що і Roam. Notion активно використовується там де я працюю, тому трохи до нього призвичаївся. Спробував використовувати як нотатник, і ви вже знаєте чим це закінчилося. Напевне я все-таки лишуся з ним, може куплю персональний коучінг курс у Notion-амбасадора пана [Віталія Психотроніка](https://t.me/psyson), давнього учасника ріжок спільноти. Вирішив що годі й шукати хороший нативний інструмент для нотування, знову на горизонті замайоріла ідея написати свій, швидкий і класний, але знову відкинув це. Тому зараз куці знання розкидані по різних системах, а я змирився з тим, що не можу дати собі ради та забив на те нотування. ### Таск-менеджмент: програми URL: https://www.rozhkov.me/task-management-software/ Last updated: 2023-04-11T07:09:11.000Z Серед лінуксоїдів є термін «distro-hopper». Він означає людину, яка постійно встановлює собі нові дистрибутиви у пошуках ідеального, замість того щоб зупинитися на чомусь, та почати нарешті працювати. Таск менеджмент софту існує ще більше ніж дистрибутивів, і я хоч і не перебрав сотні таск-трекерів, але десятком користувався точно. Були думки написати свій, проте вчасно зупинився. Не буду перелічувати всі програми, у 2021 я обрав Singularity, який мав швидкий UI та всі потрібні функції. Це російський продукт, тому після початку війни я скасував підписку, видалив акаунт, а серед інших сервісів обрав найбільш схожий — [TickTick](https://www.ticktick.com/). За майже два роки роботи з ним маю наступні висновки: TickTick використовую тільки як календар з фіксованими подіями «зустріч з тим-то» та повторюваними подіями «30-го числа місяця передати показники води», «1-го числа передати показники газу», «1-го числа вислати інвойс», все. Інше, на жаль, це кладовище задач, які я майже ніколи не переглядаю. Зараз думаю відмовитися від тіктіку та перейти на гуглокалендар😂 В чому ж проблема? Бачу головну в доступності. Програму треба відкрити, тримати десь, та постійно до неї повертатися. Це все створює когнітивне навантаження, якого мозок намагається уникнути. Тому я постійно повертаюсь до блокнота що поруч. А що робити «в полях», де блокнота під рукою немає? TickTick має апку на телефон, я навіть собі її поставив на головну та налаштував типу шорткати, але все одно ними не користуюсь. Не користуюсь, бо TickTick начисто програв телеграму. Так-так, телеграм, а точніше Saved Messages це мій основний таск менеджер у цифрі. Коли щось треба занотувати або записати, то я відкриваю телеграм, та додаю це у збережені. Деколи надиктовую войси які потім розбираю та перетворюю на задачі у блокноті. За багато років ніщо не змогло виграти у телеграму — він швидкий, завжди під рукою, я користуюсь ним щоденно. TickTick в мене відкривається повільно, бо маю старий телефон, хоч таба в браузері в мене запінена, але я до неї нечасто повертаюсь. Телеграмні «тасочки» завжди під рукою, муляють і відповідно виконуються. ![](https://www.rozhkov.me/content/images/2023/04/2023-04-09_16-14.png) Думав навіть зробити інтеграцію тіктіку з візком, але стало впадло і не зробив. Зараз маю декілька ідей як покращити експірієнс, зробити щось типу бота і там трекати все. Гадаю що таких ботів є купа, тому вагаюсь з розробкою. Частина порад щодо [джедайських технік](https://www.rozhkov.me/jedi-techniques-review/) в мене не прижилися. Сів виписав всі задачі які спадали на думку у тіктік, «вигрузив мозок на папер», а вони там й згинули, а тим часом те що у блокноті або візку виконується. Розумію що треба докласти свідомих зусиль, щоб все-таки привести до ладу стратегічні справи, але *повернуся до цього згодом*. Далі будемо говорити про knoweledge management (ви навіть можете побачити на світлинці цю задачу). Використовуєте софт для таск менеджменту? Діліться в коментарях👇 ### Таск менеджмент: папір URL: https://www.rozhkov.me/task-management-on-paper/ Last updated: 2023-04-10T06:32:58.000Z Як вонабі кабанчика, мене вже багато років цікавить тайм/таск менеджмент. Я прочитав купу матеріалів по продуктивності, спробував багато програм, інструментів та технік аби дати раду своїм справам. Trello, Asana, Todoist, Evernote, Simplenote, Roam Research та Notion. Два роки тому обрав Singularity, який рекомендував гуру продуктивності Максім Дорофєєв і ±налагодив собі рутину. Але потім війна, а сервіс російський, тому я відключив підписку та видалив акаунт. Почав шукати знову, пробував купу нових програм, поки не зупинився на [TickTick](https://www.ticktick.com/). Переніс туди всі задачі зі старих таск-трекерів, пододавав нових, думаю от зараз почну працювати! Але ні, не почав. Увесь цей час я неодмінно повертався до двох одних й тих самих інструментів — паперового блоконту та телеграму. Досить давно я натрапив на сайт [Bullet Journal](https://bulletjournal.com/). На жаль бачу що зараз вони прибрали текстовий опис методики за пейвол, тому ви можете подивитися [відос](https://www.youtube.com/watch?v=fm15cmYU0IM). Суть така: берете блокнот у крапочку, заводите там тасочки, події, нотатки, трекаєте все що хочете, то все потім організуєте за допомогою покажчика і досягаєте неймовірних висот. Мене то все звісно дуже зацікавило, я купив собі класний та дорогий блокнот (у крапочку) і почав працювати. Досить швидко виявилося, що мені потрібно лише декілька функцій із всієї філософії: • Задача — крапочка та текст, задача яку треба зробити × ~~Задача~~ — хрестик на крапочці та закреслений текст — виконана задача. В оригінальному BuJo текст задачі не викреслюється, але мені то не пасує, зробили значить закреслили. ~~• Задача~~ — закреслена суцільною лінією крапочка та текст — скасована або неактуальна задача \> ~~Задача~~ — «стрілочка» та закреслений текст — перенесена на наступну сторінку задача Також задачі можна «групувати», просто ставлячи уявний таб в блокноті: • Задача • Підзадача 1 • Підзадача 2 ![](https://www.rozhkov.me/content/images/2023/04/IMG_20230409_144656.jpg) Але я цим користуюсь нечасто. Дуже довго я робив окрему сторінку для нового дня, та ставив дати, але врешті влітку від цього відмовився і тепер в мене просто нон-стоп лог задач. Не прижилися у мене плани на місяць, індекси, нотатки, зустрічі, трекер звичок та все інше. Тільки задачі. Я почав використовувати цей метод понад 5 років тому і за цей час списав декілька блокнотів. Гадаю, що секрет «успіху» методики полягає в єдиному факторі — список задач завжди знаходиться у полі зору, на робочому місці, і я постійно сканую його, та не забуваю про задачі. З програмами в мене є проблема — її треба відкрити, так періодично повертатися до таби в браузері або апки. Можливо, другий монітор би покращив ситуацію. Блокнот дуже доступний. Щойно щось спало на думку — взяв лінера та записав. Щойно зробив задачу — закреслив. Щодня я перегортую попередні сторінки та дивлюся чи все виконано, та чи невиконане досі актуальне, дописую задачі які спадають на думку. Я завжди пишу задачі на другій сторінці з розгортки. Перша сторінка залишається чистою, та використовується якщо потрібно щось занотувати, «подумати на папері», або як місце для деталізованого списку підзадач. Мій метод має серйозний недолік — горизонт планування складає кілька днів, а писати окремо «стратегічні» задачі я не навчився. Також туди складно занотувати щось типу «зробити ось таке покращення у проєкті по такій-то інструкції», тобто треба окремо зберігати інфу у цифровому світі. Блокноти найзручніші ті що скріплені пружинкою, вони займають менше місця. Влітку 2021-го я купив у подруги [блокнот з переробленої сировини](https://zeleniyptah.com.ua/product/%d0%ba%d0%b0%d0%b2%d0%be%d0%b2%d0%b8%d0%b9-%d0%b1%d0%bb%d0%be%d0%ba%d0%bd%d0%be%d1%82-%d0%b7-%d0%bf%d0%b5%d1%80%d0%b5%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bd%d0%be%d0%b3%d0%be-%d0%bf%d0%b0%d0%bf%d0%b5-5/) без розмітки, з товстого паперу, та з пружинкою. Топ. Тільки місяць тому нарешті його списав. Зараз користуюсь подарунком від мами — якісним блокнотом-книжкою з крапочками та мотиваційними цитатами. ### Поведінкова економіка донатів URL: https://www.rozhkov.me/daily/donates-behavioral-economics/ Last updated: 2023-04-08T10:08:39.000Z Fun fact — за пів року активної діяльності по зборах коштів я так і не зрозумів що працює, а що — ні. Точніше, точно я знаю одно — працює публічність. Більше людей — більше охочих — навіть маленька конверсія перетворюється в завершення збору через 5 хв після публікації на умовному каналі миколаївського ванька. Але коли я не миколаївський ваньок і маю досить примарні шанси ним стати, то хочеться зрозуміти як замотивувати максимум людей, з тих що є. В хід йдуть різні гіпотези — може фотка заохотить людей, може якась лотерея, може детальний опис та кулсторі, може треба збір робити на початку місяця бо зп дають, може в кінці бо теж зп дають, може ще щось. Але по факту то все ворожіння на собачому лайні, бо даних замало, а зовнішніх факторів та шуму забагато, щоб зробити якусь кореляцію та висновки. Користувачі нічого не розкажуть. По-перше, люди говорять не те що думають насправді, навіть якщо думають що кажуть правду. По-друге, множини людей які сидять в коментах та дають фідбек і людей які дають гроші, практично не перетинаються (це я вже перевіряв неодноразово). Коли я спілкувався з топ донатерами боту, то всі вони без виключення мали те що називається intrinsic мотивацію. Вони донатять, тому що хочуть донатити, а не тому, що там картинка красива або опис цікавий. Все впирається в те що вони мене давно знають, довіряють, та їм сподобалась модель «хедж-фонду», коли кошти розпорошуються по максимальній кількості зборів внаслідок чого ризики втратити гроші або скерувати їх недоцільно знижуються. Якщо ти анальник, то ні красива картинка, ні фото ріжка тебе не переконають в необхідності пожертвувати свої кошти. Зрозуміло що кількість таких мотивованих людей обмежена, хоча це та сама core-аудиторія, яка дає 80% коштів, і за яку треба боротися. Серед інших волонтерів що роблять невеликі збори я бачу ±таку ж картину. Тому якісних варіантів росту немає зовсім, тільки кількісні. Потрібно ставати новим Притулою. Добре що перша необхідна риса — бути тернополянином, в мене вже є, друга — бути радіо ведучим (на «радіо ріжок») — теж є. Залишилася третя — мільйонна аудиторія. А поки що я намагаюся робити найкращий можливий на мій погляд контент та шукати способи заохочувати людей продовжувати підтримувати мене. ### Прочитав «Шкура у грі»/«Skin in the Game» URL: https://www.rozhkov.me/skin-in-the-game-book-review/ Last updated: 2023-04-01T20:42:41.000Z Основна думка книги — хто ризикує власною «шкурою» — коштами, репутацією, здоров'ям та життям — той молодець і тому респект. Хто не ризикує — бюрократ на зарплаті, науковець на грантах, той створює підґрунтя для катастрофи, тому ганьба та дізреспект. Асиметричність ризиків — це коли людина має владу робити щось, за що вона потім не нестиме відповідальності. Створення асиметричних ризиків — це прямий шлях до катастрофи. Талеб наводить в приклад «інтервентів» — американських політиків які роблять вторгнення в країни близького сходу та американських же державних фінансистів. Маю зауважити що всю книгу мене дратувала пихата графоманія Талеба. Не можу зрозуміти, чи то я йому заздрю, чи що, але згадки про власну винятковість та розум, гноблення економістів, науковців, журналістів та інших, на думку Талеба, не дуже розумних людей, *на кожній сторінці,* починає дратувати. Я прийшов сюди не вчергове читати про неймовірну середземноморську культуру батьківщини автора, а про те як кабанчиком стати. Також Талеб розглядає багато інших явищ та ідей: яким чином нетолерантні меншини захолпюють світ, як ідеї які витримали перевірку часом укріплюються ще більше, що таке *справжня* раціональність (те, що допомагає виживати), чому вижили релігії та забобони та багато іншого. Все це щедро поливається водичкою з анекдотів та кулсторей. Окремо хотів зауважити про ризик: Талеб каже що при діяльності, в якій є ймовірність катастрофи (фатального наслідку, втрати всіх грошей, життя і тд), загальна ймовірність програти прямує до одиниці для більшості з людей, хоча дехто може досить довго триматися. Як приклад він наводить гру в російську рулетку на умовний мільйон — навряд чи хтось з нас погодився б грати, хоча вартість мат.очікування пострілу це аж 800 з хвостиком тисяч. ![](https://www.rozhkov.me/content/images/2023/03/IMG_20230331_001651.jpg) Повертаючись до асиметричності — суспільство ведуть до проблем ті, хто грають у таку рулетку, але на чужу шкуру, а не свою. Також Талеб торкається однієї з моїх улюблених тем — відданої роботи на корпорацію, та застерігає читачів ставати «псами» вірними службі, натомість заохочує бути «вовками», працівниками які не переймаються своєю репутацією всередині контори, бо настільки потрібні що їх триматимуть за будь-яких умов. Загалом з книги я виніс небагато корисного; деякі свої ідеї підтвердив та вже активно впроваджую, наприклад ризикую власною шкурою (репутацією та грішми) коли роблю збори; а інше якось не відклалось, запам'яталась лише дурня типу критики мішленівських ресторанів та пихатих прийомів. ~~Я не слідкую за Талебом у твітері, але мене не покидало відчуття що той, як і багато «прогресивних» вестернів, встиг зашквартись чимсь типу «захід спровокував рф на війну», та абсолютно не розуміє суті нашої війни, гадаючи що це щось на кшталт Сирії. Хто тут є з твітерських, фактчекніть, плз.~~ *upd від підписника: З самого початку Талєб зайняв чітку і агресивну проукраїнську позицію: „The argument that Ukraine «provoked» Putin by soliciting Western protection has the same reasoning defect as claiming that you "provoked" a burglar by installing a security system.”* Книжка чесно кажучи така собі, хоча знаю що багато всіляких навколокабанчиків її котірують. Мені не дуже зайшло. ### Проблеми з WiFi😤 — потрібна допомога! URL: https://www.rozhkov.me/wifi-problems-need-help/ Last updated: 2023-04-12T11:24:20.000Z Того тижня під час стріму в мене трапилась халепа — почався пакетлос, відео сіпалось, глядачі не оцінили та пішли. Маю зізнатися що під час ремонту сильно натупив і сказав, щоб не робили Ethernet-розводку. Ну а шо — все по радіо хай працює, нахер провода. Про цей затуп досі трохи шкодую, бо вже нічо не вдієш — хіба тягнути дроти як є. Пішов розбиратися в чому проблема. Комп'ютор в мене підключений до 5GHz мережі, адаптер інтегрований в материнську плату ([ROG STRIX Z390-E GAMING](https://rog.asus.com/us/motherboards/rog-strix/rog-strix-z390-e-gaming-model/)), а назовні підключена антена. Тести показали що дійсно раз на 5 хв починається пакетлосс, а спідтест показував 50Mbit. Роутер за тонкою стіною у двох метрах буквально. Я не дуже міркував над тим і почав грішити на антену. Річ у тім що маленькі кошенята, які мешкали у мене в кабінеті, погризли дріт який з'єднував антену та адаптер, причому так конкретно погризли, один дріт відірвали зовсім, а другий тримався абияк (адаптер має дроти). Вирішив купити нове, пішов на радіоринок «Кардачі», за п'ятихат взяв там дві антени та подовжувач, радісний прийшов додому, під'єднав то все, давай тестити — а нічо не змінилося! Отут я звичайно засмутився. Потикав те се, пишу в сапорт, кажу „хлопці, маю пакетлос!“. Хлопці щось там почекали, кажуть „з нашого боку пакети вилітають, тестуйте на свому! увімкніть дріт напряму щоб виключити роутер з рівняння“. Роутер я купував ще у 2018 році, начитався оглядів і взяв собі хвалений Mikrotik hAP ac². Ще тоді прийшов додому налаштував все, втикнув, ніби б'є нормально, а в мене бляха на 2GHz пакетлос та пінг високий. Треба було ще тоді повернути ту залізяку, але я думаю так ну я ж сисадмін що там мені, закопався у форуми, знайшов що треба виявляється увімкнути режим 2GHz-only-N і стало краще. Потім вже купив нового комп'ютора з 5GHz адаптером, ну і воно непогано працювало, тести видавали 300Mbit, то я й заспокоївся. Доки не почалися проблеми. Я точно нічого не змінював в налаштуваннях, прошивка не оновлювалась, 5GHz діапазон за визначенням має багато каналів, тому варіант що хтось мене джемить я відкинув. Зайшов на роутер, дай думаю з нього протестую швидкість. Пішов на форум мікротіку, там знайшов адресу сервера для тесту швидкості, підключився, опа! 1Gbit! Все як ланет обіцяє. І ніякого пакетлосу. Пішов далі курити чому може буте знижена швидкість, короче експериментально натикав режим 5GHz-N/AC, ширину каналу 20/40/80MHZ XXXX (що б це не значило), і швидкість піднялась до 200Mbit, а пакетлос пропав взагалі. Експериментував я довго, чому раніше все було ок, а зараз саме ці налаштування спрацювали — неясно. Я навіть грішив на нове ядро, якраз того тижня оновив лінупс, думав може там баг якийсь, але пакетлос був і на інших девайсах. Отак тимчасово я свою проблему вирішив. Але між тим начитався на форумах що у дуже багатьох є проблеми з hAP ac². Не знаю чи це пов'язано з конфігурацією чи що, короче я пішов шукати собі новий роутер. Захожу на сторінку з якимось кубиком Ubiquity, а там відгук від чувака один в один з моїм — теж взяв мікротік, возився з ним пару років, потім плюнув та купив новий роутер. І о чудо — в того чоловіка все запрацювало, швидкість та сигнал покращився, а волосся стало густим та лискучим. Я ще раз подумав про те що не хочу залишати той гігабіт на столі, а хочу нормальну швидкість, тому питаю в шановного панства поради — який роутер мені взяти? Тільки бажано звісно щоб то був не асус якийсь або тплінк з купою антен, а девайс від спеціалізованої контори типу Ubiquity. Хата в мене маленька, 90 м², але багато товстих стін, хочу нормальний сигнал всюди. pls halp ### Розслабив булки в ресторанах URL: https://www.rozhkov.me/daily/relaxed-in-a-restaurant/ Last updated: 2023-03-27T13:18:57.000Z Мені знадобилося півтора десятка років, щоб перестати нервувати в ресторанах. В ресторанах гроші платять *після того*, як поїли, на відміну від їдалень, де треба розрахуватися *до того*. Мене довго переслідував страх, що не вистачить грошей, щоб розрахуватися і трапиться щось страшне (що саме — не знаю). Раніше постійно доводилось пильнувати, щоб з собою був кеш, бо картки не всюди приймали, потім питати чи «є у вас картки», потім слідкувати, щоб грошей вистачило вже на картці, короче якийсь нервовий експірієнс. Згодом я якось звик до того що на картці завжди є гроші, і розслабив булки. Інше що мене непокоїло то ціни. Ціни я завжди дивився, хоча абсолютно завжди міг собі дозволити замовити все що завгодно. Згодом і цієї звички здалося позбутися. Якось ми сиділи в ресторані з моїм товаришем Віталієм, і він сказав що «я для себе прийняв рішення не обмежувати себе у якості харчування, бо якщо ти заробляєш достатньо грошей, але не отримуєш задоволення від життя — тоді навіщо це все?» Тому згодом я прийняв вольове рішення не зважати на ціни. Що захотів — те й взяв. Життя надто коротке аби рахувати копійчини. Інше зрушення, яке зі мною трапилося, це усвідомлення факту що ресторан це не тільки місце для якоїсь зустрічі, або урочистості, або відпочинку, а *місце де можна просто смачно поїсти*. Тому коли готувати щось ліньки, а [від пузатки ригати хочеться](https://www.rozhkov.me/daily/puzata-hata-bad/), то я йду собі в якийсь респектабельний заклад та просто там їм собі в задоволення. Деяку роль у цьому процесі зіграло те що ми з колегами з databand.ai декілька років поспіль щомісяця збиралися посидіти в різноманітних закладах. Так я став трішки шарити ресторанну культуру Києва. ### Реал-тайм сайти на Ruby on Rails без жодного рядка JS URL: https://www.rozhkov.me/real-time-application-with-ruby-on-rails-without-any-js/ Last updated: 2023-03-22T13:16:10.000Z ## Інтегруємось з моно Йдемо на , скануємо QR код апкою, отримуємо ключ. Далі встановлюємо [вебхук](https://api.monobank.ua/docs/#tag/Kliyentski-personalni-dani/paths/~1personal~1webhook/post), щоб отримувати транзакції. Вебхук веде на ендпоїнт який дістає параметри транзакції та зберігає її: ```ruby def respond(data) t = data.require(:statementItem).permit(:description, :amount, :comment, :balance, :time) t[:account] = data[:account] t[:transaction_id] = data[:statementItem][:id] MonoTransaction.create(t) end ``` ## Показуємо транзакції Робимо сторінку, передаємо параметром `account` номер картки/банки, витягуємо по ньому всі транзакції та малюємо їх. Переглянути демо [](https://donate1024.org/mono%5Ftransactions?account=mN155%5FjWnu26Z1jLT2BgcTXOpwtPamA)[тут](https://donate1024.org/mono%5Fdashboards?account=vrFT09EZWLkn2f2ugX1ZQjag4ErDtD4). ## Додаємо інтерактивності При створенні нової транзакції потрібно негайно якимось чином оновити сторінку. В Rails для цього вже все передбачено, нам знадобляться: [ActionCable](https://guides.rubyonrails.org/action%5Fcable%5Foverview.html) та [Hotwire](https://hotwired.dev/). За замовчуванням при створенні нового Rails-проєкту вони будуть додані та сконфігуровані. ActionCable це клієнт-серверна ліба яка робить pub/sub у вашій апці. Під капотом там знаходяться Redis для сервера та вебсокети для клієнта. Коли ви додаєте собі це в проєкт, то ваша вебсторінка буде відкривати вебсокет з'єднання, та слухати що туди приходить. Таким чином ми можемо одразу після створення транзакції записати щось у «канал», клієнт отримає нову інфу по вебсокету та за допомогою JS оновить HTML. Але ж ми хочемо все робити без JS! На допомогу приходить Hotwire. Це бібліотека яка оперує поняттями *[фреймів](https://turbo.hotwired.dev/reference/frames)* та *[стримів](https://turbo.hotwired.dev/reference/streams)*. *Фрейм* визначає на HTML сторінці будь-який шматочок та присвоює йому ідентифікатор. Ось я загортаю список всіх транзакцій у фрейм: ```ruby <%= turbo_frame_tag "mono_transactions" do %> <% @transactions.each do |transaction| %> <%= render partial: "mono_transaction", locals: { transaction: transaction } %> <% end %> <% end %> ``` За допомогою *стриму* можна передати на клієнт спеціальні інструкції, які потім будуть виконані в рамках *фрейму.* Ці інструкції включають (але не обмежені) у себе: додати HTML елемент в початок або кінець фрейму, замінити, видалити, додати після такого-то елементу і так далі. Нам потрібно додавати нотифікашку з транзакцією у початок списку. Тут починається найцікавіше. Ми можемо згенерувати відповідний івент на сервері, а ActionCable подбає, щоб доставити його у браузер та викликати необхідний JS, щоб виконати необхідну нам дію. Для того, щоб наша сторінка була підписана на стрим, нам необхідно додати відповідну інструкцію: ``` <%= turbo_stream_from "mono_transactions_#{@account}" %> ``` Цим ми кажемо «обробляти всі події які будуть приходити у канал під назвою `mono_transactions`. Тепер, на бекенді, кажемо, щоб після створення транзакції відправили новий івент у відповідний канал: ``` after_create_commit do |transaction| broadcast_prepend_to "mono_transactions_#{transaction.account}", partial: "mono_dashboards/mono_transaction", locals: {transaction: transaction}, target: "mono_transactions" end ``` `broadcast_prepend_to` означає що буде відправлене повідомлення з типом `prepend` у канал `mono_transactions_#{transaction.account}` та переданий маленький шматочок HTML відрендерений на сервері для обробки фреймом `mono_transactions`. `prepend` означає що HTML буде доданий першим до списку дочірних елементів фрейму. Таким чином, ми з сервера посилаємо шматочок HTML який Hotwire обробить як треба. В нашому випадку — додасть нотифікашку. Так само оновлюється значення суми на банці. ## Висновки Ось так можна без жодного рядка JS робити інтерактивні сайти. Уважні та освічені читачі вже знають, що бібліотек та фреймворків, що працюють за таким принципом є декілька: найвідоміший це [Phoenix LiveView](https://elixirschool.com/blog/phoenix-live-view/), менш відомий це [HTMX](https://htmx.org/), поки що маловідомий [TwinSpark](https://github.com/piranha/twinspark-js) він пана Соловйова. ### За лаштунками стримінгу: оверлеї URL: https://www.rozhkov.me/streaming-background-overlays/ Last updated: 2023-03-21T15:09:19.000Z Якщо ви дивилися стрими, то неодмінно бачили на екрані всілякі віджети: коментарі глядачів, донати, що з'являються та зникають, рамки навколо камери стримера, реклама та інше. ![](https://www.rozhkov.me/content/images/2023/03/twitch.png) Як це робиться? Більшість стримерів користуються програмою що називається [OBS](https://obsproject.com/). Вона дозволяє робити «сцени», довільно розміщувати на них різноманітні елементи, як-то відео з камер, аудіо, картинку, частину екрана (або весь екран) тощо. OBS вміє відображати веб джерела, тобто сайти. Таким чином, наприклад щоб показати коментарі, достатньо вказати OBS на потрібну адресу (ютуб та твітч коментарі можна відкривати в окремих сторінках), задати розміри, і він буде відображати це на екрані. Щоб разом з коментарями не показувало тло, на яких вони зазвичай розміщуються, щоб не перекривати камеру або гру, OBS дозволяє визначати кастомний CSS. Таким чином, конструкція типу ```css body { background-color: rgba(0, 0, 0, 0); } ``` оверрайдить тло і коментарі або інші елементи не затуляють сцену. Так само можна робити різноманітні рамки, вставки донатів і так далі. Звичайно, в OBS є ще деяка нативна функціональність для цього, але зараз ми зосередимось саме на вебсайтах. Загальний термін для цих штук це оверлеї. Існує індустрія яка надає готові сетапи, інтегрується з усім підряд, дозволяє робити різні налаштування. Наприклад, коли на твітчі вас починає фоловити людина, то твітч може відправити івент на визначений вами ендпоїнт, який в реальному часі покаже алерт на урлі, який ви додали собі в оверлей. Так само можна підключати будь-які інтеграції, щоб додавати інтерактивності. На крайньому стримі з Юрою Лучківим мені дуже хотілося додати інтерактиву з донатами. Існує багато таких платформ (streamalerts та інші), але я вирішив зробити все власноруч. Монобанк дає можливість під'єднати API, встановити адресу вебхуку, та приймати транзакції. Я придумав наступну схему: 1. Встановлюю вебхук 2. До мене приходять транзакції 3. Я зберігаю собі їх у базу та відображаю на окремій сторіночці 4. Сторінку вставляю в OBS 5. Додаю реал-тайм оновлення, щоб транзакції з'являлися відразу після проведення Швидше за все хтось десь вже таке зробив, але я хотів попрограмувати для себе. Як це зробив — у наступній частині. ### Українські телеграм канали: Олег Миколайченко URL: https://www.rozhkov.me/ukrainian-tg-channels-devopsengineer/ Last updated: 2023-03-20T12:26:12.000Z *Щопонеділка роблю огляд авторських українських телеграм каналів. Підписаний сам, заохочую підписатися і вас, щоб розвивати наш сегмент телеграму. На жаль, таких каналів зовсім небагато і вони мають мало підписників. Вперед!* Сьогодні канал Олега Миколайченко — широко відомого організатора конференцій та мітапів по DevOps темі, співавтора DevOps-даджейстів на ДОУ, Head of Infrastructure — [@devopsengineer](https://t.me/devopsengineer). Цей канал значно професійніший ніж попередні, які більше про балаканину та всяке різне. Якщо ви DevOps — ви вже полюбе підписані на Олега, якщо ні — мерщій підписуватися! Хто не шарить як деплоїться його стаф, той дутий фраєр і треба це виправляти! З початку війни канал не дуже активний, але ось вам підбірка постів: 🤯 [Від мікросервісів до мікро-AWS-акаунтів](https://t.me/devopsengineer/304) 👵 [Куди рости девопсу?](https://t.me/devopsengineer/228) ⚡️ [7 способів прискорити розробку](https://t.me/devopsengineer/225) 🙈🙊🙉 [Конфлікт між тераформом, інфрою, девопсами та девелоперами](https://t.me/devopsengineer/211) 🤔 [Як зрозуміти що щось пішло не так](https://t.me/devopsengineer/184) Канал більше про новини-апдейти-конфи-лінки ніж про особистий досвід автора, ну але вже як є. Раніше вівся російською, зараз перейшов на українську🇺🇦💪. Олег класно допоміг нам влітку зі збором на пікап для Азову, та й взагалі активно підтримує двіж. Статистика \- Всього написано 293 пости \- Кількість підписників знизилась з 6000 до війни до 5100, а середня кількість переглядів тримається на пристойному рівні. Знову заздрю! [@devopsengineer](https://t.me/devopsengineer) — підписуйтесь, ставте вподобайку та дзвоника, підтримуйте наших авторів! *P.S.: ні, це не ганебна реклама або взаємопіар. Я давно хотів зібрати каталог усіх українських авторських каналів. Автори зазвичай навіть не знають що я про них писатиму. Також мене дратує що досі багато людей підписані на кацапів та дивляться на рекламу сбербанку проміж смішних мемів. Хочу це змінити.* ### Феномен пузатої хати URL: https://www.rozhkov.me/daily/puzata-hata-bad/ Last updated: 2023-03-19T08:00:00.000Z Час від часу заходжу закинутися швидкими вуглеводнями до пузатки. Бував у різних — на Контрактовій біля метро та на площі, біля вокзалу, у центрі навпроти синагоги та на Великій Васильківській, на Бесарабці, короче де тільки не був. Стільки років пройшло, а в пузатці не змінюється одне — неймовірно жирна їжа та неймовірно повільний і туплячий персонал. Таке враження, що їх спеціально тренують обслуговувати людей повільно. Можливо це якимось чином впливає на кешфлоу. Якщо порівняти з іншими їдальнями, наприклад Dinners, то там просто космічно швидке обслуговування. Чік-чік і ~~в продакшен~~ на касу. В пузатці ніби й персоналу багато, ніби й все якось має рухатися, але ні, постійні черги й тупьож. Туплять також і відвідувачі. Наприклад всі стають в чергу на салати (вони завше йдуть першими), навіть ті кому це не треба. Хто шарить лайфхак, той відразу прямує до супів або гарнірів, або вареників і оминає невдах, які не викупають теми. А пару тижнів тому в пузатці на синагозі я взагалі був в шоці, коли на касі не було жодного касира. Це бачили ті що на роздачі та вони навіть не поворухнулися, щоб повідомити про це відповідальну особу. Ми з відвідувачами трохи потупили, поки я не гаркнув касира, і нас хутко обслужили. Отака фігня, дуже тупо, шо контора з таким галімим сервісом має таке велике покриття і фактичну монополію на «нормальну» хавку (не бургери ~~срані~~, не шаурму та інший фастфуд) у Києві. Дінерс залишився тільки в центрі, в леонардо та астарті, локації погані, туди ходити ніхто не буде. ### 🐰🤡 URL: https://www.rozhkov.me/daily/rabbit-ride/ Last updated: 2023-03-18T09:14:00.000Z Того тижня ходив за міною у Lift99\. Як її забрав, то відразу поніс на лазерне гравіювання. Міна важка, ніс в рюкзаку, але йти було недалеко — піднятися по Великій Васильківській та й все. Домовився з майстрами, і весь такий на підйомі, щас міну розіграємо, бабки зберемо, як все класно, йду на тролейбус. Перед тим заходжу у пиріжкову тітку клару, бо їсти хотів капець, з тими справами не встигаєш нормально нічо, а доставки я не люблю. Купив собі значить два пиріжки, щось втикаю в телефоні, йду на зупинку, а там раз і тролейбус. Ну я продовжую втичити бо там щось відбувалося, чи в чаті чи де, сів короче і їду довольний шокапець. Через пару зупинок заходять контролери, „показуєм квиточки“, ну я такий на автоматі „2118“ і далі втичу. Контролерка вбиває номер — там показується «не знайдено». Питає, „платили?“, а я такий, „ну звичайно платив, йопта, я завжди плачу“. Контролерка йде далі, каже „шукай транзакцію“ Дивлюся в історію привату, а там нема нічо, пусто, нуль. І в гугл пей (він же сука валет завдяки якомусь півню-менеджеру) теж нічо нема. Отакої, розумію що я не заплатив. Зі мною таке нечасто трапляється, я людина пунктуальна та відповідальна, нічого не забуваю, нікуди не спізнююсь, все по закону. Контролерка повертається до мене, а я ржу, вона „шо?“, я кажу „давайте квитанцію, сьогодні я ваш клієнт“. ![](https://www.rozhkov.me/content/images/2023/03/IMG_20230317_223550.jpg) Отак скатався на тролейбусі за 160 ₴. Попередній раз мене штрафували ще на першому курсі, рахуйте 18 років тому. Тоді я з вокзалу вранці з торбами їхав до гуртожитку на першому трамваї. А там були прошарені контролери — вони чекали студентів з сумками й штрафували за те що сумка перевищує дозволені виміри. Я завтикав купити два квитки й мене прийняли гоповаті тіпочки. Мене тоді ще зустріли однокімнатники, бо мав багато важких торбів, короче нас вивели почали рамсіть, врешті я шось 20 ₴ заплатив за такі розклади, коли проїзд по 50 копійок був (ото часи!). Такі справи. Не попадайтесь. ### Google Clown Platform URL: https://www.rozhkov.me/google-clown-platform/ Last updated: 2023-03-14T12:33:01.000Z Знадобилося мені вчора маленький прототип підняти на GCP. На одному з проєктів я досить довго мав з ним справу, але більше з боку юзера, а не адміна (дякувати Саші та Ромі за те що бавили його). Можу довго скаржитися на гуглову консоль, вона тормозна, заплутана і незручна у порівнянні з AWS. За кілька років я так і не звик до GCP. Менше з тим, мав задачу: розгорнути постгрес та якось підняти докер імедж. Підіймати вирішив через Google Cloud Run, бо запам'ятав як [Келсі Гайтвер](https://twitter.com/kelseyhightower) казав що це топова штука. В мене вже був акаунт створений для [adopt.ua](https://www.adopt.ua/) — для OAuth через gmail вам треба мати GCP акк — дуже зручно (насправді ні)! Отож, я пішов туди, дивлюся, в мене є декілька проєктів, це типу папочки з ресурсами в GCP, на кожну з яких може бути окремий білінг. Бачу що в мене є пара тестових проєктів, давай думай видалю їх, ніби там нічого немає. Видаляю. Створюю новий проєкт, чисто під прототип. Тицяю «створити базу», мені каже «для створення бази треба видати права». WAT, які права, я під рут акаунтом! Тицяю ok, воно там щось бухтить, короче виявляється що в GCP є якісь сервісні акаунти й вони мають бути створені, щоб я міг створювати ресурси. Якась херня, в коментах поясніть плз навіщо це. Тут я помічаю що зробив ресурс не в тому проєкті, бо GCP-шний UI не перемикнув його. Окей думаю, дай видалю той сервіс акаунт, видаляю, йду в новий проєкт, тицяю там зробити ресурс, а воно мені таке «до цього проєкту не підв'язаний білінг акаунт, підв'яжіть». Натискаю «підв'язати», вибираю свій білінг акаунт, пук-среньк «ой, ваш білінг акаунт не може бути прив'язаний до проєкту, тому що у вас квоти (ЩО БЛЯТЬ). Натисніть кнопку, щоб збільшити квоту». Натискаю кнопку, вивалюється форма де я маю пояснити які ресурси для якого проєкту мені треба, *щоб мені дали дозвіл на підв'язку білінг акаунту*. Сука, я ще маю щось пояснювати комусь-там, щоб мені дали дозвіл заплатити їм бабки! Заповнюю форму, через хвилину приходить відповідь «йдіть нахуй, не підв'яжемо білінг акаунт до вашого проєкту, ви були недостатньо переконливі»🤬🤯 Ну ок, думаю, давай тоді створю ресурси потрібні в адопті, там білінг акаунт вже є. Йду туди, роблю постгрес, йду в Cloud Run, згадую що там треба спочатку дати йому докер імедж. Ok Google, йду в Container Registry а там великий банер «ЦЕЙ СЕРВІС ДЕПРЕКЕЙТЕД І БІЛЬШЕ НЕ БУДЕ САПОРТИТИСЯ ЙДІТЬ В ARTIFACT REGISTRY». Ніхера собі новини, думаю, оце значить якийсь РМ отримав промоушен за те що на пустому місці задепрекейтив та примусив мігрувати на новий докер реєстр сотні тисяч юзерів. Тіпікал гугл, клали хер на юзерів, постійно депрекейтять закривають та видаляють свої ж сервіси й знову кладуть на всіх🤬 Окей думаю, йду в той артіфакт репо, створюю докер імедж, роблю `gcloud auth` щоб докер мав креди, тегаю імедж, пушу... Ніхера. Timeout. СУКА. Я просто хотів розгорнути контейнер, чому ця залупа така складна? Заспокоююсь, вертаюсь на депрекейтед реєстр, тегаю імедж під старий `gcr.io`, пушу... Все ок! Алілуя! Радісно йду в Cloud Run робити свій інстанс, вибираю імедж, тик-пик, «YOU DON'T HAVE PERMISSIONS». Дійсно, я ж видалив сервіс акаунт🤦‍♂️, а кнопки «зробити заново» вже немає. На цьому місці я згорів остаточно і закрив консоль. ### Українські телеграм канали: Олександр Соловйов URL: https://www.rozhkov.me/ukrainian-tg-channels-bitethebyte/ Last updated: 2023-03-13T08:00:00.000Z *Щопонеділка роблю огляд авторських українських телеграм каналів. Підписаний сам, заохочую підписатися і вас, щоб розвивати наш сегмент телеграму. На жаль, таких каналів зовсім небагато і вони мають мало підписників. Вперед!* Сьогодні довгоочікуваний канал Саші Соловйова — головного ADHD/HIN кложуриста України, перфекціоніста, JS-стендапера, ~~CTO Касти~~, Lisp-амбасадора, поцінувача нативних та швидких програм, батька двох дітей, і простого чудового хлопця — [@bitethebyte](https://t.me/bitethebyte). Ви можете знати Сашу за його епічною презентацією [Functional Reactive Programming & ClojureScript](https://www.youtube.com/watch?v=R4sTvHXkToQ). Якщо не знаєте, то подивіться обов'язково🔥 Я заочно знайомий з Сашою ще з студентських часів та КПІ-шної локалки і юзнету, а також одного разу проводив з ним [стрим](https://t.me/full%5Fof%5Fhatred/452). Канал заснований на початку 2021 року та принципово ведеться українською мовою ~~ще до того як це стало мейнстримом~~. Тематика: зламаний софт, зламана розробка, зламані організації, зламаний світ навколо, кложура, «як ми зробили X в Касті», різні цікавинки, наприклад [деталі вимови голосних](https://t.me/bitethebyte/245), анонси ютуб відосів, реакції на новини й так далі. Підбірочка постів: 🔥 [Батхерт від ORM](https://t.me/bitethebyte/240) 🤔 [Чи може бути чужий код класним?](https://t.me/bitethebyte/123) 🤢 [Батхерт від спроб зробити дата пайплайн на AWS](https://t.me/bitethebyte/132) ☝️ [Чому програміст зобов'язаний вміти користуватися регекспами](https://t.me/bitethebyte/139) ⚔️ [Нюанси Куликовської битви](https://t.me/bitethebyte/149) 🫃 [Як діти впливають на емпатію та чому треба мати мінімум двох дітей](https://t.me/bitethebyte/154) 🙅‍♂️ [Технічна освіта — це не освіта](https://t.me/bitethebyte/198) Також Саша має [Ютуб](https://www.youtube.com/@asolovyov) та досить популярний [Твітер](https://twitter.com/asolovyov), а ще розвиває [власні маленькі ліби](https://github.com/piranha). Трохи статистики: \- Всього написано 252 пости \- Кількість підписників з часом тільки росте📈 \- Перегляди знаходяться на дуже пристойному рівні — їх більше ніж підписників з тих же причин що й в пана Климова, дуже хороший результат👍 Заздрю! [@bitethebyte](https://t.me/bitethebyte) — підписуйтесь, ставте вподобайку та дзвоника, підтримуйте наших авторів! *P.S.: ні, це не ганебна реклама або взаємопіар. Я давно хотів зібрати каталог усіх українських авторських каналів. Автори зазвичай навіть не знають що я про них писатиму. Також мене дратує що досі багато людей підписані на кацапів та дивляться на рекламу сбербанку проміж смішних мемів. Хочу це змінити.* ### Емоціональні інвестиції URL: https://www.rozhkov.me/emotional-investments/ Last updated: 2023-03-10T08:00:00.000Z Я людина яка швидко захоплюється, та загоряється якимись ідеями. Спадає щось на думку, і ти вже весь у цьому, здається що зараз полетиш. Нові проєкти, знайомства, можливості. Буває що люди щось обіцяють і здається що це той самий шанс один на мільйон. А потім нічого не відбувається. Вмикається Cистема 2, і ось уже ідея не виглядає привабливою, люди не дотримуються обіцянок або просто зникають, можливості не реалізовуються. Я десятки разів попадався у цю пастку. Коли з'ясувалося що ми купили хату у шахраїв, то адвокат запевняв нас що все буде гаразд. З часом виявилося що не гаразд. Люди, які обіцяли допомогти з тим же питанням, говорили багато, а по факту нічого не зробили. Ідея що здавалась мені топовою, не знаходила відгуку у потенційних кофаундерів. На першій розмові з клієнтом говорили про рейт 50€, а коли дійшло до діла то вони почали казати що більш як 15€ не заплатять. А я вже рахував прибутки! Пропозиції партнерства виглядали неймовірно, а закінчувалося це нічим. Крузак вже [був у мене в руках](https://www.rozhkov.me/daily/land-cruiser-prado/), але в останній момент все зірвалось. ![The lost boy DUcks ](https://images.unsplash.com/photo-1617140610409-753b80274362?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDUzfHxlbW90aW9uc3xlbnwwfHx8fDE2NzgwMTQxMTk&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Ekoate Nwaforlor](https://unsplash.com/@ekographs?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Останнього разу було досить боляче — я побачив збір на прилади нічного бачення які можуть завезти по низькій ціні через знайомих, якраз в цей час до нас звернулися за допомогою військові, ось воно! Хутко [зібрав гроші](https://t.me/full%5Fof%5Fhatred/673) (завдяки вам), і що ви думаєте? Все зависло, перспективи неясні, гроші просто 3 місяці пролежали на банці, а тепер взагалі поляки не пропускають прилади подвійного призначення. Потрібно буде дозбирувати ще таку ж саму суму, щоб купити з націнкою тут, бо інакше ніяк. Якщо емоційно вкладатися в ці всі історії, мати нереальні очікування, то віддача буде важкою. Тому зараз я намагаюся, після того, як пройде перша хвиля захоплення, увімкнути Систему 2, попуститися, заспокоїтися, та знизити очікування. Вигорить то вигорить, а як не вигорить то не дуже й шкода було. ### Краще завжди попереду URL: https://www.rozhkov.me/bright-is-always-ahead/ Last updated: 2023-03-08T08:00:00.000Z Розповсюджена тактика продавців (та шахраїв), описана ще Робертом Чалдіні у книзі «Психологія впливу» — це штучне створення ілюзії попиту. Ви всі бачили ці трюки — „тільки сьогодні й тільки зараз цей товар зі знижкою, на складі вже нічого не залишилося, не проґавте свою можливість!” та подальше заохочення покупця якомога швидше зробити свій вибір. Робиться це для того, щоб людина попала в пастку когнітивного викривлення, та не мала часу на включення своєї Системи 2, щоб раціонально оцінити, чи варто поспішати. Я сам попався на цей гачок — коли купував першу квартиру. Це був надзвичайно дорогий урок. Коли я шукав другу квартиру то вже знав, що ні в якому разі не можна поспішати. Пропозиція дійсна тільки тиждень? Ок, продасте то продасте. Вже є інші покупці? Ну то хай беруть, я не кваплюсь. Знижка тільки для мене і тільки зараз? Гаразд, я подумаю. Цей проєкт стартує ось-ось і потрібен тімлід негайно? Вибачте, маю заплановану місячну відпустку, проєкт почекає. ![](https://images.unsplash.com/photo-1601363645678-0cbae97abb2c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDV8fGFoZWFkfGVufDB8fHx8MTY3ODAxMzE5MQ&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Ian Taylor](https://unsplash.com/@carrier%5Flost?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Потрібно свідомо відмовитися від негайного прийняття рішення, та сповільнитися. Чому? Бо попереду завжди буде краще і поспішати нікуди. Завжди можна буде знайти кращу пропозицію, кращий товар, кращу роботу, краще все. В мене так і траплялося. Другу квартиру ми шукали вже 9 місяців. Я переглянув все що було на ринку, жодного разу не піддався на провокації рієлторів та продавців і врешті знайшов топовий варіант. Так само з проєктами. Так само і з іншим. Застерігаю також від передчасних емоціональних інвестицій у щось. Буває таке що ти ще не зробив вибір або реалізував можливість, але вже уявляєш ніби зробив, а потім все обламується. Але про це згодом. Якщо щось не виходить зараз, пам'ятайте — попереду завжди чекає краще. ### Прочитав «Про все можна домовитись»/«Everything Is Negotiable» URL: https://www.rozhkov.me/everything-is-negotiable-the-5-tactics-to-get-what-you-want-in-life-love-and-work-book-review/ Last updated: 2023-03-07T09:23:26.000Z Новий день, нова книга, саме час скуштувати ~~солодкого хлібу~~ рецензії на черговий селф-хелп бестселер! Цього разу я завітав у літературний простір на Великій Васильківській, і ноги самі понесли мене у відділ психології та селфхелпу. Ця книга привернула мою увагу, бо колись її рекомендував прочитати найцинічніший програміст України — містер Кожаєв. Я трошки погортав, і хоч спочатку здалося дивним що авторка пише про своїх дітей та студентів, я не надто вчитувався і просто відніс книгу на касу. Через десять сторінок зрозумів що тут щось не те. Так і виявилося, я переплутав книгу з іншою. Вова Кожаєв рекомендував [«Everything is Negotiable: How to Get the Best Deal Every Time»](https://www.goodreads.com/book/show/6396070-everything-is-negotiable) від автора Ґевіна Кенеді, видану у 1983 році, а я натрапив на [«Everything Is Negotiable: The 5 Tactics to Get What You Want in Life, Love, and Work»](https://www.goodreads.com/book/show/39857260-everything-is-negotiable) від авторки Мег Маєрс Морґан, видану у 2018 році. Менше з тим, книгу я все-таки прочитав, не пропадати ж добру! ![](https://www.rozhkov.me/content/images/2023/03/IMG_20230306_000110.jpg) Отож, до книги! Авторка — мама двох малих дівчаток, дружина прекрасного чоловіка, викладачка курсу післядипломної освіти у сфері управління неприбутковими організаціями та кар'єрний консультант. На жаль, назва книги не відповідає вмісту. Саме конкретно переговорам відведено рівно дві сторінки, буквально першу та останню. На першій сторінці Мег хизується своєю малою дочкою яка з упертістю та майстерністю соціопата виторговує у неї солодощі застосовуючи спосіб «декілька кроків» — якщо хочеш морозива, то спочатку добийся, щоб його дістали з морозильника. На останній сторінці Мег розповідає як вони з чоловіком вирішили купити будинок, але продавці ставили все більше умов, не йшли на поступки та не робили зустрічних пропозицій, й робить висновок що такі переговори це не переговори. Решта книги — це мікс з саморефлексії авторки, детальних описів різних ситуацій які траплялися з її дітьми, чоловіком, батьками, дідусями та студентами. Чесно кажучи я не матір що йде в аспірантуру та одночасно планує ще одну вагітність, тому ці всі історії мені не резонували, а солодкі описи її прекрасних дітей (а у кого вони не прекрасні?), дбайливого, чутливого, розумного та сильного чоловіка, кмітливих батьків та кабанчика-дідуся, швидко стали викликати відразу. Через всю книгу авторка ділиться своїм досвідом материнства, виховання дітей, та суміщенню цього з роботою. Жінкам що думають що якщо зібралась народжувати, то все, працювати не вийде радить народжувати й продовжувати працювати, бо в неї це непогано виходить. Ділиться порадами. Також значна частина присвячена питанням кар'єрного зростання жінок. Всі ці історії відбувалися з жінками які приходили до неї як до викладача порадитися чи варто витрачати час на навчання в аспірантурі, чи варто продовжувати, та консультувалися вже після завершення. Загострюється увага на поведінкових патернах саме жінок, наприклад схильність себе недооцінювати та недостатня напористість, які заважають їм отримувати кращі посади. Книга складається з п'яти розділів, в кінці кожного нас чекає коротке резюме. Поради стандартні — брати до уваги в першу чергу свої потреби та бажання, а не чужі, не віддаватися жодній справі до самого кінця, приборкати власний перфекціонізм, вибирати все й одразу, а не щось одне. Робіть добре, а погано не робіть і все у вас буде класно. Ймовірно ця книжка буде корисна якщо ви жінка яка хоче дітей, але не хоче кидати кар'єру. Якщо ви чоловік, то вам цю книгу прочитати хіба що як погляд з іншого боку на батьківство, але я переконаний що спеціалізована література буде значно кращою. Якщо ви жінка, то... Я не жінка тому не можу сказати чи є кращі книжки, чи ця теж ок. Сподіваюсь коментаторки підкажуть. На тому все. Наступним напевне буде графоман Талеб, бо я так і не дочитав «Антикрихкість», та й взагалі пора трохи зав'язати із селф-хелпом і навернути бізнес літератури. ### Українські телеграм канали: Ілля Климов URL: https://www.rozhkov.me/ukrainian-tg-channels-xanf_dev/ Last updated: 2023-03-06T08:32:14.000Z *Щопонеділка роблю огляд авторських українських телеграм каналів. Підписаний сам, заохочую підписатися і вас, щоб розвивати наш сегмент телеграму. На жаль, таких каналів зовсім небагато і вони мають мало підписників. Вперед!* Сьогодні в нас канал Іллі Климова, JavaScript Ninja, Senior Engineer у GitLab, відомого спікера, ментора, опенсорс контриб'ютора, у минулому фаундера аутсорс компанії — [@xanf\_dev](https://t.me/xanf%5Fdev). Канал засновано влітку 2022\. Ілля проживає у Харкові, активно волонтерить, збирає кошти на ЗСУ та навіть програмує для них щось секретне. Також має свій курс для фронтендерів, і взагалі дуже сильно вкладається в джунів. У вільний від того час консультує компанії де заробляє 1000$ за один рядок коду ([це не жарт](https://twitter.com/xanf%5Fua/status/1608147140739584000)). Я особисто познайомився з Іллею ще у 2019 на конференції KharkivJS. Поважаю його громадянську позицію, систематичність та послідовність. Тематика каналу відповідна: це роздуми про менторство, ефективність, продуктивність та планування (Ілля дуже любить все планувати) ну і звичайно про роботу. Ось підбірка: 🗿 [Купив квартиру у Харкові під час війни](https://t.me/xanf%5Fdev/105) 🤑 [Єдиний робочий спосіб тримати фінанси під контролем](https://t.me/xanf%5Fdev/101) 👶 [Різниця між джуном, мідлом, помідором та стафом](https://t.me/xanf%5Fdev/97) 👵 🧠 [Інтуїція](https://t.me/xanf%5Fdev/60) 🐉 [План](https://t.me/xanf%5Fdev/59) 👩‍❤️‍👨 [Work/Life Balance](https://t.me/xanf%5Fdev/42) 🤌 [Чому корисно дивитися ютуб на 0.5x а не 3.5х](https://t.me/xanf%5Fdev/30) Канал ведеться російською, але Ілля вже почав робити стрими українською та декларував свої наміри про збільшення частки українського контенту. Ми це всіляко підтримуємо та заохочуємо. Також Ілля має дуже популярний [твітер](https://twitter.com/xanf%5Fua/) та [ютуб](https://www.youtube.com/@JavaScriptNinja). Чесно кажучи хотілося б щоб він більше вкладався в телеграм, бо той явно відстає, але маємо те що маємо. Статистика: \- Всього написано 100 постів \- Кількість підписників не зменшувалась, а статистика переглядів знаходиться на дуже пристойному рівні, очевидно, через розкручені твітер та ютуб, а також ймовірно російськомовних читачів, які не відвалилися, як у мене. Заздрю! [@xanf\_dev](https://t.me/xanf%5Fdev) — підписуйтесь, ставте вподобайку та дзвоника, підтримуйте наших авторів! *P.S.: ні, це не ганебна реклама або взаємопіар. Я давно хотів зібрати каталог усіх українських авторських каналів. Автори зазвичай навіть не знають що я про них писатиму. Також мене дратує що досі багато людей підписані на кацапів та дивляться на рекламу сбербанку проміж смішних мемів. Хочу це змінити.* ### Проєкти підписників: u8views — статистика переглядів GitHub профілю URL: https://www.rozhkov.me/u8views/ Last updated: 2023-03-02T08:00:00.000Z Давній підписник Ярослав Характерник нещодавно зарелізив свій проєкт: u8views. Це мікро-SaaS для трекінгу переглядів вашого гітхаб профілю. Актуально щоб розуміти наскільки популярний ваш опенсорс акаунт. Таких тулзів є багато, найвідоміший аналог зроблений на болотах, тому Ярослав вирішив реалізувати своє рішення, а заодно потренуватися в хайлоаді. Інструкція по підключенню: 1. Якщо ви ще не створили, то створити репозиторій з назвою як у вашого юзернейму, наприклад у мене це , обов'язково відмітити "Add a README file" 2. Залогінитись на сайті через GitHub. 3. Скопіювати код з сайту в README 4. ... 5. PROFIT! Тепер u8 буде трекати заходи на ваш профіль і малювати прикольні графіки Технічні деталі: - Проєкт опенсорсний - Написаний на Go, база даних постгрес - Гітхаб проксує всі запити до картинок та пікселів на які є лінки, тобто неможливо прослідкувати ІР адресу людини що зайшла на профіль. Ваші дані у безпеці! - Через проксування неможливо порахувати унікальні візити, тому статистика показує всі заходи на сторінку - Фронтенд дуже круто зроблений — подивіться на деталі в інструкції! Як завжди ставте зірочку, та додавайте собі бейджик у профіль. Це другий випуск «Проєктів підписників» ([перший тут](https://www.rozhkov.me/subscribers-projects/)), якщо у вас є проєкт яким би ви хотіли поділитися — пишіть мені. ### Прочитав «Воля»/«Спадок професора Пулюя» URL: https://www.rozhkov.me/the-will-legacy-of-professor-puliuy/ Last updated: 2023-03-01T08:00:00.000Z Ще кілька років тому я дізнався про комікс [«Воля»](https://thewill.com.ua/), та купив його. Дії відбуваються в альтернативній реальності кінця 1910-х років, де більшовики не захопили Україну. Автори коміксу обіцяли продовження та книгу. Нещодавно вони нарешті їх видали, і я відразу ж замовив собі по примірнику. Щодо коміксів: я не фанат, єдині комікси що я читав то «Качині історії» ще в середині дев'яностих, тому оцінити нюанси не можу, але мені сподобалося. Максим Кривонос і компанія трощать більшовицьких zомбі та розплутують окультні таємниці, Сікорський двіжує на держзамовленнях, Махно погрожує Скоропадському перейти на бік червоних, а фігуриста полячка Агнєшка не дає читачу занудьгувати. Недолік один — комікси дуже короткі й тільки почав читати, уже закінчуються😕. Тому звичайно мене зацікавила повноформатна книга, тим більше від відомого вже мені автора — Ігора Сіліври. Свого часу я залюбки прочитав [«Цепелін до Києва»](https://www.goodreads.com/uk/book/show/19335704) — історію про дизельпанк світ, в якому невідома електрика, детектива із залізною рукою та програміста аналогових машин. ![](https://www.rozhkov.me/content/images/2023/02/IMG_20230228_213251.jpg) Отож, до книги. Дії «Спадку професора Пулюя» відбуваються у тому ж всесвіті що й коміксу «Воля», та приблизно в тому ж часовому проміжку — кінець 1910-х років. Герої інші, аніж у коміксі — цього разу з нами студент КПІ який кинув навчання на користь служби у війську, інший студент, уже празького університету, котрий має передати звістку від свого вчителя та підліток з таємничим минулим. На жаль, я пропустив уроки історії у школі та поза тим не цікавився історією України часів першої світової та більшовицько-української війни, та не дуже пам'ятаю розклади тих часів. Книга намагається це виправити. Героям протистоять більшовики-zомбі (натуральні), містичний культ, зрадники у владі та мутні контрабандисти з Закарпаття. Перша половина схожа на шпигунський екшн, у другій темп сповільнюється — герої сидять на місці та рефлексують. Автор занурює нас в атмосферу тих часів та детально описує різні технології, як ті що існують, так і вигадані або анахроністичні. У книзі багато зносок, де наводяться невеликі історичні деталі. Іменами багатьох другорядних персонажів зараз названі вулиці — корисно знати свою історію! Як заведено в сучасній літературі, чимало місця відведено питанням фемінізму та рівності, також автор підіймає тему 73%. Основна лінія у книзі — все-таки любовна, що мене дещо засмутило. Хотілося б звичайно більше десантів чорних запорожців на більшовицькі позиції, бомбардування з флотилії дирижаблів, та парових [Імперських Лицарів](https://wh40k.lexicanum.com/wiki/Imperial%5FKnight), але вже маємо те що маємо. Менше з тим, книга цікава і я раджу її [купити](https://thewill.com.ua/catalog/kniga-volya--spadok-profesora-pulyuya/), як мінімум щоб підтримати вітчизняного автора та виробника. Ну і комікс не забудьте теж купити. І [«КіберКрай»](https://thewill.com.ua/catalog/komiks-kiberkray-1153094824/) з Павлом Зібровим у головній ролі, теж не забудьте. Сподіваюсь на продовження. P.S.: як на мене, то «Цепелін до Києва» сильніший, раджу вам його також. ### Етика донатів URL: https://www.rozhkov.me/donate-ethics/ Last updated: 2023-02-28T08:00:00.000Z Коли маєш питання куди витратити гроші, звичайно хочеться, щоб віддача була максимальною. Хочеться, щоб пікап прожив до кінця війни, квадрик мінуснув роту кацапів, тепловізор допомагав відбивати штурм, у спальнику добре спалося і так далі. Також хочеться, щоб все це попало в руки відповідальних та майстерних бійців і бійчинь, а не аватарів. Не маю цифр, але мені здається що донати розподіляються згідно зі стандартним законом сили: 20% підрозділів отримують 80% всіх донатів. Причому чим медійніший підрозділ, наприклад «Кракен», тим більше він буде отримувати й надалі. Багатий — багатіє, а бідний продовжує сидіти голий босий на нулі. Того тижня «Птахи Мадяра» за день зібрали 30М ₴ривень. Неймовірний результат! А все чому — бо Мадяр показує результат, медійний та має купу фоловерів. Знаю що дуже багато людей не довіряють нікому крім великих фондів, та донатять умовно мало грошей. „Я підписався на коло 6000₴ і все“ — це стандартна історія яку я неодноразово чув. Звичайно, хочеться допомагати тим хто дає результат. «Кракену» або «Птахам». Але інші, не такі розкручені підрозділи, теж потребують допомоги. Вони як можуть показувати хороший результат, так можуть і не показувати. Але це не привід не допомагати їм з забезпеченням. Тому мій вибір — допомагати всім підряд. Філософія [@Donate1024Bot](https://t.me/Donate1024Bot) — це невеликі збори абсолютно різним підрозділам. Я намагаюсь неупереджено ставитися до того що мені надсилають, і не зважаю на бригаду або дислокацію. Зараз люблять писати «таким-то хлопцям, що тримають позиції під Бахмутом, треба то-то». Так, під Бахмутом надзвичайно складна ситуація. Але вона така ж складна й у Вугледарі, і в Мар'їнці, і в Авдіївці, і в лісах Кремінної. Всім тяжко. Тому й потрібно допомагати за можливості всім підряд, а не тільки гучним іменам. [Приєднуйтесь](https://t.me/Donate1024Bot)! P.S.: у коло та пж я теж звичайно заношу гроші, але при цьому левова частка все ж йде на рандомні підрозділи по всьому фронту. P.P.S.: Збори для «Кракена» неодноразово пробігали в боті, все в порядку✌️🎈 ### Тухлий кабель URL: https://www.rozhkov.me/daily/bad-cable/ Last updated: 2023-02-27T08:24:00.000Z Знадобилося мені оце купити USB-C кабель, довгий, 2м, для пульта для [дрона](https://www.rozhkov.me/how-to-fpv-drones/). Зайшов на розетку значить, давай обирати. Обирав-обирав, читав відгуки, дивлюся є кабель Belkin, дорогущий, але відгуки ніби норм. Ну думаю, що я буду 100 грн економити як вже брати то брати нормальне. Замовив, через день забираю, приношу додому, вставляю кабель в комп'ютора, хочу мишкою запустити симулятор, а мишка не працює. Неочікувано! Перемикнув мишку, не працює. Витяг щойно куплений кабель — працює! О-па, значить кабель щось там коротить, чи такий потужний, що забирає на себе енергію двох портів, якщо мишка відмовляється працювати поряд з ним. Може то роз'єм такий? Спробував під'єднати поряд з вебкою — вебка перестала працювати🙈. Гаразд, дістав вебку, приєднав пульт, запустив симулятор, тягну стік догори — нічого не працює! Отакої, думаю, може то в мене ком'ютер якийсь старий для такого нового кабелю? Перевіряю з зарядкою — та сама історія. Ну тут думаю точно щось не так, треба повертати. Пішов в розетку, кажу так і так, продавчиня дістала свою зарядку, перевірила — дійсно не працює. „Такий дорогий кабель, а не працює“, кажу, „Ага”, погоджується продавчиня. Здав кабель, потім був на Подолі, зайшов до якогось магазу біля метро, там взяв перший ліпший кабель, на 100 грн дешевше ніж той бєлкін, все працює як має бути. Отак і вір розкрученим брендам. ### Українські телеграм канали: Юрій Лучків URL: https://www.rozhkov.me/ukrainian-tg-channels-yyluchkiv_blog/ Last updated: 2023-02-27T08:00:00.000Z *Щопонеділка роблю огляд авторських українських телеграм каналів. Підписаний сам, заохочую підписатися і вас, щоб розвивати наш сегмент телеграму. На жаль, таких каналів зовсім небагато і вони мають мало підписників. Вперед!* Сьогодні в нас канал Юрія Лучківа, CEO аутсорс/аутстаф компанії Tech1 та розробника власних продуктів — [@yyluchkiv\_blog](https://t.me/yyluchkiv%5Fblog). Канал заснований у 2018 році, ведеться українською та регулярно. Юра проживає у Львові. Колись він вів спільноту Upwork-розробників, не знаю чи вона існує досі. Тематика цього каналу здається найбільше схожа на мій та знову складно піддається опису. Ось невелика підбірка: \- [Аналіз резюме підписників з практичними рекомендаціями](https://t.me/yyluchkiv%5Fblog/173) \- [](https://t.me/yyluchkiv%5Fblog/165)[Як перетворити офер на 1500$ в офер на 2800$](https://t.me/yyluchkiv%5Fblog/165) 🤑 \- [Чому ми маємо платити податки самостійно](https://t.me/yyluchkiv%5Fblog/156) \- [Складові ефективності](https://t.me/yyluchkiv%5Fblog/155) \- [Робота на дядю vs робота на себе](https://t.me/yyluchkiv%5Fblog/135) 🐿 Автор намагається фокусуватися на практичних порадах. Якщо копнути глибше, то знайдете корисні матеріали про складання резюме, проходження інтерв'ю, вибір роботи, а також рецензії на фільми. Також Юрій веде [блог англійською](https://www.yyluchkiv.com/), але там поки що небагато матеріалів. Чомусь на каналі немає зборів🤔 Трошки статистики: \- Всього написано 179 постів \- З початку війни Юра не тільки не втратив підписників, а й набрав 1500 (от що значить вести канал українською відразу) та має в середньому 1500 переглядів на пост. [@yyluchkiv\_blog](https://t.me/yyluchkiv%5Fblog) — підписуйтесь, ставте вподобайку та дзвоника, підтримуйте наших авторів! *P.S.: ні, це не ганебна реклама або взаємопіар (хіба що зовсім трошки). Я давно хотів зібрати каталог усіх українських авторських каналів. Автори зазвичай навіть не знають що я про них писатиму. Також мене дратує що досі багато людей підписані на кацапів та дивляться на рекламу сбербанку проміж смішних мемів. Хочу це змінити.* ### Фініки URL: https://www.rozhkov.me/daily/dates/ Last updated: 2023-02-25T13:25:09.000Z В середині дев'яностих фініки мені на стіл попадали надзвичайно рідко та були дивовижними та екзотичними ласощами. Вони були настільки смачними, що я не викидав кісточки, а залишав їх, та ще облизував та обсмоктував, як собака кістку, аж поки вони не починали блищати. Тоді мені це здавалося ок. Небагате дитинство, щопоробиш. Добре що зараз вже не ті часи, і я можу дозволити собі тих фініків досхочу. Зазвичай я беру зараз не ті висушені вщент плоди, як продають по найнижчому прайсу, а свіжі, такого темно-фіолетового кольору, що коштують дорожче. Вони м'які та смачні. Отож, купив собі я вчора пачку таких фініків, їм потроху, аж раптом дивлюся на нижній ряд, а там замість нормальних плодів напхані ті самі висушені, коричневого кольору🤬 Смак та текстура у них відповідні та радикально відрізняються від того, що на верхньому ряді. Тільки того тижня писав про [чесні літри](https://www.rozhkov.me/true-liter-in-cv/), а вони й до фініків вже добралися, негідники. На світлині добре різницю, зауважте два великих красивих фініки зверху та ганебні зморщені висушені знизу. ![](https://www.rozhkov.me/content/images/2023/02/IMG_20230225_151511.jpg) P.S.: кісточки, щоб облизувати вже не зберігаю. ### Рік війни URL: https://www.rozhkov.me/one-year-of-war/ Last updated: 2023-02-24T10:00:14.000Z Що ж друзі, прийшов час провести ретроспективу року. Перші два місяці минули в момент, ми невпинно їздили по складах, забирали мішки з кормом для котичів та песичів і розвозили по людях, приїжджали додому вже після завершення комендантської години й лягали спати вдягнені. Я думскролив, але часу на то було не так багато. З тих часів пам'ятаю тільки постійні блокпости з ретардерами та їжаками. 🫡Дякую всім хто тоді нас підтримав — мені здається в сумі ви надонатили тисяч 200, все це пішло на діло. В кінці квітня я якось роздуплився і знову почав писати й працювати. Ретроспективно, якщо дивитися на початок війни, то єдине реальне що я пропустив це каністри для пального. Треба було зробити запас літрів 200, вони б нам знадобилися. Дуже шкодую що не отримав завчасно водійські права, це суттєво знизило мою мобільність та корисність. Відразу треба було шукати знайомих військових і починати дружити з незнайомим, і відразу збирати гроші. Вважаю що змарнував потенціал каналу, бо довго не робив зборів, і почав вести активність аж у кінці літа. Треба було відразу робити бота. Ідея до мене прийшла ще на початку літа, але я її постійно прокрастинував. Якби зробив раніше — зібрали б більше коштів. А так взагалі вважаю що рік минув дуже продуктивно. Через бот зібрали 5.5 мільйонів гривень. Заробив трохи грошей на роботі. Віддали багато тварин. Познайомився з купою цікавих і хороших людей. Перейшов на українську🇺🇦 ![](https://www.rozhkov.me/content/images/2023/02/20230114_102900.jpg) Коли лінія фронту усталилась то звичайно тривожність відійшла. Вже не переживаєш за казани та якісь бліцкриги, а чекаєш нашого контрнаступу. Сотні ракет вже не такі страшні. Як казав Чмут, *„росіяни настільки некомпетентні що не змогли реалізувати свою приголомшливу перевагу у ракетному озброєнні та авіації“*. І добре що так. Зараз вже спокійніше на це дивишся, та більше підготований до неприємностей. За рік ми побачили всі можливості кацапів, не думаю що буде щось нове. Люди люблять коли все передбачувано, а зараз все передбачувано. Війна з нами надовго. На рік точно, якщо не на роки. Я прийняв рішення залишитися тут, та спокійно працювати на перемогу. Вдячний кожному з вас підтримку та розраховую на неї й надалі🤝 P.S.: для покращення настрою рекомендую почитати про що писали кацапські Z патріоти рік тому, оці всі «Харьков наш!», «В Одессе высаживается десант», «Нас встречают с цветами» є канал [Z Прогнозы](https://t.me/zprognozb), автор кропітливо збирає все це, та робить підбірочки. ### День перед війною URL: https://www.rozhkov.me/day-before-war/ Last updated: 2023-02-23T08:00:00.000Z 23-го лютого 2022 року у нас з колегами був щомісячний мінікорпоратив. Того дня перед барчиком вирішили піти в тир, постріляти з пістолетів. *Готувалися😅* В тирі нас детально проінструктували, та видали глок, беретту та купу набоїв. Постріляли. В мене непогано вийшло. Після того ми відправилися в ресторан Чічіко на ярвалу, де смачно поїли та трохи потеревенили. Поряд сиділа відома журналістка, здається з Цензору. Пам'ятаю як дістав телефона, відкрив укрправду, там була якась новина про скупчення військ та можливий напад, все капсом та червоними літерами, і мені стало реально тривожно. Взагалі я не дуже переживав, бо не вірив що буде повномасштабна війна. Ми з колегою у коворкінгу неодноразово обговорювали це питання за кавою, і щоразу такі „Та нє, нападати ж немає ніякого сенсу“. Я гадав що максимум буде заваруха на Донбасі. Інший колега, з яким ми за тиждень чи два до того ходили обідати, тоді казав „а я поїду у відпустку, до Туреччини, на два тижні. Якщо нічого не трапиться, то так і буде“. Цей колега відтоді живе закордоном. За тиждень до того я купив собі дескмат та мишку Ducky Feather, щоб зручніше працювалося у коворкінгу. «Заїдав» тривожність компульсивними покупками. Наступного разу я дістану ну мишку та той дескмат аж через рік. Після рестику, десь о 12 ночі я, пригнічений, пішки чалапав до дому, а тривожність наростала. Ледве заснув о третій ночі. Ну а о п'ятій, як і ми всі, вже прокинувся та їхав на лівий берег, за мамою та котами. Почалося нове життя. Як же заїбала війна. Як же всіх заїбала кожен день війна... ### Чесний літр в резюме URL: https://www.rozhkov.me/true-liter-in-cv/ Last updated: 2023-02-21T10:37:01.000Z Останні пів року на болотах активно просувається тема про брехню у CV — приписувати собі роки досвіду або вигадувати їх. Якщо дурні роботодавці не можуть викупити що людина на інтерв'ю бреше, то значить потрібно цим користуватися, а хто не користується той лох і буде працювати за копійки. На додачу там йде повний набір «прагматично-цинічного програміста» — часто міняти роботу і так далі. Учасники цього руху називають себе «вовками», та збиваються у «зграї» де активно наярюють один одному на офери та зарплати. Звісно цивілізовані учасники з цього крінжують та влаштовують батли з вовками, так, від українців [бій веде](https://twitter.com/xanf%5Fua/status/1623908814167904256) Ілля Климов. ![](https://www.rozhkov.me/content/images/2023/02/DALL-E-2023-02-19-19.46.13---silly-wolf-toy.png) Я зіткнувся з подібною практикою ще багато років тому — у 2013\. Тоді на курсах QA кмітливі викладачі пропонували за невеликий прайс допомогти початківцям підробити резюме, та проводили мок-інтерв'ю, щоб переконатися що людина зможе переконливо брехати на справжньому. Особисто я вважаю брехню в резюме неетичною і так би не робив і нікому не радив. Стратегія ця буде працювати, аж поки всі не почнуть так робити, і контори не змушені будуть вдаватися до більш ретельних перевірок. Вважаю що така практика для суспільства буде net negative, грою з від'ємною сумою. Коли ти збрехав та отримав перевагу то це одне; коли ж починають брехати всі то це призведе до зниження довіри та необхідності впровадження контрмір. Я не хочу жити у світі, де всі мене намагаються обдурити. По факту-то ми приблизно так і живемо, але навіщо погіршувати ситуацію? Як трапилося з літрами? Виробники товарів вирішили що можна зменшити обсяг продукції в упаковці щоб не підіймати ціну. І тепер замість чесного літра маємо 950 або навіть 890 мл. Всі швидко один в одного перейняли цей геніальний хід і тепер годі й шукати товар де нормальний літр, кілограм і так далі. Особливо це помітно зараз, коли на полицях з'явилося багато європейських товарів, де виробники ще не пішли на такі маркетингові кроки. Те що дало короткостроковий ефект тепер зіпсувало експірієнс для всього: в літровій пачці йогурту зверху багато місця, бо налили лише 890 мл, пачки масла зменшуються й зменшуються, навіть брикет мівіни став меншим! Провайдери зв'язку переходять на оплату «за 28 днів» щомісяця зміщаючи білінг цикл. Повна ганьба, а все через отаких «вовків» які вирішили що якщо обдурити першим, то отримаєш профіт. Ти то його отримаєш, аж поки всі інші не почнуть робити так само. ### Українські телеграм канали: «Экстраполяция IT» URL: https://www.rozhkov.me/ukrainian-tg-channels-itextrapolation/ Last updated: 2023-02-20T08:48:09.000Z *Щопонеділка роблю огляд авторських українських телеграм каналів. Підписаний сам, заохочую підписатися і вас, щоб розвивати наш сегмент телеграму. На жаль, таких каналів зовсім небагато і вони мають мало підписників. Вперед!* Сьогодні в нас канал Олексія Осипенко, СТО компанії Cimon — [@itextrapolation](https://t.me/itextrapolation). Заснований ще в далекому 2016 році. Ведеться російською мовою, пости виходять регулярно. Олексій родом з Донецьку, виїхав звідти у 2014\. Тематику складно описати, так само як і в мене😅. Є пости про роботу, є про астрономію, є поради джунам, є просто філософія, є про війну. Ось невелика підбірка за минулий рік: \- [Про два тижні в окупації в Бучі](https://t.me/itextrapolation/553) \- [Про «сліпобачення» у програмістів](https://t.me/itextrapolation/609) \- [Історія однієї викрутки в Apollo 11](https://t.me/itextrapolation/644) \- [Чому потрібно робити маленькі пул реквести](https://t.me/itextrapolation/673) \- [Simple read, complex write vs complex write, simple read архітектури](https://t.me/itextrapolation/690) Олексій активно займається волонтерством і вже зібрав та відігнав на фронт більш ніж 5 машин та інші ніштяки. Також веде ютуб канал [«Lambda Show»](https://www.youtube.com/@Lambdaclub). Трошки статистики: \- Всього написано 673 пости \- З початку війни пішло всього 438 підписників, а перегляди майже не просіли та знаходяться в районі 1100 переглядів на пост. [@itextrapolation](https://t.me/itextrapolation) — підписуйтесь, ставте вподобайку та дзвоника, підтримуйте наших авторів! ### Як використовувати ChatGPT в роботі URL: https://www.rozhkov.me/how-i-use-chatgpt-in-work/ Last updated: 2023-02-16T09:59:41.000Z В інтернеті вже повно відео та порад стосовно ChatGPT: написання шаблонних листів, тікетів, пруфрідинг, генерація тікетів і так далі. Також багато людей намагаються якось «обманути» машину, задають якісь загадки в стилі сфінкса, натравлюють один чатгпт на інший чатгпт або на бінг, «провокують» АІ на образи чи роблять ще якесь неподобство. Це все мене не цікавить абсолютно, бо з того не маю ніякої користі — мені байдуже що ChatGPT думає чи як себе поводить, якщо це не допомагає мені ставати ефективнішим. Тому я залишу ці сумнівні вправи дослідникам, а з вами ділюся, чим ChatGPT допоміг особисто мені. ### Генерація рандомних даних ``` please generate me two csv files with a sample data First file should have name customers.csv and has the following fields: customer_id, name, address, phone, market_segment Second file should have name orders.csv and has the following fields: order_id, customer_id, order_date, total_price ``` На виході маємо два файли з правильно проставленими fk. Рандомність даних кульгає, але для моїх задач підійшло. Сам би я витратив на генерацію більше часу, підключав би якийсь faker або [factory\_bot](https://github.com/thoughtbot/factory%5Fbot). Згенерував мало даних? Не проблема, `please expand second file to 50 lines`. ![](https://www.rozhkov.me/content/images/2023/02/image-3.png) ### Парсинг json-файлу за допомогою `jq` ``` extract a message and location from a following json using jq: // some json // а потім How to extract it to the plain text where location and message are concatenated? ``` На виході маю jq-вираз який робить рівно те що мені треба: `jq -r '.entries[] | .message + " at " + .location.file + ":" + (.location.start_line | tostring)'`. Json містив записи про помилки з рядком у файлі, ChatGPT коректно це роздуплив та додав в аутпут поле, про яке я не просив явно, та ще й з двокрапкою. Топ! Сами б я пердолився з `jq` точно довше. Поки настековерфловив би, поки перепробував. Тут код працював відразу. ### Генерація шаблонних файлів конфігурацій ``` please generate example log4j.xml for a spark application ``` Ізі задача! В принципі можна нагуглити теж. Але ChatGPT відразу видав готовий файл з правильними пакетами, я просто його скопіпастив і все запрацювало. Попросив прибрати File Appender — забрав з XML релевантну частину. Це теж проста задача, я би сам її нагуглив швидко, але ChatGPT впорався точно швидше. ### Oh Shit, Git!?! ``` how to squash last 5 commits in a one ``` Я ніколи не сквашу коміти, бо за мене це робить гітлаб і забув як це робити. Елементарне стековерфлов питання, тільки для того, щоб щось зробити треба розпарсити 20+ відповідей і вибрати з них ту що підходить, а також поставити питання універсально, типу «how to squash commits in git». ChatGPT видав чудову інструкцію та конкретну команду для того, щоб засквашити саме 5 останніх комітів, а не один два чи десять. Знову ж, це елементарно гуглиться, але ChatGPT видає точно те що треба, економить час та когнітивні ресурси. ### Підсумки Як бачите, задачі в мене прості, але я точно бачу що на них інструмент мені економить час. Декілька зауважень: - Потрібно привчити себе не йти в kagi/ddg/google, а спершу звертатися до ChatGPT. Я часто про це забуваю. - UI після декількох хвилин неактивності зависає і треба перезавантажити сторінку або розв'язати капчу. Дратує. - Даю ChatGPT прості задачі, бо складніші, типу генерації коду/класів відчувається що швидше зробиш сам. Потрібно свідомо спробувати делегувати розв'язання задачі, щоб зрозуміти можливості інструменту та віднайти більш креативні способи. - Повільний аутпут дратує, але вже шо є. Upd: це вирішується підпискою на преміум акаунт та перемиканням моделі на «Turbo». Поки що не мав нагоди протестувати. Такі справи! В коментах пропоную поділитися вам задачами, які ви розв'язуєте за допомогою ChatGPT та подивитися що роблять інші. Для натхнення. P.S.: цей текст написаний виключно мною, без допомоги. Генерувати тексти для *особистого* каналу вважаю недоречним. Тому поки що ви від мене не побачите дженерік-матеріалів. 🧔‍♀️Тільки крафтові статті🍺 ### Вчимося керувати FPV-дронами URL: https://www.rozhkov.me/how-to-fpv-drones/ Last updated: 2023-02-15T09:55:24.000Z Цього літа мої колеги [Віктор](https://t.me/kapelan%5Fit/94) та Віталій пішли у школу керування дронами [Aero Combat](https://www.aero-combat.com/). Я тоді не розбирався в цих справах, але згодом завдяки їм зацікавився темою. Віталію ми [неодноразово](https://t.me/full%5Fof%5Fhatred/645) [допомагали](https://t.me/full%5Fof%5Fhatred/721) зібрати кошти на компоненти до ударних дронів. Зараз такі часи що кожен з нас, хто придатний до служби, може досить швидко опинитися на фронті, тому вважаю за потрібне освоїти навички, які зможуть зробити вас кориснішою бойовою одиницею, аніж простий стрілець з мінімальною підготовкою. Так, водіння авто та вантажівок, вміння керувати звичайними та FPV-дронами, стрільба та тактична медицина зайвими не будуть. Я сам потроху це опановую і рекомендую вам робити те ж. Нещодавно на каналі «Інформація» було [відео з камери дрона-камікадзе](https://t.me/libertas%5Fjustitia%5Fveritas/6154). Автор каналу відзначив майстерність пілота, а я вирішив поділитися з вами невеликою інструкцією як цьому навчитися. FPV-дронами зазвичай називають дрони без стабілізації, якими пілот керує за допомогою спеціальних окулярів. Окуляри потрібні, щоб швидко реагувати на зміну оточення. FPV-дрони можуть мати значно вищу швидкість ніж звичайні мавіки, тому це критично. Стабілізація — це автоматичне вирівнювання дрона по лінії небокраю, а також неможливість нахили дрон сильніше. З одного це боку обмежує маневровість дрона, а з іншого — сильно спрощує керування, тому «весільні» мавіки мають стабілізацію, натомість FPV дрони можуть літати на великих швидкостях і виконувати маневри які недоступні мавікам. Навчитися керувати дронами без стабілізації та вціляти в групу противника з дрона-камікадзе не так складно, як може здаватися. Для цього вам знадобляться: 1. Пульт для управління дроном. Підійде практично будь-який, але найпопулярніші на наших теренах це [RadioMaster TX-12/16](https://www.radiomasterrc.com/collections/tx16s-mkii) та [TBS Tango](https://www.team-blacksheep.com/products/prod:tbs%5Ftango2%5Fpro). Ці пульти можна підключати по USB до комп'ютера. Пульт коштує небагато, в залежності від конфігурації 100+$. Драйверів зазвичай не треба, наприклад TX-16 без проблем запрацював у мене на лінуксі. 2. Програма-симулятор польотів. В школі Aero Combat вчать на симуляторі [Drone Racing League Simulator](https://thedroneracingleague.com/), мені подобається [Liftoff](https://www.liftoff-game.com/), також популярна програма [Velocidrone](https://www.velocidrone.com/). 3. 20-40 годин часу Підключаєте та калібруєте контролер, вмикаєте в симуляторі Pro/ACRO режими (без стабілізації) і починаєте тренуватися. Кожна програма має туторіали та навчальні місії, а також гоночні треки. На відео ви можете бачити один з таких треків у програмі Liftoff та мій результат після приблизно 20 годин практики. Not great, not terrible, але з такими навичками вже можна йти в школу складати іспит на симуляторі. Для складання іспиту на реальному дроні потрібно трішки нальоту (але не 20 годин, значно менше). Звичайно, фізичний дрон відрізняється від комп'ютерної симуляції, але не настільки сильно, як, наприклад, автівка. Якщо ви опануєте симуляцію, то керувати справжнім дроном буде нескладно. Також, фізичний дрон надзвичайно легко розбити — адже швидкість польотів висока, а конструкція досить крихка. Щоб не втратити на пустому місці 500+$, краще потренуватися заздалегідь. При зануренні у світ дронів, як і в будь-якій справі, вам відкривається неймовірне розмаїття компонентів (рам, моторів, батарей, пропелерів), прошивок, пультів, окуляр, аналогових та цифрових систем, радіопередавачів і приймачів, систем скиду, камер, і так далі і так далі. Моя дружина пройшла навчання в школі, успішно склала всі іспити та отримала сертифікат пілота. Виявилося, що вона перша🥇 дівчина, що отримала такий сертифікат💅, хоча не перша, яка навчалась. Того тижня ми з підписниками [@Donate1024Bot](t.me/donate1024Bot) успішно [зібрали кошти на повний комплект для розвідувального FPV-дрону](https://www.facebook.com/permalink.php?story%5Ffbid=pfbid02FgpxefR42q3GpHzTYUXPN4AsnYdnXgyFmUNJ4QZebZcJSvyeXCp6bvUYr2R7JtbZl&id=100087910015459&%5F%5Fcft%5F%5F[0]=AZVtq8JV4ZmPMyhpC%5FfCAyeteCLBtmq-YH2DSv37%5FBs3hZnR%5F7GUyznkoW5EErL4eAu632ESZQRqrlfOrIMhPoN64UFUKCaoEOXqZZ478nFUk3zk89rTCs72zYl2t9rAUyety3UDre%5F1i40tNx2NUTIOU5bA0XrFYr9-J%5FAp5tjRo2pPyut43myaxsbJMjlDOdY&%5F%5Ftn%5F%5F=%2CO%2CP-R) для одного з бійців, з котрим вона навчалась, тому я теж трішки доторкнувся до процесу. Ударні дрони це дуже перспективний напрям, і росіяни теж активно цим займаються. Їх системи «Ланцет» завдали нам багато клопотів та шкоди. Заохочую вас навчитися літати хоча б на симуляторі, а в перспективі купити собі все необхідне обладнання та дрон, щоб бути готовим до пригод😎 ### @Donate1024Bot: Customer Support URL: https://www.rozhkov.me/donate1024-customer-support/ Last updated: 2023-02-14T07:30:00.000Z Люди роблять дивовижні знахідки та не менш дивовижні речі, коли починають користуватися якимось продуктом. За час роботи [@Donate1024Bot](https://t.me/Donate1024Bot) в мене було багато приколів: - Одна пані надсилала один й той самий збір щодня. Ну типу якщо не додали сьогодні, то може не побачили. Від неї було пару десятків однакових посилань. Написав їй що збір бачу. Потенційне рішення — обмежувати кількість зборів від однієї людини, щоб не спамили. - Один чоловік, айтівець, ніяк не міг зрозуміти де додати збір. Кнопка меню в телеграмі супер неочевидна, хоча хелп відображається якщо написати будь-яке повідомлення. Звернувся за допомогою до мене. Потенційне рішення — робити меню не через слеш команди, а через кнопки. - Багато людей просто не читають ніяких інструкцій та не підключають ботів. Їм хтось дає мій контакт, а потім вони приходять і такі «додайте збір». *Ти просиш, але просиш без поваги.* Людей розумію, збори інколи додаю, але мене то засмучує. - Одна пані надсилала текстом один й той самий збір багато разів. В боті є умова що збір має бути опублікований десь ззовні, бажано на ФБ, щоб люди могли переконатися що волонтер справжній. Я відписав їй, щоб додала пост на ФБ, вона пише «в мене немає фейсбуку» і продовжує надсилати просто текстом збір. Робила так десятки разів, потім втомилась. Потенційне рішення — регексп на фб/інста урл, щоб люди надсилали тільки посилання. - Багато людей пишуть напряму — „розмістіть, будь ласка, збір дуже треба дуже терміново, мій кум/брат/сват/син/чоловік/хлопець зараз під Бахмутом, розмістіть”. Пояснюю що зараз під Бахмутом всі, і всім треба так само. Рішення — прибрати контакти, але поки що потік таких людей не дуже великий. - Багато людей не розуміють коли буде публікація їх збору. Додав у повідомлення-підтвердження дату, щоб людина бачила це. Але буває що якийсь верифікований збір додається після того, і відповідно йде без черги, всі дати зміщують. Тому люди пишуть «сьогодні такий то день, а коли буде збір». Треба доробити, щоб їм надсилалися нотифікації про зміну дати. - Деяка кількість людей думала що верифікація донату відбувається магічним чином і питають в дірект чому донат не «зарахувався». Ніякої магії немає, і верифікації теж, все чисто на довірі, зробив донат, натиснув кнопку. Приблизно 20% людей не тиснуть кнопку що вони задонатили та не отримують ачівки. Треба про це написати юзерам, а для своїх зборів нарешті доробити вебхуки які б автоматом верифікували. - Багато людей додають збір в бота, а потім ще пишуть в дірект — „я додав збір”. Метод трьох цвяшків працює. - Найнеприємніше коли волонтер знімає бабки з банки посеред дня. Тобто він побачив що йому насипали 15k, зрадів, і в обід на радостях зняв, бо терміново треба щось оплатити. Це псує нам статистику, та виглядає підозріло. Таким я пишу, щоб більше так не робили. Потенційне рішення — перед публікацією посту автоматично писати волонтеру, щоб не чіпав банку. - Інші люди думають що збір можна публікувати багато разів та пишуть „о, а опублікуйте ще раз“. Звичайно, їм сподобалося що гроші насипали, а в правилах явно не прописано що збір можна додати тільки один раз. Потрібно це виправити. Ось такі історії. На щастя, неадекватних людей не було. ![](https://images.unsplash.com/photo-1553924143-f8c35b91b1d2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDExfHxhcmd1bWVudHxlbnwwfHx8fDE2NzYxMjE4MDM&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Siavash Ghanbari](https://unsplash.com/@siavashghanbari?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Якщо ви донатите через [@Donate1024Bot](https://t.me/Donate1024Bot) — моя вам щира подяка! Також, топ донатери, ті хто з нами вже давно, незабаром отримують подаруночки🎁😏 ### Діверсіті в кіно URL: https://www.rozhkov.me/daily/diversity-in-movies/ Last updated: 2023-02-13T14:03:30.000Z За останній місяць передивився багато сучасних кінофільмів: Енолу *Г*олмс, «Murder on the Orient Express» та продовження, «See How They Run», та інші. У цих кіно є те, чого мені здається раніше було значно менше — різноманітний расовий склад акторів, характерне підсвітлення лгбтк+ спрямованості персонажів та їх проблем. *Або я не це раніше не звертав уваги.* Не вважаю що це погано, але часто сюжети або діалоги побудовані так, ніби це вирізка зі статті «Проблеми меншин 101», банально, клішовано та карикатурно: патріархально-консервативна бабця планує вбивство ліберального внука, максимально патріархальний упоротий брат Еноли відправляє її у в'язницю для «дівчат», учасники вбивства в експресі, театрі та кораблі мають повний набір всіх рас, кольорів шкіри та орієнтацій, комісар не вірить у констебеля-жінку і так далі. ![](https://images.unsplash.com/photo-1567476783296-fff06012e17a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDF8fG1lbiUyMGtpc3Npbmd8ZW58MHx8fHwxNjc2Mjk2NzQ5&ixlib=rb-4.0.3&q=80&w=2000) Photo by [christian buehner](https://unsplash.com/@christianbuehner?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Не знаю як можна і чи взагалі потрібно робити краще. ### Ганебні зарплати українських CTO URL: https://www.rozhkov.me/miserable-salaries-of-ukrainian-ctos/ Last updated: 2024-09-02T08:26:37.000Z Кілька тижнів тому Djinni опублікував [щомісячну статистику по топ-наймах](https://t.me/djinni%5Fofficial/873). Цього разу там було багато позицій CTO/VPoE і відповідні цифри. Погляньмо: [$10k Head Of Engineering](https://djinni.co/q/576804d667/) [$10k Staff software engineer, CTO](https://djinni.co/q/4e8f95dfa7/) [$10k Architect/CTO/VP of Engineering](https://djinni.co/q/14ce43eab3/) Я залишив тільки найми в Україні. Для порівняння, декілька топ-наймів грудня: [$8,5k Golang Team Lead](https://djinni.co/q/caf21cbbca/) $8,5k Senior C# Software Developer Якщо копнути глибше, то можна легко відшукати й девопсів і просто сеньйорів на 8-9k. Мені здається ганебною така маленька різниця між топ-менеджерськими та інженерними позиціями. 10k це приблизно рейт 60$/h на апворку — абсолютно досяжна для пересічного громадянина цифра! Знаю що коли в Україні ще по повній програмі винаймала така контора як Crossover, то вони пропонували на VP позиції рейт 100$/h — вже краще! Порівняймо, а що там у фаангах. Наприклад, в гуглі [Staff SWE (L6)](https://www.levels.fyi/companies/google/salaries/software-engineer/levels/l6) орієнтовно має total comp 465 660$, а [Director (L8)](https://www.levels.fyi/companies/google/salaries/software-engineering-manager/levels/director) — 1 216 501$, різниця більше ніж удвічі! Звичайно можна опустити L менеджера вниз, найпростіший ([L5](https://www.levels.fyi/companies/google/salaries/software-engineering-manager/levels/manager)) вже матиме 380 640$, менше ніж стаф. Чому ж наші «CTO» йдуть на зп таку саму або меншу ніж в інженерів? Для мене це загадка. Маю декілька пояснень: - 💩Ці найми відбуваються в конторах де IC (individual contributor) отримують не 8k, а, скажімо 4k. Тоді різниця відчутна. - 🎩Крім зп, ці найми отримують акції/шери/опціони, тому Total Comp може бути суттєво більшим, але Djinni цього не бачить. - 🤷‍♂️Люди з якихось причин не просять більше, зупиняючись на психологічних 10k. - 🐗СТО-кабанчики що мають 50k, отримують найми не через джина, тому ми їх не бачимо і нічого про них не знаємо. ![](https://images.unsplash.com/photo-1612436395449-279ee9a6afd0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDJ8fGxvc2VyfGVufDB8fHx8MTY3NjExNzA0Mg&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Liam Nguyen](https://unsplash.com/@liamd197?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Виникає питання — навіщо йти на посаду, що передбачає набагато більший рівень відповідальності аніж посада IC, не отримуючи адекватну компенсацію за цю відповідальність? Я ставлю собі це питання вже не вперше і не знаходжу відповідей. Раціоналізувати такий вибір можна — наприклад отримати досвід, отримати запис в резюме, набрати нетворк, а потім якимось чином капіталізувати ці досягнення та отримати якісний стрибок у зарплаті. Але поки що все виглядає так, що ніякого якісного стрибка не існує, і прокачаний СТО буде мати ну ок, 20k, а не 10k, які майстер кубернетесів має без жодного напрягу. Також дехто пише про те що йому подобається робити круті речі, але коли ти робиш круті речі за зп свого сеньйора, то воно мені здається якимось не дуже крутим. От якщо є відсоток від прибутків або інша схема мотивації, яка якісно підвищує доходи працівника, тоді так, тоді можна і навіть треба. Я вважаю що воно того не варте, тому свідомо зупинив просування по менеджерській гілці, та перестав брати участь у щурячих перегонах, задовільнившись солідною компенсацією IC яка дає можливість думати про власні справи, а не панські. *Втім, прискіплива читачка може назвати мене ледащом, а мій вибір —* [*кислим виноградом*](https://www.rozhkov.me/fox-and-grape/) *і можливо навіть матиме рацію.* А що ви скажете, шановні? Готові грести директором контори за сеньйорську зп? А якщо ви раптом СТО за 8k — напишіть свою мотивацію працювати білочкою за горішки у коменти👇 P.S.: я не пов'язую це зі звільненнями. Так, людей звільнили, але зп сильно не просіли. Можна подивитися це по історії наймів джині, але я не готовий робити таку аналітику. P.P.S.: вважаю що мінімальна планка по зп для такого рівня посад має бути мінімум удвічі більшою ніж найдорожчий IC в конторі, тобто якщо ІС має 10k, то CTO має мати хоча б 20k. *Чому вдвічі? Просто ))))* ### «Типовий програміст» URL: https://www.rozhkov.me/daily/typical-programmer/ Last updated: 2023-02-11T13:00:00.000Z Буває, бачиш людину вперше, або ненароком підслуховуєш чиюсь розмову і миттєво розумієш що це програміст. Одяг, зачіска, окуляри, речі, постать, конституція, вираз обличчя, інтонація — все це якимось чином безпомилково видає айтівця. Гадаю що ви розумієте мене та вже уявили собі цей характерний фенотип. ![](https://www.rozhkov.me/content/images/2023/02/image-2.png) Торік якраз в лютому я був в Подобовці на лижах, і в ресторанчику підслухав як двоє парубків розважали дівчину недолугими жартами з серіалу Silicon Valley. Ну тут ясно що вони виявилися програмістами, але дуже часто я зустрічаю людей, які ніяк не озвучують що вони близькі до ІТ, але потім виявляється що такі да. Цікаво, чому так? Чи я теж маю такий самий фенотип, а інші айтівці, коли бачать та чують мене, теж крінжують? Я намагаюсь зайвий раз не палитися, ніяк не реагувати на навколоайтішні розмови, та не афішувати чим заробляю на життя, *можливо, тому що вважаю це ганебним*, ніколи не говорю про роботу і взагалі поводжу себе максимально казуально. ### Інструкція: як зареєструватися в ChatGPT URL: https://www.rozhkov.me/how-to-sign-up-in-chat-gpt/ Last updated: 2023-02-18T09:21:46.000Z update: OpenAI [розблокував](https://t.me/zedigital/2893) ChatGPT для України. ChatGPT абсолютно точно змінить нашу роботу, тому вважаю що недоречно [залишатися консерватором-лудитом](https://www.rozhkov.me/boar-mindset-trendhopping/), натомість потрібно негайно стрибати до хайп-поїзду та тестувати нову технологію. Маю зізнатися що нюанси з реєстрацією створювали тертя та відштовхували мене, але врешті цікавість переважила, тому ось вам інструкція: 1. Підключаємо VPN, наприклад безплатний тариф [ProtonVPN](https://protonvpn.com/). Спершу я розгорнув [Outline](https://getoutline.org/) на DigitalOcean, але він не спрацював — Clouflare блокував всі запити. ⚠️Деякі VPN сервіси можуть не працювати. Якщо вас не пускає або показує «at capacity», спробуйте інший VPN а також почистіть сесію браузера⚠️ 2. Переходимо на , тиснемо Sign Up, вказуємо e-mail ⚠️Деколи на реєстрацію не пускає пошту. Реєстрація нового гмейл акаунта зазвичай допомагає⚠️ 3. Далі система питає телефон. Знаходимо друга-подругу з американським або європейським номером. В мене завалялась польська сімка, тому я просто вставив її у телефон. Я переконаний що зараз у кожного є знайомі закордоном, тому прийняти одну СМС не має бути проблемою. На один номер можна регати два акаунти, тому якщо ваша подруга вже зарегалась, то це не повинно стати перепоною. ⚠️✅Повідомляють що для отримання СМС також працює сервіс [juicysms.com](https://juicysms.com/) 4. Підтверджуємо e-mail та телефон 5. Переходимо на 6. ... 7. PROFIT! ![](https://www.rozhkov.me/content/images/2023/02/image-1.png) Найприємніше що VPN потрібен тільки для реєстрації, далі його можна вимикати. Я цього не знав, дякую Олексію, автору БандераБота за підказку. Також вам стануть доступні API для створення власних продуктів. ⚠️😕Якщо вам не допомогла ця інструкція (не всі можуть мати знайомих з сімками), то прошу до уваги детальну ✅[інструкцію від пані Валерії](https://valeriia-moskovets.notion.site/OpenAI-ChatGPT-a1c4c52d610d4b4cb86cc297dff1cdbd). *Сьогодні ChatGPT за три присідання вже допоміг мені відповісти на робоче питання, яке я не міг нормально загуглити🤯* ### Прочитав «Секс у людському коханні»/«Sex in Human Loving» URL: https://www.rozhkov.me/sex-in-human-loving-book-review/ Last updated: 2025-01-30T13:56:27.000Z Ще одна книга вже відомого нам за працею [«Ігри, у які грають люди»](https://www.rozhkov.me/games-people-play-book-review/) Еріка Берна. В книзі автор розглядає секс з точки зору транзакційного аналізу. Нагадаю, що Берн має концепцію его-Станів: Дитина, Дорослий, Батько. Людина щомиті знаходиться в якомусь з цих станів та взаємодіє з его-Станом іншої людини. Значна частина книги більше схожа на художньо-поетичне оповідання, аніж на посібник для психіатрів, чи селф-хелп. Автор розглядає еволюційні задачі сексу, стосунки з наукою, суспільством та релігією, питання секспросвіту і ще багато чого. Читається цікаво. ![](https://www.rozhkov.me/content/images/2023/02/IMG_20230206_115734.jpg) Власне сам секс, на думку автора, є взаємодією двох людей, що знаходяться в его-Станах Дитини. Якщо ж туди втручаються Батько або Дорослий, то починається халепа. Через всю книгу проходять твердження що значна, якщо не вся частина людської поведінки програмується батьками, та підсвідомо тягнеться через все життя людини (й, відповідно, передається нащадкам). Свою задачу він бачить в тому щоб допомогти людям позбавитися цього батьківського «програмування» і дивитися на світ очима дитини, яку ще не навчили називати речі, і яка, коли чує спів пташки, то чує саме спів пташки, а не дає йому характеристику («це весільні пісні солов'я»). Якщо докладати певних зусиль, то можна розпізнавати у собі такі патерни поведінки, і намагатися їх позбавитися. Один з розділів присвячений необхідності у «погладжуваннях». Якщо немовля не пригортати, не гладити й не торкатися, то дитина виростає з вадами (т.з. «маразм немовлят»). Ці «погладжування» потрібні всім живим істотам, а дорослій людині в тому числі й у психічному вигляді, через похвалу, вдячність, та іншу соціальну взаємодію. З цієї точки зору секс є ідеальною активністю що стимулює — через дотик, тепло людського тіла та контакт з іншою людиною. Тому, якщо душити пітона самотужки, то неможливо досягти такого ж ефекту. В мене дещо бентежні враження від книги, з корисного для себе я беру ту ж саму ідею відстежування небажаних патернів поведінки. В книзі немає жодних рецептів щодо процесу, типу поз, чи створення романтичного настрою. Там взагалі порад небагато, крім вже озвученої — намагатися позбутися батьківських програм. Книга коротка, читається швидко. Загалом, рекомендую. P.S.: надмозоки додали до назви «ігри в які грають люди у ліжку», але цьому присвячено хіба кілька сторінок. P.P.S.: всі питання щодо «науковості» пропоную читачу пропрацювати самостійно. ### Managed services URL: https://www.rozhkov.me/managed-services/ Last updated: 2023-02-03T08:26:21.000Z Твердо переконаний, що все, що не стосується безпосередньо виконання бізнес задачі, повинно бути автоматизовано чи віддано на аутсорс. Маю на увазі інфраструктуру: обчислювальні потужності, мережі, бази даних, і таке інше. Як колись складність низькорівневих мов програмування призвела до появи високорівневих, а потім і рантаймів з автоматичним управлінням пам'яттю, так і зараз висока складність інфраструктури породжує цілий спектр менеджед сервісів. Наприклад, ви робите якийсь продукт. Чи дійсно вам цікаво розбиратися з встановленням та тюнингом бази даних? Ну, тобто воно може бути цікавим, так, але чи відноситься це до безпосередньо бізнес задачі? Навряд чи, якщо ви не працюєте в команді [RDS](https://aws.amazon.com/rds/). Чи цікаво вам розбиратися з паб-сабами, зі стореджем, з комп'ютом врешті-решт? Чи цікаво крутити лінукс та розбиратися в деталях реалізації низькорівневих речей? Особисто мені нецікаво. Скептик відзначить, що нехтуючи низькорівневими подробицями роботи наших програм, ми приречені випускати дедалі гірші продукти — бо абстракції мають ціну. Програми працюють повільніше, мають більше помилок, а згодом клас системних програмістів вироджується і вже ніхто не знає, як, наприклад, написати власну базу даних. Це ціна, яку ми платимо за прогрес. Цікаво буде прожити достатньо часу, щоб побачити як світ розробки перетворюється на дистопію, як в кіно [«Idiocracy»](https://www.imdb.com/title/tt0387808/), а згодом, після повного розвалу, взагалі стане чимось типу wh40k, де [техножреці](https://wh40k.lexicanum.com/wiki/Tech-priest) втратили всі знання, нове зробити толком не можуть, та змушені покладатися на древні [«стандартні шаблони»](https://wh40k.lexicanum.com/wiki/Standard%5FTemplate%5FConstruct). Я, на жаль, не належу до касти хардкорних системних програмістів, тому залюбки та охоче переношу все що можна перенести у хмару. Будь ласка, розгорніть мені [базу](https://www.elephantsql.com/), [редіс](https://upstash.com/), та дайте ключики від [S3](https://aws.amazon.com/s3/), а як воно всередині працює, то мене не обходить. Принаймні, поки нічого не падає. ![Just pure luck](https://images.unsplash.com/photo-1514773897744-c63156ebcd94?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE0fHx3YWl0ZXJ8ZW58MHx8fHwxNjc1MzY1NjQw&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Fraser Cottrell](https://unsplash.com/@sourfraser?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Кожен сервіс, який треба десь підіймати самому, моніторити, пильнувати, щоб не впав, оновлювати, бекапити, оптимізувати, викликає у мене занепокоєння. Я хочу турбуватися тільки про свій шматочок бізнес-логіки! Одна надія — що у світі буде достатньо людей, яким буде цікаво робити ці менеджед сервіси, і дистопію ми ще побачимо не скоро. *На фото пані обирає конфігурацію кубер кластера, а ChatGPT уважно записує.* ### Senior No-Code Developer URL: https://www.rozhkov.me/senior-no-code-developer/ Last updated: 2023-02-02T08:49:51.000Z *Поки весь світ захоплено пише промпти до ChatGPT,* 🍦 *опановує інструменти що були в тренді 5 років тому.* Знадобилося по роботі зробити нагадування про апгрейд продакшену. Апрув на це в нас робиться вручну, видається реліз, розкатується на стейджинг, якщо все ок, то потім розкатують на продакшн. «Розкатати» значить замерджити автоматично створений під час релізу мердж реквест де апгрейдяться куберівські дефінішени, які далі зааплаїть ArgoCD. Мене попросили зробити нотифікашку в слак, яка б перевіряла скільки часу минуло з останнього релізу на стейджинг та пропонувала робити апгрейд проду. До нотифікашки мала б додаватися кнопка «Approve» щоб запустити процес негайно, та «Cancel», щоб скасувати автоматичний апгрейд. Задача у своїй суті дуже проста — витягнути потрібні мердж реквести, подивитися скільки часу минуло, написати в слак, почекати деякий час, замерджити. Буквально чотири API виклики, які треба зв'язати до купки. Але далі починаються складності. Хто буде запускати крон? Де буде знаходитися код який лапатиме вебхуки від кнопок? Де буде зберігатися стейт? Потрібно робити інфраструктуру для інфраструктури, окремий сервіс з маленькою базою, інгрес, хелм чарт і тд і тд. Або якась лямбда яка запускається за розкладом, а до лямбди тераформ, а в тераформі апі гейтвей, окремий репозиторій, тести, деплой🫣 Всюди прокинути потрібні ключі, видати права. Просто жах. Добре, що один з інженерів вже робив схожі інтеграції на інтегроматі (зараз це [Make.com](https://www.make.com/)). Я пішов туди, почитав доку, з'ясував що є все що потрібно, та сів до реалізації. Виявилося, що це супер зручно, поки все просто. Додаєш дію «Знайти мердж реквести в гітлабі», наклікуєш там критерії, далі фільтруєш, далі регекспом парсиш текст, далі постиш повідомлення у слак. Значно швидше та зручніше, ніж вручну душити пітона. Можна відразу ж це все запустити, побачити які дані інтегромат витягнув з датасорсів, що він далі з ними зробив. Також сценарій легко ставиться на крон. ![](https://www.rozhkov.me/content/images/2023/02/image.png) Отак я за пів години наклікав і все завелось. Ну як, все. Виявилося, що динамічні кнопки не зробиш, через те що інтегромат не має такої функції. Я перерив всю документацію і форум, знайшов два пости з такими ж запитами, але без відповідей. Тому повноцінного [ChatOps](https://github.com/exAspArk/awesome-chatops), щоб можна було керувати справами, не виходячи зі слаку, в мене не вийшло. Проблеми у таких рішень звісно вже давно відомі: дебаг, моніторинг, версіонування, тестування і так далі. Для простих випадків мені здається штука дуже зручна. Але це вже все неактуально, тому що ChatGPT незабаром з'їсть світ, і буде сам писати лямбди та тераформи й деплоїти це в клауд по одному нашому промпту. *P.S.: в коментах можете постити жарти про «no-money customer»* ### „Подивись плз мердж реквест“ URL: https://www.rozhkov.me/please-review-my-merge-request/ Last updated: 2023-02-01T08:14:17.000Z — пишу я колезі у слак. — „Можеш дати контекст?“, — відповідає той. Я зазвичай прискіпливо ставлюся до [коміт меседжів](https://www.rozhkov.me/why-comment-commits/) та всього де є букви й намагаюсь спростити рев'юеру роботу, тому мій MR вже містить всі необхідні пояснення. Подумки зітхаю, копіюю текст звідти у слак. Через годинку приходить на пошту нотифікація — рев'юер написав що можна додати перевірку на `null`. Перевірки там не треба, бо метод приватний та викликається лише з місця де йому передаються ключі хешмапи, які не можуть бути `null`. Пишу це у коменті до коменту. Проходить кілька днів, MR стоїть, відповіді немає. Треба знову пінгувати людину в слак. Задумався про це. Як могло б бути краще? Я вже давно не рев'юив ніяких мердж реквестів, тому не пам'ятаю чи поводив би я себе так само. Але зазвичай раз на годину я дивлюся в пошту та опрацьовую вхідні, тому задача типу такої в мене б довго не протрималась. Проте це я, і вимагати від інших такої ж відповідальності, якщо це не зафіксовано у корпоративних політиках («SLA на рев'ю мердж реквеста має складати 1 день»), нерозумно. ![](https://images.unsplash.com/photo-1523240795612-9a054b0db644?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDQxfHxjaGF0fGVufDB8fHx8MTY3NTA3MjY2Ng&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Priscilla Du Preez](https://unsplash.com/@priscilladupreez?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Можна подумати, що слак все псує. Бо частина комунікації йде туди, частина в пошту, частина в гітлаб. Давайте [заберемо слак](https://www.rozhkov.me/why-async-remote-not-working/) і все буде добре! Можливо стало б краще, але гадаю що люди б просто знайшли інші канали комунікації. На моїй першій роботі з керівництво не запровадило корпоративний месенджер. Тоді ще не було слаків та діскордів, у світі панував IRC, але в нас не було нічого, тому працівники просто спілкувалися спочатку в ICQ, а потім в Skype. СекОпси прийшли б в жах! Якщо ж встановити SLA, зобов'язати людей перевіряти MR швидше, то вони швидко почнуть LGTMити на все підряд. Не знаю як правильно. Якби я був головним, то я б не брав людей, котрі не підходять мені культурно, намагався б якось визначити на співбесіді, кандидат надає перевагу синхронній комунікації чи асинхронній. А тих, хто два дні поспіль не відповідає на комент, просто звільняв. Does not meet expectations. ### Ігнор дитини URL: https://www.rozhkov.me/daily/kid-ignore/ Last updated: 2023-01-29T09:30:38.000Z Гуляв вчора вдень з собакою і проходив повз дитячий майданчик. На ньому знаходився чоловік з двома дітьми — дочкою років 4-5 та малюком 2-3 років. Батько палив цигарку та дивився у телефон. Діти бавилися коло маленької гойдалки яку місцеві жителі наколхозили з люльки чи дисфункціонального автокрісла та прикріпили мотузками до металевої конструкції совєцьких часів. Дочка почала репетувати — „папа, папа, папа, папа”, вимагаючи батьківської уваги. Батько на те не зважав, нуль реакції. Дочка продовжувала та просила його посадити малечу на ту гойдалку. Так тривало кілька хвилин — постійні прохання з одного боку і повний ігнор з іншого. Врешті батько відірвався від смартфона — „чого тобі?“, — „посади <...> на гойдалку, вона хоче на гойдалку!”. Батько подивився на те кілька секунд, а потім знову залип у смартфон. Дочка продовжила свої прохання. Сечі терпіти ці борошна у мене не було, завершення історії я не дочекався та й пішов собі додому. Мені стало надзвичайно шкода ту дитину. Я дітей не маю, тому не знаю як би я реагував і не знаю яка реакція правильна, але підозрюю що точно не ігнорування. Можливо батько — полисілий пузанчик у шкіряній куртці — кабанчик який вирішував важливі бізнесові справи в обід суботи. Можливо, він торгував криптою, або якраз заливав ставочку на спорт. Швидше за все, просто дивився якийсь з нескінченних телеграм-каналів з новинами про війну. ![](https://images.unsplash.com/photo-1522777642-5cd2999bca62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDc3fHxmYXRoZXJ8ZW58MHx8fHwxNjc0OTg0NDU5&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Morgan David de Lossy](https://unsplash.com/@morganddl?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Не можу лізти йому в голову та шукати причини, чому він так себе поводив. Може це був особливий випадок, може в нього настрій поганий і він хотів через смартфон хоч якось відвернутися від своїх клопотів. Експерти по дитячій психології та чинні батьки запрошуються у коментарі, але мені здається що якщо таким чином ігнорувати дитину, то нічого путнього з цього не буде. Я не пам'ятаю, чи ігнорували мене батьки, але пам'ятаю, що я боявся просити в них чогось (наприклад, купити іграшку) і потім це суттєво повпливало на моє доросле життя та проявлялось в уникненні ситуацій коли треба щось від когось просити або вимагати. Що для одного було простою буденністю, для мене стало непереборною перепоною і довелося проводити над собою роботу, щоб позбутися цієї якості. ### Знижки URL: https://www.rozhkov.me/daily/discounts/ Last updated: 2023-01-27T18:08:51.000Z Зізнаюсь, що маю слабкість до знижок у продуктових магазинах. Заходжу до Новусу, і ноги самі несуть до маленького відділу де складають продукти у яких скоро закінчиться термін придатності. В АТБ звертаю увагу на «червонні цінники», в Сільпо йду до стендів зі знижками та й в інших супермаркетах теж не можу втриматися від того, щоб не шукати візуально товари зі знижкою. Найчастіше це закінчується нічим, бо товарів що мене цікавлять, часто немає. Зазвичай я беру щось солодке, сири ~~по 500~~, або Арсеніївський квас, який до кінця терміну стає тільки кращим. І ніби вже давно не студент з лімітованими можливостями та маю кошти, щоб купувати що завгодно і не дивитися на цінник, але з невідомих причин досі полюю за знижками. Схоже, що маркетологи ритейлерів не даремно отримують свої гроші. Втім, до спонтанних покупок, «беру, бо зі знижкою» таке не приводить — я розважливо ставлюся до споживання і якщо не буду їсти щось негайно, то не купую це. ![](https://www.rozhkov.me/content/images/2023/01/IMG_20230127_193041.jpg) Зайшов нещодавно до новуса. Відразу побіг до стенда з просрочкою. Вибрав собі дві пачки брі зі скидосом 40%. У рибному взяв дві пачки форелі, теж зі знижкою. Ну і Табаско взяв, але то вже за фул прайс. Йду на касу, мені касирка пробиває всі товари, а скидоси на сирах не пробиває. Я це відразу помітив, думаю що таке, може там якось інше тепер знижка працює. Вибиває суму, 700 грн. Бачу на екрані шо знижки немає. Кажу — „а ви знижку пробили”? Не пробила. Охорона отмєна, пробила, сума стала 600 грн. Надурити мене хотіла, падлюка. Але з нами, мисливцями за знижками, такі фокуси не канають. Потрібно проводити над собою роботу, щоб позбутися цієї звички та купувати те що хочеться, а не те що дешево, та не відмовляти собі у насолоді смачно поїсти. ### Growth hacking URL: https://www.rozhkov.me/growth-hacking/ Last updated: 2023-01-25T09:46:32.000Z Прочитав нещодавно пост одного відомого у вузьких колах підприємця з України, який ділився секретами маркетування свого продукту на реддіті. Він попросив когось створити на тематичному сабредіті пост з питанням дотичним до його продукту пост, а потім сам зробив комент з промоутом свого продукту. Модератори це побачили й виписали бан на тиждень, за порушення правил спільноти. В мене змішані почуття від цієї «стратегії». З одного боку підприємець молодець що здогадався до такого «креативного» способу отримати лідів, а з іншого — це спам. Якщо кожен буде просувати свої продукти таким чином, то ми отримаємо класичну «трагедію спільнот», коли простір стає непридатним для подальшого використання. Саме таким свого часу став прости Г-ди, хабр — якщо на початку там паслися дійсно ентузіасти, то зараз все заполонив пустий маркетинг. ![Garden fresh picked lemons in glowing light. Still life.](https://images.unsplash.com/photo-1609639643505-3c158a56de42?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDM3fHxsZW1vbnxlbnwwfHx8fDE2NzQ1ODc4NzQ&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Cristina Anne Costello](https://unsplash.com/@lightupphotos?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Мені більше до вподоби інша концепція, наприклад Digital Ocean має мільйон туторіалів по налаштуванню всіляких сервісів — докерів, постгресів, редісів, нгінксів і так далі. Вони дійсно якісні, а якийсь відсоток користувачів натисне кнопку «створити акаунт», щоб підняти собі базу даних. Win-win. Щоб просувати свій канал, я писав статті та вказував посилання з приміткою — «якщо вам цікавий цей матеріал, то приходьте до мене ось сюди». Зараз це вже не працює, але мені в голову не прийде писати комент з лінкою на канал від імені іншого користувача, щось типу «ось крутий блогер, всім читати». Або заносьте гроші за рекламу та отримуйте відповідні позначки. А коли маркетинг маскують під реальних людей, а потім ще й хизуються результатами, то воно викликає огиду. Бо надурили мене. Туди ж йдуть ганебні сайти-клони StackOverflow та ютуб-відео з картинками-скріншотами того ж StackOverflow. Туди ж йде весь SEO-спам. Всі ці речі роблять загальний простір гіршим. Так, кмітливий підприємець здобуде тактичну перемогу, але ціною погіршення якості життя для всіх. ### Поїздка до Бахмуту: Бахмут 2/2 URL: https://www.rozhkov.me/trip-to-bakhmut-2/ Last updated: 2023-01-25T15:32:22.000Z Початок зверху👆 Отож, вибігаю з під'їзду, дивлюся в той бік де мала бути машина, а там її вже нема😱! Не розумію що відбулося, бо пройшла буквально хвилина. Повертаю до дороги, бачу там хлопців. Мене вже шукають і почали непокоїтися! ![](https://www.rozhkov.me/content/images/2023/01/Screenshot-from-2023-01-19-22-54-14.png) Трапилось ось що: коли я вирішив що занесу ще консерв в перший під'їзд, то краєм вуха почув як Віктор сказав мешканцям під'їзду „зайду до вас пофоткаю”. Я подумав що в мене є час, поки він буде фоткати, але в цей момент на дорогу де стояла наша машина виїхала військова автівка, і потрібно було її пропустити. Я побачив це вже дома, на відеозаписі з камери Віктора. Відповідно моє зникнення ніхто не помітив, а я не зрозумів куди ділась машина, коли вийшов з під'їзду. Я взяв з собою рацію, але ще при виїзді з Краматорську мене попросили передати її Антону, коли ми ще думали що вони поїдуть на L200, таким чином я залишився без рації. Вже в Бахмуті ми цей момент не проконтролювали, тому зі мною не було ніякого зв'язку і хлопці занервували. Я й сам забув про рацію і мав краще подумати про те. Знаходитися в такому місці без зв'язку небезпечно. Також я не попередив нікого куди йду, бо поспішав і думав що впораюсь, поки Віктор зазирне до підвалу, але вийшло що він туди не пішов, бо треба було відганяти машину... Збіг багатьох обставин: хаотично закидані в машину мішки, відсутність рації, раптова машина військових, метушня, кіпіш, і ось на рівному місці загубилась людина. Наступного разу я буду розважливішим і переконаюся що маю зв'язок та попереджаю супутників про свої наміри. Добре що ми швидко знайшлися, і поїхали далі, в центр, на пункт Незламності. Там було небагато людей, я гукнув „в кого є тварини? коти собаки?“, і миттєво утворилась черга з охочих. Корм я роздав за 10 хв. Одна з жіночок живе за річкою, фактично в сірій зоні. В неї багато котів, Міша Сторожук писав про неї в одному з постів, але в них не було можливості туди поїхати через обстріли. Я дав їй понад 20 кг корму та сумку, і вона потягла то додому. Не знаю що з нею буде😢. Також біля пункту були іноземні репортери, я швидко дав їм інтерв'ю. Я роздав корм, хлопці роздали якусь гуманітарку, ми запакувалися в машини, та рушили назад. Загалом в Бахмуті ми пробули десь пів години. Ще пів години ми фоткалися біля літака по дорозі туди, та чекали зв'язку з військовими біля того ж літака на зворотному шляху. Коли ми були в місті, то поряд нічого не прилітало та не вибухало. Загалом там було ок. Коли їхали назад то зупинилися на заправці. Я з Сергієм чекав в бусі та балакав, а інша частина команди поїхала на зустріч з ротним Азову. Ми сиділи собі, аж раптом десь в кілометрі конкретно щось вибухнуло. Піднявся стовп чорного диму, очевидно, прилетів снаряд. В цей момент мій рептилоїдний мозок почав репетувати та вимагати щось зробити, питаю в Сергія, — „може поїдемо звідси?“, той посміхається та відповідає, — „який сенс їхати? Як прилетить то прилетить“. Я швидко заспокоююсь, а він додає, „то нормальна реакція, щось робити, кудись бігти. Я вже до такого звик”. Це був найстрашніший епізод із всієї поїздки. Хоча дзижчання мопедів які летіли в нашу ТЕЦ поряд з якою я проживаю, мене свого часу налякали значно більше. Звичайно якби поряд з нами рвалися б міни, то я думаю що наклав би цеглин. Але на щастя, цього не було. Ми повернулися в Краматорськ до нашого L200\. Невдовзі приїхали військові з 91-ої бригади, які мали забрати цей пікап. Вони буквально повернулися з Соледару. Ми трохи з ними побалакали, Антон відзняв контент і подяки, потім ми перепакувалися до них в бус, та поїхали на вокзал. Там сіли на експрес, та поїхали до Києва. ### Поїздка до Бахмуту: Бахмут 1/2 URL: https://www.rozhkov.me/bakhmut-1/ Last updated: 2023-01-20T08:00:00.000Z Так, нарешті Бахмут🙈 Ми підвелися о шостій, швиденько поснідали Їдлом та зібралися вирушати. Підходимо до наших автівок та помічаємо, що в L200 спустило одне колесо. Уважно придивилися і побачили що в ньому стирчить цвях. Обговорили що робити, чи шукати шиномонтаж, чи залишати, але вирішили що ризик опинитися в Бахмуті зі спущеним колесом не вартує того, тому перевантажили спальники в інше авто. Сергій також домовився що з Парасковіївки людей забере інша команда, тому він погодився завантажити частину стафу собі в бус і провести нас. Хлопці, Март та Антон, дуже хотіли передати цю машину саме в Бахмуті, щоб зняти контенту для людей які ці машини купують, і я бачив що вони надзвичайно засмучені та розчаровані цією прикрою ситуацією. Ми виїхали. З Краматорська до Бахмута їхати десь годинку. На трасі постійно відбувається двіж. Туди й назад їздять пікапи, бандеромобілі, медеваки, важка техніка. Бачили і нашу та іноземну бронетехніку, це дуже тішить. Простір надзвичайно насичений військовими, дуже відчувається близькість до фронту. Ближче до Бахмуту стало чути нашу арту та кулемети. Арта працює нон-стоп, гуп, гуп, гуп, щокілька секунд чути виходи. Час від часу щось прилітає назад, але мені здалося що виходів було значно більше. Кулемети теж постійно працюють. На відео, що я публікував, то все чути. Ми під'їхали до літака, це крайня західна точка Бахмуту, біля якої всі фоткаються. Пофоткалися там, і рушили далі. ![](https://www.rozhkov.me/content/images/2023/01/ba.jpg) Будинки на вулицях, по яких ми їхали, не здалися мені надто зруйнованими. В основному постраждали вікна, а так то все було ±ціле. Загалом, я вже надивився на руйнування, ще коли [їздив на початку квітня в Бородянку](https://t.me/full%5Fof%5Fhatred/544), тому ставлюсь до того спокійно. [Михайло Сторожук](https://www.facebook.com/profile.php?id=100002121134537) з «Київської команди порятунку тварин» дав декілька адрес, по яких жили люди з тваринами. Їх команда два тижні вивозила тварин, дуже раджу почитати його [фб](https://www.facebook.com/profile.php?id=100002121134537). Ми поїхали по першій адресі, там було дві триповерхові хрущовки. Зупинилися, я вийшов з автівки та побіг у двори. Зайшов в перший під'їзд, почав гукати людей. Досить швидко підвал відчинився, звідти вийшов дядько. Кажу „тварини є?“, — „ми не віддаємо вже”, він подумав що ми евакуатори. „я вам корму привіз“, — „а, корм давайте, давайте, в нас 4 коти“. Біжу назад до машини, дядько за мною. Видаю йому мішки, питаю, „де ще є?“. Дядько каже що через один будинок в підвалі живуть двоє чоловіків з котами. Йду туди, по дорозі знімаю відос. Спускаюсь до підвалу, гукаю людей знову. Виходять двоє чоловіків, вітаюсь, кажу що привіз корм. Вони радо погоджуються взяти, та йдуть за мною до машини. Видаю ще, питають, „а мокрий у вас є?“, — „є!“, розумію що зовсім забув про те що в мене ще й консерви. Мішки в машину покидали так-сяк, а вони були внизу. Видаю дядькам консерв. Також розумію що попереднім дав тільки сушку і вирішую донести консерви їм також. Беру консерви та біжу до першого під'їзду. Відстань там невелика, дві хрущовки всього, 150 метрів. Отож, я біжу по товченому склу до того під'їзду, навколо немає нікого, будинки побиті, чую як зверху дзижчить дрон, чую виходи арти, десь працює кулемет. На мені плитоноска, каска, аптечка, все як має бути, в руках пів палети консерв (15 штук). [«Порятунок рядового Барсика»](https://t.me/daily%5Frozhok/225)! В цей момент я трохи відчув себе героєм який біжить під обстрілами на допомогу до друзів. 10/10 експірієнс, повторив би ще😅 Якщо спілкування з військовими було найкращою «позитивною» подією, то ці 150 метрів пробіжки найкращою «пригодницькою». Забігаю у під'їзд, гукаю людей, але цього разу мене не чують. Вирішую що залишу консерви просто там, вони як вийдуть то побачать. Залишаю та повертаюсь назад до автівки. Продовження далі👇 ### Поїздка до Бахмуту: евакуатор Сергій URL: https://www.rozhkov.me/trip-to-bakhmut-sergiy-ivanov/ Last updated: 2023-01-19T08:00:00.000Z Після зустрічей з військовими ми поїхали на ночівлю. В нас виникла невелика халепа з розміщенням, тому ми попросилися до Сергія і він люб'язно погодився прийняти всю команду. Цей пост присвячую йому. Сергій Іванов — зараз один з найвідоміших евакуаторів людей з прифронтових зон. Перед тим як розповісти про нього, прошу поставити вподобайку та підписатися на його телеграм канал [@](https://t.me/donbassevacuationfrontline)[donbassevacuationfrontline](https://t.me/donbassevacuationfrontline). Евакуювати людей він почав ще в перші тижні війни. Спочатку відправив родину до кордону, потім вивозив людей з Київської області, потім перемістився на Донбас. З Бахмутського району він вивозить людей вже пів року. Щодня він їздить до міст та сел, та забирає звідти людей. За весь час він не попадав у серйозні халепи, хоча був близько. На інстаграмі ви можете подивитися відос де [снаряд прилітає в 100 метрах](https://www.instagram.com/p/ChQPq9DtqWl/) від під'їзду біля кого він чекав людей, є відос де [міна падає у 20 метрах](https://www.instagram.com/p/ClwYDgCtRL0/) перед машиною, всяке бувало, але він завжди виходить неушкодженим з цих ситуацій. Допоки це було ще можливим, він вивозив людей з Соледару, але на момент нашої зустрічі там вже тиждень як просунулися кацапи, і їхати туди було вже смертельно небезпечно. Відомо що там пропало двоє його друзів, британців, теж евакуаторів. Я запитав, як так трапилось, і Сергій пояснив, що з часом, коли ти щодня їздиш по небезпечним місцям, то почуття небезпеки притуплюється. Тобі здається що якщо ти проїхав десь вчора, то так само проїдеш і сьогодні. Тому одного дня ланцюжок успіхів обривається, і поворот не туди стає фатальним. Він вірить, що британці живі й з ними все буде гаразд. Сподіваюсь на це теж. Я запитав, чому люди не виїжджають, чому залишаються жити в таких важких умовах? Поширена думка що це ватани-ждуни, які чекають окупантів, але Сергій вважає що таких дуже небагато. В основному залишаються люди, які просто не бачать себе десь в іншому місці. А як же постійні обстріли? Каже, є люди, які хизуються тим що були недалеко від обстрілів, або навмисне ходять містом і не ховаються. Я запропонував Сергію фінансову підтримку, кажу давай збір зроблю на каналі поремонтуємо тобі буса, але він скромно відмовляється. Каже що співпрацює з французьким фондом, який покриває повністю обслуговування авто та пальне, оренду помешкання і ще зверху трохи насипає. Також завдяки фонду Сергій матиме можливість з'їздити за кордон, щоб побачитися з донечкою. На евакуації буває всіляке — часто немає зв'язку і він приїжджає по адресі та гукає людей. Буває таке що люди довго збираються, буває що відмовляються їхати, тоді доводиться їх якось вмовити. Каже, дівчина в команді дуже добре допомагає в таких випадках — люди більше їм довіряють, та схильні піддатися на вмовляння. Буває таке що приїжджає, а людей немає. Поки ми сиділи й балакали, то Сергій показав проморолик який він відзняв та змонтував для одного музиканта, в цивільному житті він відеомонтажер. Кажу йому, „роби контент для телеграм каналу“, той сміється, „та вже не знаю що знімати, сюжети одні й ті самі, локації теж вже знайомі“. Зараз темпи евакуації знизились. В Соледар не поїдеш, в Бахмуті теж вже мало заявок. На ранок він мав вирушати до Прасковіївки. Сергій супер спокійний, я б навіть сказав флегматичний. До обстрілів та небезпеки звик і каже що подекуди навіть знаходить задоволення в поїздках. Такі люди викликають надзвичайну повагу. Ми поспілкувалися та й зібралися спати. На всіх місця на диванах не було, тому ми згадали що в нас повний L200 спальників, хлопці зганяли за ними, і ми вклалися спати. Щиро вдячний Сергію за теплу зустріч, хорошу бесіду та супроводження нас до Бахмуту. Про це завтра. Не забувайте підписатися на [телеграм](https://t.me/donbassevacuationfrontline) [інстаграм](https://www.instagram.com/serhiiivanov/) та [фейсбук](https://www.facebook.com/profile.php?id=100003205295351) Сергія. ### Поїздка до Бахмуту: військові URL: https://www.rozhkov.me/trip-to-bakhmut-military-people/ Last updated: 2023-01-18T08:33:52.000Z В Краматорську ми забрали з НП корм для тварин, та поїхали на зустріч з військовими. Зустрілися з азовцями з протитанкового дивізіону. Ми раніше передавали їм пікап, який досі успішно працює, термухи, екофлоу, та багато чого іншого. Цього разу відвантажили 6 здорових ящиків сухпаїв Їдло — понад 1200 порцій! Дуже радий був бачити всіх бійців, з якими ми зустрічалися ще влітку, живими й здоровими. Вже був вечір, мені здалося що хлопці були втомлені та заклопотані, тому ми швидко записали подяки, пофоткалися, та вирушили далі. Хочу зазначити, що з подяками бувають нюанси. Не всі військові вміють говорити на камеру, не всі вміють зніматися, не всі фотогенічні. Деколи мені здається що їм це не дуже комфортно, і я їх розумію. Вони воюють, і мають цілу купу турбот, а тут приїжджають волонтери й вимагають фотосесію. Я не знаю чи є якась позитивна кореляція між «медійністю» військових та їх забезпеченням, тому не можу тут нічого стверджувати, але мені все-таки здається що непогано було б мати на роту одного-двох спеціальних людей які вміють в публічні виступи. Після того ми поїхали далі, до 24-ої ОМБр, в рембат. Антон хотів познайомитися з ними та відзняти контенту для [HELP99](https://www.help99.co/). Прийняли нас дуже тепло. Нас зустрічало четверо військових — троє чоловіків та одна жінка, Анжеліна. Приготували вечерю. Мені, представнику гастро-меншини, навіть спеціально повисмикували м'ясо з плову, не очікував такого☺️. Антон пішов знімати контент, а ми з Мартом балакали з пані військовою. Виявилося що раніше вони були у складі 25-го батальйону славетної 128-ої ОГШБр, а потім їх якось відокремили та перевели у 24-у. Мене приємно вразило що військові дуже добре відгукувалися про свого командира. Вони розповіли що він перебуває постійно на лінії зіткнення, є справжнім бойовим офіцером та дбає про особовий склад. Загалом в армії є різні командири, я всякого наслухався, але тут мені було дуже приємно усвідомлювати що нас боронять достойні люди. Також Анжеліна розказала нам про ініціативу зі створення бази відпочинку для військових. Зазвичай особовий склад під час ротації між опорником та позиціями не відпочиває, а займається якоюсь діяльністю. Вони ж облаштували спеціальну базу з окремими кімнатами, банею, комфортними умовами. До військових туди можуть приїхати жінки й взагалі вони там реально можуть відпочити. Така «відпустка» дуже мотивує бійців, бо вони точно знають що їм треба відпрацювати на позиціях, наприклад, 10 днів, а потім вони матимуть змогу відпочити та перезарядитися в найкращих умовах. Коли людина знає, що страждання закінчаться, то вона переносить їх стійкіше. *Дослідження шукати не буду*. Серед головних потреб виділили зв'язок. Старлінки надзвичайно допомагають і потрібно їх більше. Рації теж. Ну і пікапи, куди без них. Ми дуже душевно посиділи, військові були супер гостинні, і це напевне найприємніший епізод із всієї поїздки. На вулиці я помітив 60 мм міну, що просто лежала собі на траві. Питаю в Анжеліни — „то нерозірвана?“, — „ага, в нас тут ще ось кацапська є“, веде до іншої ділянки. На траві лежить невеликий циліндр з дротом для встановлення розтяжки „до рук не беріть, бо може вибухнути”🤪 ![](https://www.rozhkov.me/content/images/2023/01/Screenshot-from-2023-01-18-00-32-27.png) Після того Март передав півтора десятка спальників, ми пофоткалися і поїхали ночувати до евакуатора Сергія Іванова. Про нього завтра. *На світлині бійці записують подяку для Марта та NAFO.* ### Поїздка до Бахмуту: початок URL: https://www.rozhkov.me/trip-to-bakhmut-beginning/ Last updated: 2023-01-17T13:02:53.000Z Кілька тижнів тому Віктор почав планувати чергову поїздку до Бахмуту. Задач було декілька — передати військовим Їдло, на яке [ми з вами збирали](https://t.me/donate1024/214), роздати мішок окопних свічок, привезти цивільним [бутлі з водою](https://t.me/kapelan%5Fit/259), передати військовим смаколики. Я попросив взяти також трохи корму від дружньої організації [FreeAnimals](https://t.me/FreeAnimals%5FUkraine) і скласти компанію. Зараз в нас є труднощі з кормом для тварин, гуманітарки передають небагато. В нас було в наявності приблизно 140 кг корму, який ми відправили поштою на Краматорськ, щоб не везти автівкою. Планувалося, що авто буде завантажене порожніми бутлями з водою. Моєю задачею було роздати корм та зняти контент. Разом з нами також їхав Антон — Project Manager міжнародного стартап-хабу LIFT99\. Крім безпосередніх обов'язків, Антон займається координацією [волонтерської ініціативи HELP99](https://www.help99.co/). Їх ком'юніті активно включено в допомогу, основний напрямок — пікапи для військових. Автівки купують в Європі, ремонтують, фарбують, а потім приганяють в Україну. За час роботи вже пригнали 123 пікапи, та багато іншої допомоги військовим, сумарно на кілька мільйонів доларів. Антон повідомив що в HELP99 є оплачувана вакансія асистента-координатора волонтерських проєктів. Якщо у вас є знайомі, які знають англійську, живуть в Києві, мають волонтерський досвід та хочуть брати участь у двіжухах стартап-ком'юніті — скидуйте їм вакансію: В Харкові ми мали зустрітися з Мартом — естонцем, який переганяв черговий пікап, L200\. Він призначався для 91-ої бригади, ми мали передати його у Краматорську. Март є доцентом кафедри туристичного бізнесу в Таллінні та має власну турфірму. Його хобі це подорожі у гарячі точки. Він повідомив що це вже 15-ий конфлікт куди він приїжджає, поза тим він був в Сирії, Афганістані, бразильських фавелах та багатьох інших місцях. Пікап був під зав'язку набитий спальниками та теплими речами, які Март зібрав по своїм друзям з Естонії. Задача Антона та Марта була передати пікап бійцям, зняти подяки, та відвідати 24-у бригаду, щоб зняти там контент для донатерів. Один з резидентів Lift99 на прохання Віктора погодився дати нам свій Jeep Wrangler Sahara. Отож, о 5-ій ранку ми вирушили з Києва. Дорога була хороша і вже близько обіду ми дісталися Харкова, де зустріли нашого естонського друга. Далі ми вирушили маршрутом Чугуїв — Ізюм — Краматорськ, де мали заночувати. На виїзді з Ізюма ми зупинилися біля звалища спаленої техніки, та трохи пофоткалися. Сам Ізюм не справив враження сильно побитого міста, принаймні там де при проїжджали. А от село за Ізюмом, здається Кам'янка, або Долина, було просто вщент зруйноване. На все село жодного цілого будинку. Це справляє дуже гнітюче враження. Надзвичайно шкода людей та їх домівки. Чи повернуться вони туди? Чи буде воно відбудоване? На Київщині я не відвідував такі місця. ![](https://www.rozhkov.me/content/images/2023/01/IMG_20230113_145656.jpg) Також в тій місцевості на узбіччях та в полях залишилося ще багацько знищеної техніки. Звичайна картина це підбитий спалений танк десь в полі. Там же починаються Верденівські вайби — посадки довкола вщент посічені артою, одні стовбури стирчать, поля засіяні вирвами від снарядів. Досить швидко ми дісталися Краматорська. Продовження завтра — будемо спілкуватися з військовими. ### Як «дрібні» донати допомагають бійцям URL: https://www.rozhkov.me/how-small-donate-makes-diffeerence/ Last updated: 2023-01-13T08:00:00.000Z Серед деяких людей існує думка що донати на невеликі волонтерські ініціативи не дають великого внеску в перемогу. Мовляв, нам західні партнери дають зброї на сотні мільйонів доларів, ось це має значення, а що там ваш збір корч? І взагалі, держава має платити, чого це громадяни повинні забезпечувати армію? Переконаний, що це неправильно. Дійсно, хімарси, 777, бойові машини та безпілотники які нам надають в рамках військової підтримки, значать дуже багато. Але не менше значить комфорт конкретного бійця у конкретному окопі. Кожна наша з вами витрачена гривня що йде на автівки, на амуніцію, на їжу, на спальники, на взуття, на грілки, на павербанки та екофлоу, на дрони, кожна наша гривня працює на фронті. Так, без 777 не буде точної роботи по позиціях кацапів, але коли цією 777 керують бійці що добре та смачно поїли, виспалися в теплі, вдягнені у комфортне та тепле взуття з одягом, а роботу коригують за допомогою мавіка — результат буде кращий ніж без цього всього. Кілька тижнів тому Капелан покликав нас з дружиною на тренінг по виживанню в умовах війни. Тренінг читав боєць, військовий. Він був досить довгий, але одна з речей, на яких робився наголос, це те що потрібно постійно дбати про комфорт та зручність. Навіть найменші покращення у побуті можуть радикально вплинути на боєздатність людини. Тому наші бійці мають мати найкращі сухпаї, найтепліші спальники, найзручніше взуття, тепловізори та нічники, легкі магазини, генератори, зарядні станції, та автівки, щоб це все возити на позиції. ![](https://www.rozhkov.me/content/images/2023/01/3.jpg) Тому аж поки моя робота дозволить поліпшити повсякденне життя та комфорт хоч одного бійця, я буду працювати для цього. Так, війна це чорна діра де щезають людські життя та матеріальні цінності. Так, буває таке що автівку купили, а через два тижні її вже посікло вщент, дрона збили, а в располагу бійців попали й погоріла вся амуніція. Але це війна. Якщо не ми їх, то вони нас. Тому я вибираю щоденну підтримку армії донатами та закликаю вас до того ж. *На світлині боєць отримує тактичні навушники, на які ми з вами [збирали](https://donate1024.org/posts/538) через [@Donate1024Bot](https://t.me/Donate1024Bot).* ### Стоматолог URL: https://www.rozhkov.me/help-dentist/ Last updated: 2023-01-12T08:25:33.000Z В один з перших тижнів війни, коли ми з дружиною каталися по Київу та розвозили корм для тварин усім хто цього потребував, ми підвезли з Троєщини на Лук'янівку одного чоловіка. Він коректно продовжив фразу „Мертві бджоли ...“, тому ми взяли його у машину. По дорозі з'ясувалося, що чоловік цей є стоматологом, і його клініка відкрита. Там він безплатно приймав та лікував військових. В мене тоді якраз була проблема з [діркою в зубі](https://www.rozhkov.me/daily/hole-in-a-teeth/). Моя лікарка виїхала з міста, лікарня не працювала (взагалі тоді були проблеми з лікарями), тимчасова пломба вилетіла через два тижні і я мав клопоти. Тому я запитав у нього чи може він мені допомогти, на що той з радістю погодився. Також, в нього була собака, і ми допомогли з доставкою корму. ![](https://www.rozhkov.me/content/images/2023/01/dentist.jpg) Так я і почав до нього ходити. В мене в зубі був складний процес, тому це все дуже сильно розтягнулося. Тільки того тижня він нарешті все запломбував та буде ставити коронки. В перші місяці війни він приймав по 20 військових на день. Я сам їх бачив, а на світлині ви можете спостерігати власне лікаря з нагородою від частини, та бійців, яких він вилікував. Все це він робив за свій кошт. Зараз він продовжує приймати військових, але в менших об'ємах до 5 людей на день, бо просто фізично не тягне. Гроші з військових не бере принципово. Боєць з 44-го батальйону, з яким я зараз працюю по волонтерці попросив мене чи можу я допомогти з коштами на стоматологічні матеріали цьому стоматологу, бо бачить що той не тягне. Він навіть робив [невеликий збір на фб](https://www.facebook.com/andrey.rubsov/posts/pfbid0i7aLNvS5Yc6LPbDUfGRHHEcdwWoVhdCW1AXhfH4CgsZ3sTJZBjAyCq8icfSdJTodl?%5F%5Fcft%5F%5F[0]=AZUy%5FosyhHeW%5FEQZYYOj-eoOtO0M-m9brbuOTlR1xEYk%5F5V2XrgVwlRoXGZx7wDDmxqe2i6cqfIbSQNz1%5Fmi27JDZoqzaH-VdsX2orJrUqDbEPVEDcMmD4l%5FSO1mxnB8MHNpxW4wJaXcT5Y1CBRmQGPufninBsJmlkAcu3v%5FMb1UPQ&%5F%5Ftn%5F%5F=%2CO%2CP-R), але цього було недостатньо. Я запитав, вартість матеріалів на один прийом приблизно 500₴. Я лікарю вже трохи допомагав (+ оплачував роботу зуботехніка), але бачу що мене одного тут не вистачить, тому прошу задонатити на ці цілі. Зібрати спробую ~~2¹⁴~~ 2¹⁵ ₴, думаю то вже буде хороша допомога. Я говорив з лікарем, всі чеки надамо. Банка моя. Через бот це проводити не буду, бо це не пряма допомога військовим. 🎯 Ціль: ~~16 384~~ 32 768 ₴ 🔗Посилання на банку 💳Моно `5375 4112 0252 2103` 💳Приват `4149 6293 5217 6648` Дякую всім! **🥹16к зібрали за 15 хв! Подвоїв суму, якщо будуть ще охочі.** ### Прочитав «Ігри, у які грають люди»/«Games People Play» URL: https://www.rozhkov.me/games-people-play-book-review/ Last updated: 2023-01-11T08:00:00.000Z Того тижня між візитом до психотерапевта та обідом з товаришем мав годину часу, і знову вирішив заскочити до [вже відомої читачам](https://www.rozhkov.me/daily/millenials-from-mars-zoomers-from-venus/) книгарні у Гулівері. Дівчат, що піддали б сумнівам мої вподобання, цього разу там не було. Також, ще по дорозі я вже уявляв, яку книгу хотів купити. Кілька тижнів тому ви з моїм товаришем та котичем відвідували знайому ветлікарку. В неї складні життєві обставини та важка доля. Ми трішки поговорили, а після того товариш зауважив, що ми щойно пограли у гру та послався на цю книгу. В мене те відклалося у пам'яті і я вирішив її прочитати. Тож книга у мене, український переклад, видання 2022 року. ![](https://www.rozhkov.me/content/images/2023/01/IMG_20230108_160509-1.jpg) Перше, що мене здивувало, це те що книга була написана ще у 1964\. Друге — що книга більше схожа на посібник для психологів та психіатрів, аніж для пересічних людей. Я чомусь очікував, що книга буде новішою, та якщо так можна сказати, менш науковою. Отож до книги. Автор робить твердження що людина складається з трьох так званих «Я-станів»: Дитина, Дорослий та Батько. Кожен з цих станів має свої функції, і зазвичай людина знаходиться в одному з них та змінює їх за потреби, свідомо, чи ні. Взаємодії, або «транзакції» між людьми відбуваються між цими станами, і для всілякої діяльності є найбільш «доцільні» стани. Проблеми найчастіше виникають коли людина звертається до одного з Я-станів, наприклад Дорослого, але відповідає їй інший, наприклад «Дитина». Автор дає визначення «гри» як серії «транзакцій» що містять прихований сенс, а сама гра прямує до чітко визначеного результату. Крім ігор, також є «операції», «розваги» та «процедури». Далі нам пропонуються для вивчення власне ігри. Опис кожної гри має тезу, антитезу, ролі, приклади, список переваг які отримують гравці, та ще деякі деталі. Все це дуже схоже на «Патерни проєктування», тільки про людей. Наприклад, гра, в яку ми грали з ветлікаркою називається «А чому б тобі не — так, але». «Безпорадна людина» висловлює проблему а «Радники» пропонують її вирішення. Але гравець насправді не хоче розв'язувати свою проблему, тому він намагається придумати заперечення. Далі радники проводять ще один раунд, і так до кінця. Як правило, ідеї закінчуються, і «безпорадний» виграє. Він отримав перевагу — самоствердився. Антитеза — негайно визнати правоту безпорадного таким чином розчарувавши його. Таких ігор дуже багато, наприклад чоловіки часто люблять грати у «General Motors» — обговорення автомобілів, американське суспільство має дуже важливу гру «Боржник», весь світ з азартом грає в «Алкоголіка». У стосунках люди бавляться в «Милий», «Кут» та «Якби не ти», і так далі. У нас в чаті учасники полюбляють «General Motors», також нещодавно ми гуртом пограли в «Колись давно», «Бідолашний я» та інші „цікаві“ ігри. Я бачу користь цієї книги для себе в тому, що вона допомагає розпізнавати небажані патерни, та через їх усвідомлення або застосовувати антитези, або відмовлятися від ігор. Коли людина звільняється від ігор, то вона натомість має можливість проявляти усвідомлення того що відбувається навколо, жити тут і зараз, проявляти спонтанність та близькість. Книга містить декілька недоліків: не всі ігри мають опис, очевидно, автор мислить що ми самі здогадаємося про їх зміст з назви, не всі містять повний аналіз, тобто автор може обмежитися лише тезами та антитезами, залишаючи інше читачеві. Можливо я не маю достатньо досвіду що зробити відповідні висновки, хотілося б звичайно мати повний довідник. Книга коротка, я прочитав її за день. Поки читав, то ми з дружиною зіграли в пару ігор. Досить прикольно це усвідомлювати у такому світлі. Переклад місцями кульгає. Деякі американські фразеологізми переклали як є, що трішки псує враження. P.S.: книга досить стара, перевидання з якого зроблений переклад було у 1996, тому я не знаю чи якісь новітні досягнення психіатрії спростували або доповнили викладені тези. Буду радий якщо читачі на це вкажуть. *upd: написано що книгу критикують за надто спрощену модель людських стосунків.* ### Як кабанчик таксувати став URL: https://www.rozhkov.me/high-to-low/ Last updated: 2023-01-10T17:57:34.000Z Їздив нещодавно на таксі. Треба було до ветклініки з котом, а навігатор прокладає неправильний маршрут. Я завжди про це кажу таксистам, коли на початку поїздки, коли в кінці, ну і тут теж сказав, спочатку. Таксист каже: „Та я другий день їжджу, по навігатору”. Зав'язується розмова. Я кажу що стало менше людей у місті, йому здається навпаки: „Я ось тут живу, у нас підземний паркінг весь забитий”. Ого, на Саксаганського живете? Підземний паркінг? Серйозно. Виявляється що цей таксист — підприємець, що займається металоконструкціями. Його клієнти це будівельні компанії. Він має цех зі спеціальними станками, навчений персонал, знається на будівництві та проєктній документації. Працює вже десять років. Об'єкти має як в центрі (типу елітні будинки), так і на околицях. Як почалась війна то все встало. Клієнти, які мали заплатити гроші, як справжні кабанчики, звісно нічого не заплатили. Йому вдалося якимось чином отримати частину грошей, щоб покрити оренду станків. Бізнес цей дуже низькомаржинальний, але йому подобалося займатися виробництвом. Проблемним було здати роботу, інспектори й т.д., але врешті під кінець 2021 року він винайняв спеціальну людину та налагодив всі процеси. 2022 обіцяв бути прибутковим, але трапилась війна. ![On The Way](https://images.unsplash.com/photo-1514041181368-bca62cceffcd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE0fHx0YXhpfGVufDB8fHx8MTY3MjY3NjA4MQ&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Vladimir Proskurovskiy](https://unsplash.com/@proskurovskiy?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Його дружина теж кабанчикіня — має власне швейне виробництво. Вони вирішили відкрити бутик, орендували приміщення десь в центрі, виставляють там колекції, жіночий одяг. Таксист скаржиться: колекції дорого робити. Потрібно замовити модель, фотографа, приміщення, все відзняти, прорекламувати. Поки що працюють в нуль, але впевнено дивляться у майбутнє. Машина в нього приїхала не та що була в Уклоні. Ту що була в Уклоні, забрав лізинг. Виробництво стоїть, грошей немає, таксист вирішує зайнятися торгівлею високоризиковими активами. „Вирішив зайти в крипту, все по класиці, зайшов на хаях, вийшов на низах, 3000$ витратив, 1500$ відбив, ну таке. Зараз на біржі торгую”. Питаю, „Бінарні опціони?“, „Ні, то фігня. Я на справжній біржі, форекс, валюта”. Ага, думаю, справжня біржа. Обережно зауважив що це все гемблінг, але таксист був налаштований більш оптимістично. „ІТ то не моє, я людина виробництва”. Переходжу до власне таксування: „і що, вигідно вам їздити? машина своя (хонда акорд здається, хороша, салон шкіряний), газ не стоїть”. „Ну я другий день ось їжджу, дивлюся, але так, не дуже вигідно”. Не пам'ятаю чи він називав точні суми, але я вирішив не продовжувати цю тему. Зауважив що варто було б взяти в лізинг фабії, поставити на них газ, винайняти людей та хай вони таксують. Бо на його хонді одні збитки будуть. Під'їжджаємо, прощаємось. Сподіваюсь в нього все буде добре, будівництва розморозяться, а колекції будуть продаватися. Залишив 30 грн на чай. ### Власні хмари: Kubernetes URL: https://www.rozhkov.me/private-clouds-kubernetes/ Last updated: 2023-01-09T09:27:56.000Z *Цей пост мав бути опублікованим 24-го лютого, але так і провисів у чернетках аж до сьогодні. Подальшу роботу я не проводив, бо [перевіз все на fly.io](https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/).* На вихідних я вирішив поекспериментувати зі своїми проєктами та зробити прототип маленької хмарки на кубері. Раніше я [прикидував ціни](https://www.rozhkov.me/kubernetes-pet-projects-cost-estimation/) на менеджед кубери й вибрав [Scaleway](https://www.scaleway.com/en/). Мій рахунок за Heroku зараз складає $53.02\. Потрібно було підняти ще один сервіс, а це значить +$16 за базу та інстанс. В таких умовах подумав що можна буде перевезти все що крутиться на хероку в кубер, зекономити грошей та отримати кращу швидкодію. Стандартні хероківські інстанси слабкі, а збільшення потужності коштує дорого. Scaleway за ті самі гроші був би краще. ![](https://images.unsplash.com/photo-1667372459607-2cfe842fdc4b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDExfHxrdWJlcm5ldGVzfGVufDB8fHx8MTY3Mjc0ODM0OQ&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Growtika Developer Marketing Agency](https://unsplash.com/@growtika?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) ### [Kubernetes](https://kubernetes.io/) Кубер на коні. Google вкинув величезну кількість грошей в маркетинг, тому зараз це стандарт контейнерної оркестрації. Висока складність та поріг входу призвели до появи професії Senior Yaml Developer, які займаються виключно тим що бавлять кубер фултайм. Є плюс — багато вендорів надають managed рішення, тобто беруть на себе всю роботу по налаштуванню, оновленню та підтримці control plane куберу. Вам залишається під'єднатися до кластера та працювати з ним, на відміну від Nomad, де все потрібно робити самотужки. Scaleway не бере грошей за кубер. Ви платите тільки за ресурси, які використовує кластер. Щоб дізнатися, скільки пам'яті залишається на апки, я розгорнув кластер, та був приємно вражений: вся кухня+інгрес+cert-manager з'їли приблизно 22% RAM однієї 4GiB ноди, тобто для моїх задач залишалось приблизно 3.5GiB, достатньо щоб повністю мігрувати з Heroku. План був такий як і для Nomad: Terraform для всіх ресурсів та CI/CD. З тераформом розібрався досить швидко: кластер та база [піднімаються](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs) без проблем. А ось з кубером конкретно пововтузився. Спільну для всіх частину інфраструктури (ingress та cert-manager) я теж запхав у тераформ, а для апок зробив Helm chart. Кожен сервіс і в Nomad і в K8S розгортається згідно дефінішену. Для Nomad він пишеться на [HCL](https://github.com/hashicorp/hcl), а для кубера в YAML. HCL досить читаємий; крім того, сама структура Nomad джоб дуже проста. Куберівський ямль — це величезне та складне нагромадження купи об'єктів, які для непідготовленої людини виглядають незрозуміло. Потрібно розібратися у всій термінології та специфіці куберу, щоб хоч щось почало виходити. Для того, щоб оновлювати сервіс та деплоїти нові версії, вам потрібно якимось чином шаблонізувати цю гору ямлів. На допомогу приходить [Helm](https://helm.sh/). Проблема в тому, що дефолтний шаблон, який вам пропонують, переускладнений та рясніє купою незрозумілих речей. В Nomad конфігурації в мене був 1 (один!) файлик на 80 рядків з двома джобами: перша для міграцій, інша розгортає вебсервіс. Ну добре, ще один файлик для траєфіку, але він один на всіх. В кубері для тієї ж задачі я маю 8 (вісім!) файлів, три з яких на 80 рядків, і це тільки вебсервіси. З декількох туторіалів по кейворду «rails helm» мені вдалося зібрати робочу конфігурацію та все заколосилось. Невирішеними залишилися ті ж питання: Vault та CI/CD. Секрети я склав в куберівські, а для CI/CD встановив на кластер GitLab агента, який дозволяє сек'юрно без прямого з'єднання з кластером запускати куберівські команди з гітлаб пайплайну. Приведу до ладу Helm чарти, а там вже буде діло техніки Для цієї конфігурації я теж підготую мануал. *upd: мануал я так і не зробив, бо було не до того, а потім переїхав на Fly і вже не було мотивації щось робити.* В інтернеті ви знайдете мільйон туторіалів по куберу, але одиниці розжовують покроково що відбувається, натомість ви просто копіпастите ямлі та сподіваєтеся що все запрацює. Одне тішить — всю цю роботу потрібно зробити один раз, а далі пожинати плоди автоматизації. ### Онлайн-спільноти — Радіо Ріжок №8 URL: https://www.rozhkov.me/radio-rizhok-8/ Last updated: 2023-01-06T16:15:15.000Z Запис подкасту Радіо Ріжок. Цікаві теми позначені вогником [00:02:00](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=120s) Початок, вступ [00:05:25](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=325s) Чому мені цікаві онлайн-спільноти [00:05:57](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=357s) Історичний екскурс у нульові та NNTP [00:12:00](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=720s) Чому люди сидять в інтернеті? [00:24:40](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=1480s) 🔥Помилки які я допустив при створенні своїх спільнот [00:25:05](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=1505s) Перша помилка — не встановлювати правила [00:30:19](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=1819s) Друга помилка — відсутність задач та мети [00:34:45](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=2085s) Лідер як фактор що обмежує ріст спільноти [00:40:00](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=2400s) Спільноти які створені для розвитку учасників [00:41:05](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=2465s) Токсичність [00:41:49](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=2509s) 🔥Спільнота як під'їзд будинку [00:48:40](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=2920s) Чому мені неприємно коли мене ображають [01:03:55](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=3835s) Чому я досі не встановив правила у власному чаті [01:06:35](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=3995s) 🔥Фундаментальна проблема спілкування [01:09:40](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=4180s) Про ненасильницьке спілкування. Дискусія з позиції цікавості [01:22:57](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=4977s) Розчарування в онлайн спілкуванні [01:24:10](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=5050s) 🔥Перестаємо лізти в голову співрозмовника [01:31:50](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=5510s) Про вастрік клуб [01:42:11](https://www.youtube.com/watch?v=zR7UQJR7LvI&t=6131s) Відповіді на запитання глядачів та слухачів та завершення Християн вітаю з Різдвом! P.S. дякую кожному хто підтримав наш збір на Їдло. Зібрали 8633 грн що для онлайну в 20 людей дуже класний результат. Особлива подяка пану Бадьорову за донат в 3000 грн! ### Центр URL: https://www.rozhkov.me/centre/ Last updated: 2023-01-04T10:20:47.000Z Багато чого в повсякденності керується міркуваннями [доступності](https://www.rozhkov.me/easy-peasy/). Чим менше перешкод виникає на шляху до якоїсь активності, тим більше шансів взяти в ній участь. Ось, кілька місяців я працював в коворкінгу у центрі. А що це значить? Це значить, що коло мене знаходиться багато людей, це значить що мої знайомі часто теж знаходяться недалеко, це значить що поряд ціла купа різноманітних закладів. Тому я кілька разів на тиждень зустрічався з різними людьми, ходив у книжковий магазин, відвідував різні заклади харчування і взагалі добре проводив час. ![Please donate here: www.paypal.me/wabisabiblack](https://images.unsplash.com/photo-1532236395709-7d70320fec2d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDJ8fGNpdHklMjBjZW50ZXJ8ZW58MHx8fHwxNjcyNjczNzMw&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Jezael Melgoza](https://unsplash.com/@jezar?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Коли живеш або працюєш на околиці, то всі ці двіжухи теж доступні, але для того, щоб долучитися, потрібно докласти більше зусиль: подбати про дорогу, вибрати з обмеженого списку закладів. Чим більше перепон, тим більше приводів для того, щоб відмовитися. Так само і щодо домівки. Чим вона далі, тим довше потрібно кудись їхати, тим довше потрібно повертатися, все це перешкоджає свободі. Чи підеш ти до центру у вихідний коли тобі туди пів години треба їхати? Отож. А якщо вже живеш у центрі? Тому недоречно розглядати фізичне розташування місця, де ви проводите значну частину свого часу у вакуумі, без урахування середовища. ### Крінжовий корпоратив URL: https://www.rozhkov.me/cringe-party/ Last updated: 2023-01-03T10:24:25.000Z Десяток років тому був у нас корпоратив новорічний. Народу в конторі тоді вже було досить багато, і з якихось причин його вирішили провести в одному з залів КНТЕУ на Лісовій. Туди були організовані автобуси, але чомусь ніхто не подумав про те що під вечір все стоїть, тому кмітливі люди поїхали на метро, а всі інші провели дві години у заторах. Зал був великий, на ньому розмістили довжелезні столи з наїдками, все як має бути. Завдяки розташуванню цих столів та загальному антуражу, атмосфера була надзвичайно совкова. Найбільше це було схоже на «дискотеку» в актових залах шкіл у дев'яностих. ![fatihkilic.com.tr Theater festival kids are having fun…](https://images.unsplash.com/photo-1506780789966-15774276e069?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDM2fHx0aGVhdHJlfGVufDB8fHx8MTY3MjY3MjMxMQ&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Fatih Kılıç](https://unsplash.com/@fatihkilic?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Один з топів виступив з промовою, в якій повідомив всім що попри те що ми ентерпрайз, в нас є дух стартаперства. Ретроспективно, попрацювавши в трьох стартапах, один з яких стагнує, інший закрився, а третій зробив екзіт, розумію що ніяким духом стартаперства там і не пахло. Коли всі розмістилися, то виявилося, що на столах немає алкашки. З невідомих причин її видали тільки топменеджменту, а кріпакам — дитяче шампанське. Хавка була ±ок, але далі почалися цікаві конкурси. Всю компанію поділили на групи, видали театральний реквізит, та завдання: потрібно було придумати мікровиставу. Здається нам допомагали аніматори, але користі від них не було. Ще однією умовою було те що потрібно було говорити англійською, чи щось таке. Забава була знатною, враховуючи тверезий стан усіх учасників. Ми врешті змогли щось придумати, але воно було максимально вбого та крінжово, як і вистави інших учасників. Найкраще вийшло у команди з топменеджменту. Можливо почуття гумору та креативність якось з цим корелюють. Не знаю, кому спала на думку ідея примусити інтровертних пиріжків влаштовувати цирк, але це було настільки жахливо, що мені хотілося розбачити те що відбувалось. В кінці якимось чином люди все-таки отримали доступ до алкоголю, і активно накидувались, та гарцювали на паркеті. Також я отримав грамоту типу «працівник року», про яку завчасно поклопотався мій тодішній бос. P.S.: Цього року ми з колєгами зібралися і романтично посиділи при свічках в генделі, де якраз вимкнули світло. P.P.S.: знаю що серед читачів є очевидці забави, можете додати деталей. ### Підсумки 2022 🤪 URL: https://www.rozhkov.me/2022/ Last updated: 2022-12-31T10:46:37.000Z Час підбивати підсумки! Якщо [торік](https://www.rozhkov.me/daily/2021/) я був депресивним тривожним пиріжечком, то в новий рік заходжу зі значно кращим настроєм😌 ### До війни Вдалося зробити десятиденну відпустку у Подобовці. Ми зупинялися в готелі «Справжня Казка», де є притулок для котичів. Дружина допомагала їх доглядати, тому хазяйка запропонувала нам приїхати ще, спеціально щоб пильнувати котів. Ми планували зробити це в березні, але в плани втрутилась клята русня🤬 ### Війна Я постійно був і є у Київі, виїжджати нікуди не планував і не планую. Перші декілька місяців ми з [дружиною](https://t.me/FreeAnimals%5FUkraine) волонтерили — купували за ваш кошт та розвозили корм для тварин. Дякую вам за підтримку! Мені пощастило бути зайнятим та не гаяти час на думскролінг. Коли кацапів вигнали з-під Київа, і логістика відновилась, дружина вже їздила з волонтеркою по області та передмістям самостійно, а я потроху повертався до роботи. Також двіж почав наводити мій товариш [Віктор Черніявський](https://t.me/kapelan%5Fit), за що я йому дуже вдячний. Він має неабиякий талант знайомитися з людьми, тому через нього ми допомогли багатьом підрозділам. ![](https://www.rozhkov.me/content/images/2022/12/IMG_20221229_195229_556-1.jpg) ### Робота Два місяці поспіль я взагалі не працював і вдячний компанії [Databand](https://databand.ai/) за підтримку, та те що вони з розумінням поставилися до ситуації. Невдовзі я повернувся до роботи. Всі інші контракти та проєкти довелося згорнути. На цей рік в мене планувалось декілька проєктів які мали стати активами, де я б мав частку від прибутків та нарешті зміг би зробити суттєвий крок у шляху до закабаніння. Ну нічого, будуть ще можливості. В цьому році я пропрацював більше ніж в попередньому, аж на 120 годин більше: 865 годин проти 722 годин. Це позитивно повпливало на прибутки: я заробив на 40% більше ніж того року🤙 ### Проєкти Проєкт року це безумовно [@Donate1024Bot](https://t.me/Donate1024Bot). Дуже радий що ви в мене повірили, та підтримуєте вже 4 місяці поспіль❤️‍🔥❤️‍🔥❤️‍🔥 Більше нічого я не зробив 😂, але не переймаюсь цим. ### Книжки Цього року я прочитав повністю тільки дві книги, тому хай «[4000 тижнів](https://www.rozhkov.me/four-thousand-weeks-book-review/)» буде книжкою року. Переконався що все роблю правильно. ### Музика Восени вперше за багато років відвідав рок-концерт. У 2008-2010 я був гітаристом хардкор панк гурту [Time to Live](https://tmtlv.bandcamp.com/album/time-to-live-with-angstbreaker), тому музика і виступи багато для мене значать. Дякую пану Турбославу за те що витяг мене туди. Я побачив знайомих, яких не бачив більш ніж 10 років, і дуже тому тішуся. ### Зозуля Восени трохи почав сумувати, але під кінець року сильно зарядився позитивом. Деколи накриває від жахів що відбуваються, але це ненадовго. Радий, що єдина видима мені ознака ПТСР — це страх шуму машин що швидко поряд з моїм будинком їдуть, та нагадують мені звук ракет. ### Канал Втратив 28% підписників та 50% читачів. Раніше я пишався тим що мав більше переглядів ніж читачів (це значить що всі підписники читають пости), а зараз мене читають лише 60% підписників. Воно і ясно, ця війна наймедійніша у світі та стосується кожного, тому відоси з дохлими кацапами та прильотами значно цікавіші ніж пости про клавіатури або коворкінги. ### Подяки 🫡Вдячний ЗСУ за те що я живий, маю дах над головою, тепло, воду, електрику та інтернет. 🤗Дякую кожному підписнику який мене читає, коментує, особливо дякую кожному хто підтримує [@](https://t.me/Donate1024Bot)[Donate1024Bot](https://t.me/Donate1024Bot)❤️‍🔥 Без вас мені б було складніше. 🥳Всіх з Новим Роком, переконаний що ми врешті виженемо клятих кацапів з нашої землі та запануємо як має бути😎 Ну а поки буду робити все що можу для перемоги💪 ### Прочитав «Four Thousand Weeks»/«4000 тижнів» URL: https://www.rozhkov.me/four-thousand-weeks-book-review/ Last updated: 2022-12-30T08:55:19.000Z Кілька тижнів тому натрапив на HackerNews на тред «[](https://news.ycombinator.com/item?id=33849267)[Які найкращі книжки ви прочитали у 2022](https://news.ycombinator.com/item?id=33849267)?». Однією з книжок, яку багато рекомендували, була «4000 тижнів». Також, ця книга була у [списку кращих матеріалів](https://blog.nateliason.com/p/best-reads-2022) блогера Nat Eliason, якого я поважаю. Тому після одного з важких робочих днів, я пішов до книгарні у Гулівері, щоб пошукати цю книгу. Насправді я хотів знайти хоч якусь книгу, але «4000 тижнів» була у шортлісті. В книгарні я зустрів [зумерок](https://www.rozhkov.me/daily/millenials-from-mars-zoomers-from-venus/), які намагалися завадити мені, але врешті успішно подолав цю перепону. Українське видання «[Лабораторія](https://laboratoria.pro/)», [український переклад](https://laboratoria.pro/products/chotyry-tysyachi-tyzhniv-tajm-menedzhment-dlya-smertnyh). Отож, до книги. ![](https://www.rozhkov.me/content/images/2022/12/IMG_20221229_164206.jpg) Це книга про ефективність навпаки. Починається вона з твердження що всі методики тайм-менеджменту не можуть зробити людей щасливішими. Так, з їх допомогою людина може встигати більше, але проблема в тому, що задач не стає менше. Ніхто ніколи не зможе завершити всі справи, тому що життя не зупиняється, відповідно задачі додаються і додаються. Інша причина нещасливого життя — бажання контролювати все — свій час, час інших людей, майбутнє. Це неможливо, бо невідомо що буде завтра, але стрес від неприйняття факту що ви не можете контролювати час, надзвичайно погано впливає на людей. Тому замість того щоб стати щасливим пиріжечком, який розібрав усе, і нарешті може перепочити, люди ще дужче журяться від того, що не можуть встигнути більше. Також, час сприймається як «ресурс» який потрібно «використати» і якщо це не виходить, то люди знову журяться. Наприклад, працівники які мають погодинну оплату, схильні непокоїтися за кожну годину, в яку не працювали, бо вони відчувають що цей час було «змарновано». Це відома проблема, яка була притаманна і мені, але я врешті з часом зміг повністю розслабити булки та перестав про це переживати. Як протидія нескінченним спискам справ книга рекомендує мати «закритий» список, з невеликою кількістю задач. Я вже давно дотримуюсь цього правила і став почувати себе значно ліпше, бо краще зробити одну-дві справи на день та спокійно відпочити, аніж стресувати через ще вісім справ, до яких навіть не доступився. Люди постійно відкладають «життя» на «потім» — і тому постійно нещасливі, бо як тільки досягають якоїсь мети, то одразу бачать наступну, і не можуть нарешті почати жити «для себе». Nat Eliason пише про це ж у своїй статті [When the Money's Just Too Damn Good](https://blog.nateliason.com/p/money-too-good). Одна з цікавих та фундаментальних речей, що описуються, це залежність щастя людини від взаємодії з навколишніми. Сучасне життя дозволяє нам мати більше вільного часу, але якщо інші люди не будуть доступні в цей час, то користі від цього не буде. Вихідний або відпустка кращі тоді, коли вихідний та відпустка у вашого партнера та друзів, а не тільки у вас. На користь цього приводиться декілька цікавих досліджень. Я можу беззаперечно та стовідсотково сказати що став менш щасливим, коли почав працювати з дому і став менше взаємодіяти з іншими. Для того, щоб усвідомити це, мені знадобилося кілька років, але зараз я беззаперечно переконаний що мені подобається знаходитися серед людей більше, аніж сидіти наодинці. Інші розділи присвячені тому, як складно людям зараз утримати фокус на чомусь, та не намагатися зазирати до смартфона щосекунди як тільки стало нудно, а також цілющим властивостям нудьги й нічогонероблення. В кінці автор ставить питання про призначення нашого життя та робить припущення про те, що прожити його без якихось досягнень — це нормально, і чим менше ми будемо перейматися, що не досягли якогось успіху, тим краще. Додаток містить десяток практичних порад, які згідно з задумом автора, можуть покращити ваше життя вже зараз: це той самий закритий список справ, зосереджуватися на одній справі за раз, менше перейматися через те що пишуть в соцмедіа, менше користуватися смартфоном, вчитися не робити нічого тощо. Книга невелика, 200 сторінок, читається легко, містить хороші приклади та дієві поради, частину яких я використовую вже давно. Рекомендую. ### Українська URL: https://www.rozhkov.me/ukrainian/ Last updated: 2022-12-29T11:51:51.000Z Вже минає четвертий місяць як я повністю перейшов на українську у спілкуванні. Ділюсь досвідом. Я виріс на Тернопільщині, регіоні з [найбільшим відсотком українськомовного населення](https://uk.wikipedia.org/wiki/%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%B0%5F%D0%BC%D0%BE%D0%B2%D0%B0%5F%D0%B2%5F%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96#/media/%D0%A4%D0%B0%D0%B9%D0%BB:Ukraine%5Fcensus%5F2001%5FUkrainian.svg), проте вчився в російськомовній школі, єдиній на всю область. В школі розмовляв російською, у дворі — українською. Я білінгв з дитинства, маю дві рідні мови, бо з мамою говорив українською, з батьком — російською. Потім переїхав на навчання до Київа, тут в основному залишався на російській, але з друзями з якими я грав музику та проводив час, спілкувався українською, і на локальних форумах теж писав українською. Вже на роботі я переважно розмовляв російською через те, що працював у фактично російській компанії, хоча дівчата та хлопці з Могилянки розбавляли цю одноманітність. В сім'ї, з дружиною розмовляв теж російською, але в публічних закладах завжди переходив на українську. [Статті на ДОУ](https://dou.ua/users/vlad/articles/) та й взагалі тексти на ДОУ десь з 2014 напевне, почав писати українською. Але канал вів російською. Книги давно купував в українських перекладах, фільми теж дивився українською, але читав російськомовних блогерів. ![](https://www.rozhkov.me/content/images/2022/12/image.png) До інших людей я звичайно звертався українською, а як вони відповідали російською, то я теж переходив на російську, тому що мені було складно говорити іншою мовою ніж співрозмовник. Оця складність постійно заважала мені. Коли всі мої друзі 100% часу говорили українською навіть якщо до них зверталися російською, я автоматично перемикався на мову співрозмовника і нічого не міг з цим поробити. Врешті я якось втомився від мовної шизофренії та вирішив що пора переходити на одну мову. Коли ми влітку зустрічалися з нашою подругою волонтеркою яку багато років не бачили, і вона почала говорити українською (хоча я пам'ятав її як російськомовну), то я вирішив що час настав. Буквально за кілька вечорів я вольовим зусиллям перейшов на українську у спілкуванні з дружиною і назад вже не повертався. Спочатку було трішки складно, але врешті виявилося що переходити на мову співрозмовника це просто звичка якої можна позбутися, тому за пару тижнів я вже не відчував дискомфорту коли мені відповідають іншою мовою. Раніше мені здавалося що в мене чудова українська, але виявилося що 20 років переважно російськомовного спілкування залишили свій відбиток і в мене з'явилося і досі є багато кальки з російської. На цей момент можна стверджувати що 98% мого спілкування відбувається українською. Російську я залишив для батька, декількох російськомовних колег з Ізраїлю, стоматолога та ветлікарки. «Думати» теж став українською. Знаю що людям що виросли в суто російськомовних сім'ях, перейти на українську складніше, але мій колега з Запоріжжя досить швидко та вправно перейшов на українську в спілкуванні зі мною, а Віктор «Капелан» Черніявський, родом з Луганську, теж вже добре говорить українською, тому це приклади які доводять що все можливо, аби було бажання. Заохочую кожного українця перейти на українську як основну мову спілкування! Також вважаю що краще розмовляти українською, хай з помилками або взагалі суржиком, аніж російською. P.S.: зараз шкодую про своє рішення вести канал російською. Якби не це, то зараз я б мав найбільший українськомовний канал такої тематики та якіснішу аудиторію. Старі матеріали потроху перекладаю, але то дуже багато праці. P.P.S.: найкращим прикладом переходу на українську для мене є кіберспортивний блогер та коментатор [Сашко Петрик](https://t.me/petr1ktv). Сам він з Донецької області, до вторгнення вів всі медіа російською, після принципово перейшов на українську, втративши 75% аудиторії. Я втратив 50% читачів, але не шкодую про це. ### 🍦+💰💰💰=🐗🤙 URL: https://www.rozhkov.me/daily/land-cruiser-prado/ Last updated: 2022-12-28T18:11:13.000Z Того тижня волонтери з дружнього проєкту [FreeAnimals](https://t.me/FreeAnimals%5FUkraine) їздили до Європи — перевозили тварин. Назад везли гуманітарку. Крім гуманітарки, назад також їхав Land Cruiser Prado 2020 року з 20к пробігу, який знайомі через знайомих попросили перегнати до України, щоб продати. Власники виїхали до Австралії, а машину залишили у Цюриху, їм вона вже була не потрібна. Коли я почув про це, то в мене загорілися очі. Нарешті шанс стати справжнім кабанчиком! Як відомо, кабанчики пересуваються виключно на великих чорних джипах, а це був якраз такий! ![](https://www.rozhkov.me/content/images/2022/12/kt2020_toyota-land-cruiser-prado_001.jpg) Я вже уявляв як знімаю відео в цьому крузаку: **Вітаю вас, друзі! Сьогодні хочу сказати вам що зробив ще один крок, та піднявся від поросяти до мікрокабанчика! Крім [соціопатії](https://www.rozhkov.me/boar-mindset-sociopathy/), [скупості](https://www.rozhkov.me/boar-mindset-greed/) та [вміння опанувати тренди](https://www.rozhkov.me/boar-mindset-trendhopping/), кабанчики характеризуються наявністю крутого позашляховика. І ось, я сиджу в такому😎. Я йшов до цього не один рік, вчився у майстрів своєї справи, падав та підіймався, але ніколи не покидав прагнення до мети — стати кабанчиком. Цей день настав! Відсьогодні Ріжок більше не їздитиме на роботу в коворкінг на автобусі з роботягами, відсьогодні Ріжок їздитиме на зустрічі з бізнес-партнерами на справжньому крузаку!** **Невдовзі виходить моя книга «Шлях Кабанчика» з детальним алгоритмом становлення справжнім хазяїном свого життя. Передзамовлення збираю отут: ...** Ось таке відео збирався записати. Марнославство затьмарило розум, я підраховував вподобайки та коментарі де всі будуть хизуватися який же я молодець, що з простого програміста перетворився на успішного підприємця на чорному джипі. Фантазії не давали мені нормально заснути. Нарешті! Звичайно, в коментарі набігли б автомобілісти, яки спробували б знецінити мої досягнення, але вже те, що вони не мають такого крузака, мене неймовірно б тішило. Ніщо б не зіпсувало мені свято! Отак я засинав, мріючи про любов публіки. Наступного ранку прийшли повідомлення від дружини, яка переганяла ту машину. Вона зв'язалась з нашим знайомим кабанчиком який мав таке ж авто, і запитала, чи варто його брати, та чи справедлива ціна. Як виявилося, комплектація в нашого крузака була мінімальна, а продавець пропонував ціну на $7k (!!!) нижче, ніж така сама машина 2022 року *з салону*. Я чомусь думав що там буде хороша комплектація і ціна була привабливою, але виявилося навпаки. Я зрозумів, що цей крузак не буде моїм, і всі плани по закабанінню скасовуються. Звичайно, це мене засмутило. Але врешті я подумав що воно й на краще. Куплю собі, як і хотів 200-ий Executive Lounge😎 ~~з 120 000 пробігу~~. Ну ок, крузака я не матиму, але хоч відео мотиваційне можна буде записати? Можна. Тому я налаштувався що вони приїдуть і перед тим як віддати машину, ми десь на районі знімемо відос та пофоткаємося. На жаль і тут мої плани почали танути з настанням темряви. Чим ближче до вечора, тим більшим було усвідомлення, що ніякої фотосесії не буде. Коли дружина приїхала, то було вже геть темно. Я сів до крузака і відразу зрозумів що я б його точно не купив, бо всередині був салон з тканини. Це виявився найдешевший, дешманський, вбогий Land Cruiser Prado Comfort. Машина виявилась маленькою, менше ніж Pajero Wagon дружини, в салоні тісно, голова майже впирається в стелю, багажник маленький, одним словом, не моє. Все інше мене вже не дуже цікавило. Глибину мого розпачу від того всього, що ні крузака, ні фоток, ні вподобайок, нічого взагалі, передати неможливо. Тому ми віддали машину, викликали уклон, дочекалися мерседеса С-класу початку нульових з мовчазним ~~карликом у кєпкє~~ водієм, та й поїхали додому. P.S.: зрозуміло, що крузаки, особливо Executive Lounge, зараз [не на часі](https://t.me/Donate1024Bot). Але помріяти хотілось. ### Busywork URL: https://www.rozhkov.me/busywork/ Last updated: 2022-12-28T07:30:00.000Z У великих корпораціях через низьку ефективність комунікації багато часу марнується. Якщо хтось розглядає це як привід, щоб [знайти інше місце](https://www.rozhkov.me/struggles-in-a-corporate-environment/), то дехто — як можливість не надто перейматися роботою та отримувати непогані гроші. Типова ситуація — вам потрібно бути присутнім на якійсь нараді, ви підключаєтесь, але поки до вас не має питань, то вимикаєте камеру й мікрофон та займаєтесь своїми справами. Якщо ви сумлінний працівник та маєте задачі — тихо робите тікети, якщо не дуже — читаєте інтернет або розважаєтеся іншим способом. Чим більший проєкт, тим простіше приховати бездіяльність та лінь. Виходить що тисячі людей, від лінійних працівників до портфельних директорів, сидять, та імітують роботу, насправді не видаючи корисного результату. Такий стан справ мене засмучує. Якось воно прикро коли люди марнують свій час, та не займаються тим що їх цікавить. Маю думку що працювати на таких проєктах можна лише якщо є якась паралельна діяльність, яка буде страждати, якщо більше вкладатися в роботу. Це може бути як свій проєкт або волонтерство, може хобі, може народження дитини, може напівпрофесійна спортивна діяльність і так далі. І то, я б шукав можливості перейти на парт-тайм роботу. Я не з тих людей які про «працювати у нашій компанії велика честь», але коли вже сучасний світ так влаштований що мусиш або ризикувати та крутитися, або продавати свій час, то краще вже продати його за щось цікавеньке, а не за імітацію діяльності. Вже досить давно я працюю парт-тайм, в залежності від навантаження коли більше коли менше, але останнім часом це приблизно 22 години на тиждень, та завжди маю вихідний у п'ятницю. Дехто каже мені що міг при працювати такий самий обсяг роботи за фултаймовий прайс, але мені воно не пасує, а високий рейт дозволяє не дауншифтитися, не знижувати якість життя та не думати про гроші. ![Career related stockphotos](https://images.unsplash.com/photo-1598257006626-48b0c252070d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDI2fHx3b3JrJTIwZnJvbSUyMGhvbWV8ZW58MHx8fHwxNjcxOTA2MTY3&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Magnet.me](https://unsplash.com/@magnetme?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Історії з двома фул-таймами теж не резонують зі мною. Пару років тому я робив одночасно чотири проєкти, але це були чотири парт-тайм проєкти, і всі клієнти знали що я не працюю на них нон-стоп, все було чесно. Врешті, когнітивне навантаження від необхідності недоговорювати правду або відверто брехати здається мені надто високою ціною. Брати участь у щурячих перегонах наймитської роботи в мене немає ніякого бажання. Перед повномасштабним вторгненням були плани на проєкти які нарешті мали стати активами, але це довелось відкласти або повністю скасувати. Впевнений що можна знайти роботу, де порожньої діяльності буде менше, та буде цікаво принаймні з технічної точки зору. Аби було бажання. Ну а багатьом людям нормальним буде роками слухати одним вухом пусті балачки на дзвінках, а потім жалітися у чатах що „як же дістали ці дейліки“. Це мені не близько🤷‍♂️ ### Міленіали з Марсу, зумерки з Венери URL: https://www.rozhkov.me/daily/millenials-from-mars-zoomers-from-venus/ Last updated: 2022-12-27T11:26:44.000Z Ходив кілька тижнів тому у книжковий магазин. Кортіло купити якусь паперову книгу. Я надаю перевагу саме паперовим книжкам через те що вони дають сфокусований досвід читання. Смартфон відвертає увагу, а електронні читалки мені не пасують. Так от, зайшов я в магазин, ходжу туди сюди, зупинився на стійці з міксом селф-хелпу та бізнес-літератури, роздивляюся що є. Раптом чую як поряд дві дівчини щось голосно обговорюють. Повертаюсь та бачу двох зумерок, років по 20\. Одна з них має фарбоване у синій волосся, обидві одягнені в модні зараз оверсайзед речі, такі самі які носили мої батьки на початку дев'яностих. Ніяк не можу звикнути до цієї моди, як на мене, виглядає це жахливо. ![What if I never forget you. What if, all my life, when I meet someone new, I can never fall for them because they aren’t you?](https://images.unsplash.com/photo-1525465307453-c05aed978473?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDI2fHx5b3VuZyUyMGdpcmxzJTIwYm9va3xlbnwwfHx8fDE2NzIxMzUxNzg&ixlib=rb-4.0.3&q=80&w=2000) Photo by [Kinga Cichewicz](https://unsplash.com/@all%5Fwho%5Fwander?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) Вони беруть книжки на стійці про стосунки та глузують з них. — «Як вийти заміж», ахаха, хто це таке придумав? Нав'язують нам стереотипити! Прислуховуюсь. Вони витягають ще якусь книгу, щось там читають, знову сміються. Наступна цитата — з книги «Чоловіки з Марсу, жінки з Венери». Я впізнаю її по слову «венеріанка». — Яка маячня! Ахаха, все це не доведено, не має під собою жодної наукової бази, повна фігня. В мене починає підгоряти. Я читав цю книгу, та вважаю що вона містить слушні поради. Мене засмутило що вони так відгукуються про хорошу книгу. Вирішую захистити свої цінності: — Ну, насправді це хороша книга. Вона містить універсальні поради щодо стосунків. Інші схожі книги та концепції говорять про те саме. Та що з фарбованим волоссям відповідає мені досить агресивно: — Це все не доведено, це маячня для дурних людей. — Не впевнений на рахунок доведеності, але ці ідеї логічні та повторюються у багатьох книжках, там все те саме. — У всіх книжках написано одне й те саме, ~~бака~~. Розумію що спільної мови з панянками я не знайду, а обговорення їм нецікаве, вони не запитали в мене чому я вважаю що книга корисна та як вона допомогла мені. Зливаюсь. — Мені ця книга свого часу допомогла. — ... Думаю — навіщо я з ними взагалі почав говорити? Лише даремно понервувався. Постояв ще там трохи, не знайшов нічого цікавого та пішов у магазин навпроти. Ходжу там роздивляюсь, продавчиня питає — „може вам щось підказати?”, — „сам не знаю чого хочу, дякую”. Через хвилинку погляд чіпляється за «[4000 тижнів](https://laboratoria.pro/products/chotyry-tysyachi-tyzhniv-tajm-menedzhment-dlya-smertnyh)». Згадую що саме цю книгу я шукав і хотів купити. — Я шукав ось це, загортайте. Коли виходжу з магазину, бачу, що зумерки перемістилися за мною та ходять проміж рядів щось обговорюючи. ### Огляд спліт-клавіатури Lotus58 URL: https://www.rozhkov.me/lotus58-split-keyboard-review/ Last updated: 2022-12-27T08:49:10.000Z Я давно цікавився питаннями покращення ергономіки робочого місця, але ніяк не мав нагоди купити таку клавіатуру. Все облизувався на [Moonlander](https://www.zsa.io/moonlander/), але він дорогий і треба було везти з закордону. Того року я купував собі дескмати в [FunKeys](https://funkeys.com.ua/) та зайшов в їх [чат](https://t.me/funkeys%5Fchat), де сиділи клавіатурні ентузіасти. Попитав людей про спліти, і знайшовся хлопець з Чернігова, що мав готову клавіатуру на продаж. Це був [Lotus58](https://github.com/TweetyDaBird/Lotus58) на світчах [Gateron Yellow](https://www.gateron.co/blogs/news/gateron-yellow-switch-buying-guide-and-review-the-best-budget-linear-switch-you-should-choose) за 150$. ![](https://www.rozhkov.me/content/images/2022/12/IMG_20221224_122348_178-1.jpg) Першим ділом треба було розібратися з розкладкою. Я трошки замінив розкладку під себе, посунув Enter та Backspace на великі пальці, додав два шари під стрілочки та цифри. Розкладку я потім змінював ще декілька разів коли підбирав більш оптимальне розташування кнопок. Потім я сів за клавіатурний тренажер [MonkeyType](https://monkeytype.com/), щоб навчитися друкувати. Взагалі я друкую наосліп, але неправильно, бо не вчився тримати пальці на home row і натискаю кнопки не тими пальцями. Lotus58 це «вертикальний стаггер» та має колонку під кожен палець, і натискати потрібну кнопку пальцем з сусідньої колонки просто незручно. Довелося вчитися друкувати заново. Тому кожного вечора я сідав за MonkeyType, ставив словник в English 1k, час 120 секунд, і друкував годинку-дві поспіль. Ось [моя статистика](https://monkeytype.com/profile/rozhok). За два тижні вдалося вийти з 15 до 55 wpm (слів на хвилину). На звичайній клавіатурі без тренувань я мав десь 70+, а якби продовжив вправи далі, то, гадаю, дійшов би до 90-100. Також клавіатура має два слоти під додаткові штуки: це може бути дисплей, або якийсь контролер. В мене це була ручка що крутиться. На неї можна повішати скролл, можна гучність звуку, можна інші приколи. Я цим не користувався. Далі я почав пробувати працювати за цією клавіатурою і тут вилізли недоліки. Головне, що неймовірно знижувало мою продуктивність, це відсутність F-рядка. Я вже понад 15 років користуюсь IntelliJ IDEA, і дуже звик до її хоткеїв, значна частина з яких зав'язана на F-кнопки. Більшість сплітів не мають F-рядка, його пропонується натискати за допомогою модифікатора. Тобто, що натиснути, наприклад, комбінацію Alt+F7, на таких клавіатурах треба натиснути Fn+Alt+F7\. А якщо хочеш щось типу Ctrl+Shift+F9, то це відповідно Fn+Ctrl+Shift+F9. Для мене це виявилося супер незручним, блокером. Я пішов в чат і почав питати людей як вони з цим вирішують справи, але не знайшов підтримки, мені запропонували користуватися модифікатором, або придумувати варіанти, наприклад на одну кнопку вішати дві дії, наприклад на затискання Ctrl більше ніж на x00 мс додавати ще й Fn. Я вирішив що це надто складно і неприйнятно для мене. Другою проблемою було розташування кнопок-модифікаторів, трьох кнопок на найнижчому ряді. Виявилося, що їх дуже незручно натискати великим пальцем. Вони ніби зміщенні вбік, але все одно, щоб натиснути Alt/Super/Lower/Upper доводилося загинати великий палець всередину. Це можна було б вирішити перенесенням цих кнопок в так званий Thumb Cluster, як це зроблено на [Moonlander](https://www.zsa.io/moonlander/). Таку проблему помітив не тільки я, ось [більш детальне пояснення](https://optozorax.github.io/p/my-keyboard-layout/#vneshnie-tamby) з зображеннями. Тому я деякий час потренувався-покористувався і врешті вирішив що мені потрібна інша клавіатура, з F-рядом. Наразі єдина доступна опція це [BFO-9000](https://old.reddit.com/r/MechanicalKeyboards/comments/8wl1b7/i%5Fbuilt%5Fa%5Fbfo9000/), буду замовляти її. Що ж було зручним? Все інше. Половинки можна розташувати як завгодно, миша по центру це взагалі топ. Можливість мати стрілочки на home-row та програмувати собі розкладку як завгодно і прошивати за хвилину теж допомагає. Світчі Gateron Yellow лінійні. Мені вони сподобалися, натискаються приємніше ніж Cherry MX Red. Звук клавіатури теж був тихішим та кращим ніж у досить шумної HyperX Alloy. Все це відбувалося якраз перед початком повномасштабної війни, тому покупку сплітів та нові експерименти поставив на паузу. Наразі продовжую користуватися HyperX Alloy FPS Pro, а Lotus58 продав. Якщо вас зацікавили спліти, то в Україні є контора яка їх збирає — [Splitted Space](https://t.me/splitted%5Fspace). Також поспілкуватися на тему механічних клавіатур можна у чаті клавіатурних ентузіастів: [Funkeys Chat](https://t.me/funkeys%5Fchat). ### Спліт-клавіатури URL: https://www.rozhkov.me/split-keyboards/ Last updated: 2022-12-26T09:40:08.000Z Спліт клавіатура це клавіатура, що складається з двох половин, під кожну руку. Робиться це для того, щоб руки знаходилися в природному положенні, і для друку не потрібно було згинати кисті. Також між половинками можна поставити мишу, трекпад або трекбол, щоб зменшити кількість рухів. Такі клавіатури можуть мати різне розташування клавіш. Звичайні, «стандартні» клавіатури це «горизонтальний стаггер» — ряди зміщені горизонтально. Така швидш за все стоїть у вас на столі. «Вертикальний стаггер» — кнопки розміщені в вертикальних колонках, які зміщені по вертикалі, щоб приблизно відповідати довжині пальців. Приклад такої клавіатури це [Moonlander](https://www.zsa.io/moonlander/). «Ортолінійні» — клавіші розташовані в колонках без вертикальних та горизонтальних зміщень. Приклади: [Helix](https://github.com/MakotoKurauchi/helix), [Levinson](https://keeb.io/products/levinson-lets-split-w-led-backlight). «Ергономічні» — площина в якій знаходяться кнопки вигнута, щоб відтворювати оптимальну відстань до пальців. Приклади: [Kinesis Advantage 2](https://kinesis-ergo.com/shop/advantage2/), [Dactyl](https://github.com/adereth/dactyl-keyboard). Зазвичай такі клавіатури мають меншу кількість клавіш. Це позначається або відсотками або цифрами, наприклад 60%, або Lotus58\. Стандартна клавіатура має 104 кнопки, відповідно 80% — це клавіатура без цифрового блоку, 60% — без стрілочок та F-рядка, 40% — без цифрового рядка. Цифра у назві означає кількість клавіш. Велику галерею різноманітних сплітів усіх типів ви можете подивитися тут: ![](https://www.rozhkov.me/content/images/2022/12/keyboards.jpg) Практично всі кастомні клавіатури працюють на кастомних же прошивках. Кожна половинка має контролер, який програмується. Найпопулярніший софт для прогрумвання це [QMK](https://qmk.fm/). Він дозволяє програмувати як і просто коди на натискання, так і, наприклад, інший код на швидке подвійне натискання, інший код на затискання, програмувати підствітку, можливостей там безліч. Одна з головних можливостей це «шари» які вмикаються за допомогою клавіш-модифікаторів. Це як кнопка Fn що є на багатьох стандартних клавіатурах, тільки там це один шар, а в QMK ви можете зробити скільки завгодно. Зазвичай на додаткові шари програмують F-кнопки, стрілочки та numpad. Що змінити розкладку потрібно скомпілювати та прошити клавіатуру. Більшість кастомних клавіатур це механічні клавіатури. Головна причина цього — це простота їх виготовлення. Зазвичай клавіатури продаються як «кіти», набір з плат, купки діодів та контролера, який вже треба зібрати та спаяти власноруч. Відповідно на таку клавіатуру можна ставити будь-які світчі — механізми натискання. Їх є безліч варіацій, основні це лінійні, тактильні та клікаючі. Кожен з них має свої особливості, зараз не буду занурюватися в деталі, бо це більш-менш відома тема. На світчі потрібно почепити кейкапи яких теж є мільйони. Завтра буде огляд спліт-клавіатури яку я придбав ще того року. ### Корпоративні гасла URL: https://www.rozhkov.me/corporate-mottos/ Last updated: 2022-12-23T09:08:35.000Z Коли працював у ентерпрайзі то в нас з різною періодичністю змінювалися гасла. Типу спочатку було одне щось, потім стало «Transforming the \*\*\* layer», а через пару років «Bringing the \*\*\* Experience». З цього приводу всім розіслали листи з поясненням, що воно таке, та звідки взялося. На нашу роботу звичайно воно ніяк не впливало. Уже в іншій конторі ми теж обирали гасло для компанії, «цінності». Максимально крінжово — менеджмент написав всім листа з проханням «подумати та прислати свій варіант». Не знаю як це має працювати. Всілякі «customer obsession» напевне можуть конвертуватися у хороший кастомер сервіс, але «Bringing the \*\*\* experience»? Не кажу вже про те, що носієм «цінностей» має бути в першу чергу керівний склад. Так що коли мова йде про гасла, то треба відразу ставити питання, що конкретно значить це гасло для мене, як працівника. Зазвичай коли говорять про це, в мене відразу вмикається булшитофільтр, так-так, цінності, клієнти, люди, блаблабла. Жодного разу «цінності» компанії не впливали на мою діяльність. Можливо у вас не так, і гасла реально якось впливають на роботу. Типу сидите ви такі, „Давай тут хак зробимо, щоб швидше“, а хтось показує на неоновий напис «Mastering the Excellence💪» на стіні та каже „це проти цінностей нашої компанії, тому робимо правильно☝️”, і всі такі, „так-так, ти правий, робимо правильно, старший брат пильнує”. Ваші приклади абсурдних або корисних корпоративних цінностей давайте у коментарі👇 ### Куди щез скайп? URL: https://www.rozhkov.me/skype/ Last updated: 2022-12-24T18:28:58.000Z Цікаво, як швидко та непомітно скайп зник з нашого вжитку. Ще у 2007-2015 в компанії де я працював це був основний засіб комунікації, навіть в тому обмеженому вигляді він був кращим ніж альтернативи. Потім на новій роботі ми перейшли на Slack, потім, коли мали свою контору, знову повернулися до скайпу як основного засобу комунікації з одним з клієнтів. Власне я до останнього тримав його саме для цих задач, аж поки ми не перейшли в телеграм та слак. З вересня 2021 року скайп я більше жодного разу не запускав, бо крім рекрутерів мені там ніхто не писав, все приватне листування перекотилося в телеграм, а робоче — в слак. Зараз залогінився перевірити — дійсно, лише запити від рекрутерів та одне пропущене поздоровлення з днем народження від однокласника. ![A salesperson working in an office on a virtual call](https://images.unsplash.com/photo-1616587226157-48e49175ee20?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDV8fHNreXBlJTIwY2FsbHxlbnwwfHx8fDE2NzE5MDYzMzM&ixlib=rb-4.0.3&q=80&w=2000) Photo by [LinkedIn Sales Solutions](https://unsplash.com/de/@linkedinsalesnavigator?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) 🤔 чомусь я був переконаний, що не користуюсь скайпом вже роки три, але виявляється минув лише рік з хвостиком. Десь зараз скайп ще релевантний? Чому майкрософт не захотіли розвивати власний месенджер і віддали ринок воцаппам-вайберам? В когось є інфа? ### Марнославство та мікросервіси URL: https://www.rozhkov.me/microservices-and-vanity/ Last updated: 2022-12-21T09:39:18.000Z Якось (років 6 тому) ходив на мітап, де архітектор лун.уа розповідав про те як в них влаштована внутрішня кухня. Тоді якраз в тренді були мікросервіси, от і в них були мікросервіси. Я тоді теж працював якраз над такою архітектурою, тому мені було цікаво, як це роблять інші. Виявилося, що лунівські мікросервіси то були несправжні мікросервіси. То були просто окремі пайтон модулі, які комунікували один з іншим напряму, без RPC та іншої фігні. Збиралися ті модулі як deb-пакети, та деплоїлися всі на один хост. Ось такі от «мікросервіси». Я звичайно вирішив понтанутися і почав челенджити доповідача на предмет докерів оркестраторів rpc і всього іншого. На що отримав відповідь що воно їм не треба, є сисадміни які все вміють деплоїти, все класно і швидко працює. Питаю, „а якщо сервер впаде”, відповідь — сисадміни новий піднімуть🤷‍♂️. Тоді подумав що вони дурні, а я, що педалив ECS та писав тулзи для деплою замість роботи, розумний. Але історія показала що все було навпаки. *Якщо хтось з луну забіжить на вогник, то вибачайте за можливі неточності.* ### Poor man's REPL URL: https://www.rozhkov.me/poor-mans-repls/ Last updated: 2022-12-20T19:40:37.000Z Коли я пишу щось на Python або Ruby то активно використовую їх репли: для Python це або стандартний інтерпретатор або Jupyter, для Ruby це Rails Console. Днями треба було потестувати деякі штуки зі спарком всередині кубернетіс кластера. Програмно створювати сесії й усе таке. `spark-shell` не підійшов через деякі причини, запускати спарк драйвер на локалхості теж не підходило через те що воркери не могли б достукатися до мене назад. Сетапити [Telepresence](https://www.telepresence.io/) не хотілося, робити докер зі скала-реплом я обламався, бо треба було б йому підсунути весь classpath спарку, а як то швидко зробити я не знав, JShell не підходив, бо Java 8, врешті я вирішив піти старим, способом яким користуюсь вже [десяток](https://www.rozhkov.me/debug/) [років](https://www.rozhkov.me/debug-interactivity/) — JVM Remote Debug + [HotSwap](https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/enhancements1.4.html#hotswap). Тому я: 1. Зібрав Spring Boot веб апку з одним едпоїнтом, 2. Зібрав докер імедж через `./gradlew distTar && docker build .` з `JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005` 3. Задеплоїв імедж в кластер: `kubectl run spark-poc --image=spark-poc-app:latest` 4. Прокинув собі порт для дебагу через K9S 5. Під'єднався туди з IntelliJ, трігерунв ендпоїнт `/hello` і вуаля — в мене є ~~повноцінний~~ джава-репл. Я зазвичай працюю двома способами: 1. Пишу код який мені потрібно, підкладаю його HotSwap-ом через Ctrl+Shift+F9, трігерю ендпоїнт і дивлюся що вийшло. 2. Виконую потрібні мені команди в Evaluate Expression через Alt+F9 і відразу бачу результат. Все це економить купу часу на налаштування енвів, ребути, релоади й так далі. Так, HotSwap має свої обмеження, але я вже тертий калач, тому вони мені не заважають. Читач може зауважити: а міг би писати на Clojure, де все для людей і є можливість запустити Remote REPL сесію! Насправді я на секунду про це подумав, але потім вирішив що маю обмежений час та недостатній досвід Clojure, щоб завести все швидко. Тому довелось городити отакий REPL бідняка. ### Труднощі корпоративної боротьби URL: https://www.rozhkov.me/struggles-in-a-corporate-environment/ Last updated: 2022-12-20T17:01:14.000Z Кілька років тому я писав про [роботу у великій корпорації з точки зору постійної внутрішньої боротьби](https://www.rozhkov.me/politics-inner/). Чим більша компанія та чим більші там потоки грошей, тим більшим виростає прошарок різних менеджерів та координаторів, які намагаються тримати все під контролем. З часом, кількість людей, які мають дати дозвіл на якісь зміни, виростає так сильно, що робити будь-що стає неможливим. Врешті я чудово переконався на практиці, що [можна робити великі речі маленькими командами](https://www.rozhkov.me/performance-first/) більш ефективно, і з того часу не маю жодного бажання працювати у великих структурах, з нескінченними листуваннями, дзвінками, нарадами. Вправний політик може зауважити, що це все від браку вміння домовлятися. Потрібно лише завести правильні зв'язки, навчитися переконувати людей, і тоді все буде в порядку — і бюджети даватимуть, і людей, і проєкти довірятимуть. Все так, але чи хочу я марнувати на це час? Того тижня Джон Кармак звільнився з фейсбуку. У [пості з поясненнями](https://www.facebook.com/100006735798590/posts/i-resigned-from-my-position-as-an-executive-consultant-for-vr-with-meta-my-inter/3467566940144465/) він каже що втомився від низької ефективності організації та труднощах у відстоюванні своєї позиції, неможливості переконати інших. Звичайно, в [коментарях](https://news.ycombinator.com/item?id=34022484) до посту знайшлися люди які стверджують що Кармак токсичний та авторитарний, відповідно не зміг ні з ким домовитися, та був витіснений з організації. Не знаю наскільки це правда (я більше симпатизую Кармаку), але я думаю що корпоративна боротьба це [погана проблема](https://www.rozhkov.me/daily/good-problems/), якщо ти не маєш за мету стати політиком, а хочеш просто робити речі, і якщо в тебе є альтернатива у вигляді компанії менбше розміром. Тому стартапи та маленькі компанії — це моє, а лідери ринку — ні. *«Лідер ринку» — компанія, працювати в якій є «великою честю».* ### Як 🍦 функціональне програмування не хотів вчити URL: https://www.rozhkov.me/how-i-learned-functional-programming/ Last updated: 2022-12-20T17:02:32.000Z Після першої своєї роботи — кривавого ентерпрайзу, я влаштувався у стартап. Там ми взяли нову тоді 8-у джаву та мікросервіси, все як має бути. В мене був колега, який вже працював з 8-ою версією та вмів писати лямбди. Я ж зупинився на 6-ій і лямбди не вмів. Для тих хто не з Java світу, лямбди та стріми це такі шматочки функціонального програмування які додали якраз у 8-ій версії. `map()`, `forEach()`, `filter()`, `reduce()`, `find()` і так далі. Оцей мій колега всюди де була можливість, використовував стріми та лямбди. А я ними користуватися не міг, не розумів як працює і що робить `map()`, тому писав все на циклах. Деякий час у нас були заруби на код-рев'ю, колега хотів щоб я переписав все на стрімах, а я навпаки — хотів, щоб він прибрав `parallelStream()` для кращої читаємості. Мій варіант ```java List pendingOrders = new ArrayList<>(1); for (Order order: customer.orders()) { if (order.isPending()) { pendingOrders.add(order); } } ``` Його варіант ``` List pendingOrders = customer.orders() .stream() .filter(Order::isPending) .collect(toList()); ``` Приклад з голови взяв, ну от ми й влаштовували заруби. А причина була одна — я не розумів ті лямбди. Тут ще просто написано, але коли якісь мапи туди сюди я дивився на код і не відстрілював що відбувається. Визнавати то я не хотів, новим трюкам вчитися не хотів, вмикав луддита і писав циклами. З часом, з роками, я призвичаївся до тієї функціональщини та став її використовувати практично постійно. Перетворився на свого опонента. Але якихось зусиль для того не додавав, і даремно! Якби я витратив трохи часу на навчання, подвився б відос, прослухав би курс, прочитав доку, то моя робота стала ефективнішою, а взаємодія у команді кращою. Олексій, будеш це читати — визнаю свою помилку😪 Тому не будьте як я. Маєте можливість на роботі вивчити щось нове — користуйтеся цим☝️ *Це вже не кажучи про те що концепти функціонального програмування повинен знати кожен програміст.* ### Беріть поради у правильних людей URL: https://www.rozhkov.me/ask-right-people/ Last updated: 2022-12-20T17:07:33.000Z Того тижня мені написала дівчина з питанням, як стати програмістом: „Хочу навчитися програмувати, але не знаю з чого почати, порадьте що робити“. Я відповів щось типу „Знайдіть курси і там вчіться“, бо не придумав нічого краще. Очевидно, мій досвід навчання самотужки по синій книзі «С» яку мені дав батько, зараз не є релевантним. Так само не дуже релевантним є і те, як я отримав першу роботу — вчився в КПІ, пішов на курси контори, далі практика в конторі, потім робота. Так, ті курси досі є, але попасти на них можуть не всі, до того ж коли туди йдеш, то вже маєш вміти програмувати, як би абсурдно це не звучало. Мені соромно, але я не став допомагати дівчині, намагаючись з'ясувати, що саме вона мала на увазі під „хочу навчитися програмувати” і зробив припущення що це значить „хочу отримати роботу програмістом”. Я не став з'ясовувати що їй пасує: веброзробка, мобіли, ігри, пристрої чи компілятори. Переконаний, що людина, яка дійсно в чомусь зацікавлена, знайде більшість відповідей самостійно, наприклад запитає це на форумі, ~~або у [ChatGPT](https://www.rozhkov.me/boar-mindset-trendhopping/)~~. Я лише відповів „спробуйте знайти якісь курси“ та кинув лінк на свіжу статтю від програмістки-самоука, де та ділиться досвідом. Та й по тому. Іншого дня до мене звернувся чоловік який вчився фронтенду, мав непоганий сайт-портфоліо, і шукав поради де взяти роботи. Якось він обмовився про фриланс і апворк, але я знову не придумав нічого краще, аніж запропонувати йому знайти ком'юніті апворкерів і питати порад там. Згадав що [Юрій Лучків](https://t.me/yyluchkiv%5Fblog), відносно відомий телеграм-блогер на кшталт мене, мав таке ком'юніті. Я на апворку ніколи не працював тому всі мої настанови не будуть такими корисними, як від того, хто там крутиться. Набагато кориснішним було б брати пораду не у мене, а в людини, яка знаходиться на крок попереду, тобто у новачка, який нещодавно отримав роботу або контракт. Ця людина буде розуміти сучасну „мета-гру“, які курси актуальні, куди простіше попасти, з чого почати, які є ком'юніті. Звичайно, є базові мудрості, типу „вчи англійську мову”, але загалом вважаю що якість порад затухає чим далі по умовній лінії прогресу знаходяться той хто питає та той хто відповідає. Люди схильні надавати значення тому, що його не має, тому легко стати карго-культистом, але не досягти жодних результатів. Тому якщо ви звертаєтесь до когось, то дивіться, щоб це була правильна людина, а не гуру, який 30 років тому якось вибився в люди, а зараз буде вчити вас старим трюкам. ### Книжковий ринок URL: https://www.rozhkov.me/book-market/ Last updated: 2022-12-14T12:03:50.000Z На вихідних мав нагоду пройтися по київському книжковому ринку. В нульових то було культове місце. Батько тоді часто їздив до Київа і завжди повертався додому з київським тортом та якоюсь новою книгою, які не продавалися в Тернополі. Теплі спогади. Коли я вже переїхав, то теж час від часу туди навідувався. Мені подбалося навіть просто пройтися по ринку, там була особлива атмосфера. Останній раз вже в кінці нульових—купив собі книгу про космодесантуру з Фенрісу. Маю зізнатися, то було не найкраще моє придбання. З тих часів ринок вже зовсім втратив пройдешню славу. Схоже що там залишилися ті продавці, які не змогли адаптуватися під нові реалії, та сидять на своїх місцях за інерцією. Ну і букіністи-барахольщики, куди без них. Диски(!) з іграми двадцятирічної давності, розкладки з якимось древнім мотлохом, цілий стенд з б.у. пультами для телевізорів, дядько у чорній куртці поряд з платівками ДДТ та Висоцького, великі написи «ЕЗОТЕРИКА» та «ПСИХОЛОГІЯ». Людей мало, три чверті лотків зачинені. Можливо обід неділі—не базарний день? Раніше там було повно народу, напаковано як в рукавичці. Отак величезний книжковий-музично-ігровий хаб фактично припинив своє існування і цікавить тепер лише букіністів, мисливців за антикваріатом, та покупців з минулого, які не вміють користуватися інтернетом. ### Зворотня польська нотація URL: https://www.rozhkov.me/reverse-polish-notation/ Last updated: 2022-12-13T11:02:55.000Z В інституті в мене був предмет «Паралельні комп'ютерні системи». На лекціях поважний професор розповідав нам абсолютно неактуальні та непотрібні факти про архітектуру архаїчних суперкомп'ютерів, а потім примушував то все вчити напам'ять. А от лабораторні роботи були значно цікавіші. Фактично весь семестр потрібно було допилювати та розвивати одну й ту саму задачу: паралельне обчислення арифметичного виразу. На першій лабі треба було просто якось його розпарсити і порахувати результат, на другій додати дужки, на третій оптимізувати обчислення і винести за дужки операнди, на четвертій побудувати AST, на п'ятій за допомогою алгоритмів розподілити цей AST на ядра процесору, потім все це візуалізувати, потім додати редактор, і так далі. Поки одногрупники писали купу іфів і думали як впоратися з дужками, я вирішив піти неортодоксальним шляхом, і конвертував вираз з звичайної нотації у зворотню польську, а все інше вже було ділом техніки. З [вікіпедії](https://uk.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D1%8C%D1%81%D1%8C%D0%BA%D0%B8%D0%B9%5F%D1%96%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D0%BD%D0%B8%D0%B9%5F%D0%B7%D0%B0%D0%BF%D0%B8%D1%81) копіпастну вам, наприклад вираз `a + b` конвертується в `a b +`, а вираз `(a + t) * (b * (a + c))^(c + d)` конвертувався у `a t + b a c + * c d + ^ *`. Далі ця штука дуже легко обчислювалась, і по ній не менш просто було побудувати граф. Граф я малював та редагував за допомогою Swing, там можна було рухати ноди як хочеш і на те щоб стрілочки-ребра між вершинами правильно анімувалися, я витратив цілий вечір! ~~І ніякого джаваскріпта!~~ В мене досі десь лежить робочий зошит, де я за допомогою тригонометрії обчислював кути для тих самих стрілочок. То була дуже крута робота, і за все життя, здається, я не робив нічого складнішого. Але найприкрішим виявилося те, що викладачка на одному з етапів не хотіла приймати в мене цей шедевр. Так сталося, що я не зміг здати лабу вчасно через дуже велику бажаючих, і здавав частину якраз з зворотньою нотацією аж через місяць після того як її зробив. Викладачка перевірила що все працює, а далі задала якесь питання, типу як я це зробив. Так як часу вже пройшло багато, то я вже забув і відповів щось не те, їй це не сподобалося і вона відмовилась приймати в мене роботу. В наші часи дуже розповсюдженим було здавати так зване «палєво», це роботи студентів з попередніх курсів, або однокурсників. Бралась програма, якось модифікувалась щоб не виглядало вже зовсім однаково і «впарювалась». На інститутському жаргоні успішна здача роботи називалась «впарити лабу» або «здати палєво». Я дав свою роботу декільком одногрупникам, і через це мав проблеми. Через те що я відразу не зміг відповісти на якесь питання вона зробила висновок що ми всі отримали палєво від третього джерела і намагаємося напарити їй чужу роботу. Потужність мого батхерту складно передати. Я не одну ніч провів за шліфовкою цієї програми, а викладачка мене навіть слухати не хотіла. Я навіть щось почав їй пояснювати за логи мого власного SVN-сервера, де видно коли я все робив і комітив, але вона просто відмовилась приймати роботу. І зворотня польська нотація, яку ніхто крім мене не використовував, тут мені не допомогла. Врешті я якось поздавав всі ті лабораторні, хоч і був дуже близьким до відрахування. P.S.: а безглузду маячню типу кількості векторних конвеєрів та флопсів в CRAY-1 на екзамені я просто списав. ### Новини @Donate1024Bot: третій мільйон💪💪💪, коментарі💬, PayPal💸, «рейтинг»🏆 URL: https://www.rozhkov.me/donate1024-news-three-millions-comments-paypal/ Last updated: 2022-12-12T11:00:00.000Z [@Donate1024Bot](https://t.me/Donate1024Bot)—це бот для нагадування про щоденні донати на ЗСУ. Кожного дня він надсилає посилання на монобанку та текст збору. Я зробив бота щоб не забувати донатити та мати нову ціль щодня. Новий день—новий збір. Підключайтесь → [@Donate1024Bot](https://t.me/Donate1024Bot)! *Давно не було новин по боту. Час це виправляти!* ### Третій мільйон🥳 Дашборд тепер показує точну суму донатів які були зроблені через бот. Рахується різниця між сумою на банці на момент початку збору та кінця збору. Випадки коли на банку закидують суми більші за середню що збирають підписники відкидуються. Таким чином я можу абсолютно впевнено сказати що користувачі боту надонатили вже більше ніж на **3 000 000** гривень! Вважаю що для команди в \~50 людей це серйозне досягнення💪! ❤️❤️❤️Щиро вдячний кожному хто підтримує армію❤️❤️❤️ ### Коментарі та обговорення зборів💬 Додав кнопку яка веде на обговорення збору в каналі [@Donate1024](https://t.me/donate1024). Подивимося чи це буде корисним. ### PayPal💸 Кілька разів мене просили якось виокремити PayPal, тому він отримав свою секцію в реквізитах та окремий фільтр на сайті: . Сподіваюсь що це заоохотить людей ззакордону донатити більше. На жаль, не всі збори мають PayPal, але тут нічого зробити не можу🤷‍♂️ ### Рейтинг🏆 Команда `/rating` покаже прогресбар по вашим донатам та повідомить ваше місце за *кількістю* донатів у загальному рейтингу. Після релізу цієї функції декілька людей мені навіть написали: в одному випадку попердолило верстку, в іншому людина просила відмітити збір який вона забула відмітити, ще в одному випадку в рейтингу відображалися збір який був опублікований до того як користувач зареєструвався в боті. Все виправив👌 ### Налаштування⚙️ Я почав роботу над налаштуваннями. Основна функція яку просили вже декілька людей, це можливість вказувати час, коли бот буде надсилати збір. Працюю над цим👨‍💻, власне на 95% все було готовим вже давно, не вистачає зовсім трошки. Сподіваюсь незабаром доробити. ### Ще більше звітів!📑 За три місяці ми закрили та допомогли багатьом зборам і нарешті можна подивитися на результати нашої роботи. На даний момент вже є 24 звіти з 118 зборів. Насправді їх більше, просто не всі волонтери надсилають мені посилання на звіти. ### Маркетинг🥲 Найголовніше чим я **не** займався в ці місяці🤦‍♂️. Врешті вчора написав двом дуже великим телеграм каналам щодо реклами, подивимося що з цього вийде. upd: діпстейт сказав що вони не рекламують збори (бот вони вважають збором), можна прорекламувати канал, думаю щодо цього. ### На тому все Підключайте [@Donate1024Bot](https://t.me/Donate1024Bot) та долучайтеся до мене у марафоні щоденних донатів! ### Криптоінвестор з Драгобрату URL: https://www.rozhkov.me/cryproinverstor-from-the-mounains/ Last updated: 2022-12-08T11:25:13.000Z Кілька років тому (зараз здається що це було в минулому житті), на новий рік їздив на Драгобрат. Серед іншого познайомився там з парубком, програмістом. Він взагалі проживав на Таїланді, але взимку катнув до Карпат. Говорили про те про се, в тому числі про ворк лайф баланс. Парубок поділився цікавим фактом: він вклався у криптовалюти ще до їх буму, і за його словами вже мав стільки грошей що міг не працювати і мати забезпечену старість. Але сидіти нічого не робити йому нудно, тому він тоді вже працював віддалено на азіатський фінтех, займався серфінгом і взагалі мав шикарні плани на життя. Чому ми з ним зустрілися саме на Драгобраті а не десь в Альпах, для мене загадка. Погода як завжди була погана, але в нас було достатньо сечі терпіти ці борошна та ще й отримувати, гм, *задоволення*. Отак міг би тоді вже закупитися криптою і зараз теж сидіти на Таїланді, але я проігнорував сигнал від всесвіту і лишився ні з чим. Поза тим поїздка запам'яталась дівчиною приблизно мого віку, яка ходила у майці «Looking for a sex instructor». Вже за кілька днів вона знайшла собі красивого високого програміста та переїхала до нього у номер, де і проживала до кінця поїздки. Щоправда пані була розлучена та мала дитину (дитину в гори не взяла, ми дізналися про те зі спілкування), але сподіваюсь що в них все вийшло. А на зворотньому шляху, в автобусі, я підслухав балачку маркетологинь з учбового центру Епаму, встряг у розмову прикинувшись шлангом і ~~зайобував~~ закидував їх питаннями по роботі, аж поки від нудьги ті не заснули. Висновки такі: [пильнуй за трендами](https://www.rozhkov.me/boar-mindset-trendhopping/) та вкладай трохи грошей у ризиковані активи, не клацай дзьобом, будь веселим та жартівливим, щоб люди довкола не засинали від твоїх розмов. ### Майндсет 🐗 кабанчика: вміння опановувати тренди URL: https://www.rozhkov.me/boar-mindset-trendhopping/ Last updated: 2022-12-07T09:01:14.000Z Я надзвичайно погано орієнтуюсь у сучасних трендах і не вмію використовувати їх собі на користь. Коли весь інтернет говорив про CoPilot, я навіть не поставив його собі. Коли випустили DALL·E, то я не записався у вейтліст, коли зарелізили Stable Diffusion, я не знайшов подивитися що це таке. Зараз інтернет вибухнув сценаріями використання ChatGPT, люди автоматизують розв'язання задач Advent of Code щоб бути в топі, і взагалі намагаються протестувати його можливості. А мені воно чомусь не дуже цікаве. Так само я пропустив часи коли біток можна було майнити в гуртожитку, пропустив інстаграм та тік ток як платформу для просування, пропустив ClubHouse, бо в мене не було айфону, та й взагалі не дуже цікавлюсь чимсь новим. Не читаю ченджлоги до нової версії JDK, не знаю що таке Project Loom, Reactive Spring та GraalVM, не пишу на котліні та не використовую нові фічі Java 19\. Абсолютно пропустив криптобум, поки кмітливі учасники чату виводили гроші через USDT, я, наче тварина на фермі, покірно міняв гроші на міжбанку по курсу НБУ (і досі міняю втрачаючи десяток тисяч грн на місяць). Монобанк зарегав тільки цього тижня щоб робити збори, не вкладаю гроші в ETF та інші активи. З таким майндсетом далеко не поїдеш. Одна з характерних особливостей успішних людей це здатність помічати тренди до того, як вони стали популярними або тільки-но почали зростати, і ставити їх собі на службу. Коли почався бум AI мистецтва, то наш старий знайомий, засновник NomadList, [Pieter Levels](https://twitter.com/levelsio) швидко знайшов застосування для цього: він розробив сервіс для генерації інтер'єрів, [InteriorAI](https://interiorai.com/). По суті це просто фронтенд до Stable Diffusion, куди він зашив багато пресетів/промптів, щоб нетехнічні користувачі могли собі швидко накрутити апартаменти мрії. Також він додав можливість завантажувати власні фотографії щоб генерувати варіації вашої квартири або задати стиль, і ще купу функцій. Потім прикрутив до того оплату і почав рубати капусту. Не знаю скільки там вийшло, а також яким був прибуток враховуючи аренду GPU, але думаю що непогано. На все про все в нього пішло пару тижнів. Далі більше: Пітер зробив ще один сервіc, генерацію аватарок для соцмедіа [AvatarAI](https://avatarai.me/). Завантажуєш півтора десятки своїх фото по яким AI генерує які завгодно варіації, наприклад в стилі супергероїв, акторів фільмів та відеоігор, в різних оточеннях, тощо. Всього за 99.99$ можна скачати пак фоток. За тиждень цей сайт заробив кілька десятків тисяч $$$, всі роблять собі аватарки. Ясно що секрет успіху конкретного підприємця тут не тільки в самому підході, а ще й у потужній соціальній мережі, яку він побудував завдяки чому швидко провалідував свої ідеї, але сам принцип може застосувати будь-хто, та ви й самі можете назвати купу таких прикладів. Вчасно помітив тренд, опанував його поки це не стало буденністю, витягнув з того максимум грошей, викинув та перейшов до іншого. Rinse & repeat. Треба цьому повчитися. ### Зберігайте квитанції протягом трьох років☝️ URL: https://www.rozhkov.me/no-payment-processing/ Last updated: 2022-12-06T19:23:58.000Z Того тижня мав платити за коворкінг. Оплата проходить за олдскульним методом: на пошту приходить пдфка з рахунком, ти оплачуєш і відправляєш квитанцію назад. Підозрюю, що її процесять у ручному режимі. Вітаємо, ви ще місяць можете користуватися всіма благами цивілізації! Цікаво, чому коворкінг не зробив ніякої автоматизації? В них вже є внутрішній типу-портал з зародками соцмережі та бронюванням скайп-румів, що завадило підключити якийсь платіжний процесор, приймати оплати автоматично та інтегрувати їх з CRM-кою? Засновники коворкінгу це колишні топи великих ІТ-компаній, тобто вони без проблем могли би це все зробити. Маю декілька гіпотез, але перед тим як почати їх розглядати давайте порахуємо математику. Отож, хотдеск місце коштувало 300$, з цього місяця вже 400$. Місце в окремому кабінеті коштує вже близько 500$. Коворкінг має три локації, будемо по-максимуму рахувати що кожна з них має 150 хотдесків та 300 місць в кабінетах. В сумі, якщо брати 100% завантаженість, то за місяць оборот складе близько 200 000$. Отож, гіпотези: ### Контора не хоче платити комісію платіжним системам🖕 Комісія наприклад LiqPay складає 1.5%. Можливо вони б могли сторгуватися на менше, але якщо брати 1.5% то це виходить вже 3000$. За ці гроші обов'язки розсилати інвойси можна повісити на адміністратора та бухгалтерів які вже є в штаті. ### Програмісти дорогі💰 Винайняти програміста у штат який все заінтегрує а потім буде все підтримувати, може виявитися дорожчим аніж тримати дешевших бухгалтерів та адміністраторів. Враховуючи те, що локацій мало, франшиз немає, а бізнес по суті не масштабується і зроблений по книзі кійосакі, то й потреби в потужній автоматизації просто немає. ### Конторі пофіг🤷‍♂️ Не знаю як це влаштовано в інших коворкінгах, чи там скидаєш гроші фаундеру на картку, чи платиш в онлайн-кабінеті через ~~страйп~~ приват24, чи заносиш нал у валізі на стоянку. Можливо власникам бізнесу байдуже на UX, і вони не вважають зручність оплати конкурентною перевагою. Врешті, люди платять в першу чергу за локацію, ніхто не буде їздити на околиці міста, навіть якщо там можна платити однією кнопкою. А можливо нікому просто не прийшла в голову ідея що можна спростити оплату. ### Швидш за все☝️ Реальна причина в комбінації цих факторів. ### Ваш варіант🧠 У коментарях👇 ### Проєкти🏗 підписників👩‍💻🧑‍💻👨‍💻 URL: https://www.rozhkov.me/subscribers-projects/ Last updated: 2023-02-21T15:14:04.000Z Час від часу мені в приватні повідомлення або у нас в чаті підписники скидують свої проекти. Сьогодні я хотів би поділитися трійком таких: --- **Ігор** робить освітній проект для фронтендерів **Frontendly**. 🔗Сайт: 💌Телеграм канал 🐦твітер Заходите на сайт, вивчаєте навчальні матеріали та виконуєте завдання у інтерактивному середовищі. Проект активно розвивається, додаються нові уроки. Акцент робиться на задачі що взяті з реальної робочої практики. [Заходьте на сайт та вивчайте фронтенд!](https://frontendly.dev/) --- **Олександр** розробив **бота** для сповіщення про появу або відключення світла у вашому будинку. 🔗Гітхаб: 💌Бот: Підписуєтесь на бота і він може сповіщати вас про відключення або появу світла. Також можна переглянути статистику (звіт по відключенням, сумарний час наявності/відсутності світла). Моніторинг працює через пінг хоста. В планах SaaS версія. Зараз це працює для одного ЖК, але ви можете заселфхостити бота та налаштувати його для свого ЖК. [Встановлюйте та розповсюджуйте в чатах ЖК щоб знати про вимкнення!](https://github.com/zd333/electro%5Fbot) --- **Дмитро** розробив **CarQR**: наліпки на автомобіль завдяки яким перехожий може дізнатися телефон водія щоб зв'язатися за необхідності: машина заважає, горять фари і так далі. 🔗Сайт: 💌Телеграм канал: Замовляєте наліпку з QR-кодом та розміщуєте її під склом авто. Вказуєте номер телефону або інший контакт, який буде доступний тип хто відсканує код. Якщо комусь заважає ваше авто, ви забули вимкнути фари тощо—отримаєте дзвінок або повідомлення від небайдужих перехожих. [Замовляйте QR код та більше ніколи не отримайте цеглину на капот або розряджений акумулятор!](https://carqr.co/) --- Також, якщо у вас є якийсь проект, то напишіть мені, я зроблю ще одну підбірку. Думаю що автори будуть вдячні за відгуки та з радістю нададуть відповіді на ваші питання у коментах👇 ### Дармоїди URL: https://www.rozhkov.me/spongers/ Last updated: 2022-12-02T12:03:17.000Z Останні N місяців я займаюсь майже виключно навоколо-інфраструктурною роботою. Ця діяльність не має прямого бенефіту у вигляді прогрітого ліда, фічі за яку заплатить клієнт чи підписаного контракту. Я працюю там, що на мові бізнесу називається cost center: центр витрат, дармоїди які марнують важко зароблені іншими гроші. Робота над такими задачами не дає зростання та взагалі не створює видимості. Коли потік грошей знаходиться десь далеко, то урвати від нього бодай пару крапель стає складно. Ми зараз не говоримо про фаанги, де є нескінченні гроші і люди самі собі створюють роботу, ми говоримо про більш приземлені компанії. Підрозділи, які тільки витрачають гроші, нікому не подобаються. Підрозділи, які тільки витрачають гроші, намагаються скоротити в першу чергу, коли крадеться криза з своєю усмішкою хижой. Уважний читач може заперечити, „Але ж Ріжок, без підтримки інфраструктури в належному стані все заросте технічним боргом і рано чи пізно буде гальмувати роботу компанії!” Вірно підмічено! Буде гальмувати, і є ситуації коли саме через погано вибудувані процеси контора летить у прірву. Але, але, ніколи фікс скріптів не принесе стільки прибутку, скільки підписаний контракт. Ніколи рефакторинг на новий фреймворк не принесе стільки прибутків, скільки нові користувачі. *Інколи* інфраструктурна діяльність може сильно скоротити операційні витрати, але це єдиноразові акції. Та й коли б я був власником бізнеса, то ще дужче розсердився би на своїх дармоїдів, які довели справи то такого жалюгідного стану. Роботу цю робити треба, але на мій погляд, потрібно розмазувати її тонким шаром по всій команді, щоб не створювати knowledge silos та відділи, які не мають шансів принести корить бізнесу, і люди в яких сидять на місці. Неуважний читач подумає, що я хочу викинути девопсів. Але це не так—девопс може і буде приносити гроші якщо його діяльність напряму зав'язана на отримання грошей: підняти сервак клієнту, налаштувати нову інфру для нової фічі, і так далі. Хто ближче до клієнта, до продажів, до грошей,—той молодець і буде рости. Хто далеко, сидить у підвалі і голить яка—той нікому не цікавий і нюхатиме бебру. ### Ненасильницьке спілкування URL: https://www.rozhkov.me/non-violent-communication/ Last updated: 2022-12-01T09:01:11.000Z Значну частину свого життя я провів у срачах в інтернеті. Завдяки анонімості та безнаказаності, люди поводять себе неймовірно огидно. Активний учасник інтернет дискусій щодня може отримати на себе стільки образ та негативу, скільки в реалі буде збирати цілий рік. В житті люди більш серйозно ставляться до слів. Будь-який чат без модерації досить швидко перетворюється на срач про політику. Також в будь-яких онлайн спільнотах завжди є люди які приходять туди грубо кажучи, посрати. Їм часто нецікава тематика обговорення, а насолоду вони отримують в безглуздих суперечках та образах. З іншого боку суспільство живе в комфорті якого не бачили раніше, якщо не рахувати нашу війну, і схильне до того, щоб шукати проблеми там, де їх немає. Маргинальні рухи, де люди зненацька усвідомили, що їх ображають ті чи інші слова, які ще донедавна були „нормальними“, захоплюють світ та політику. Опоненти цих рухів навіть придумали термін, snowflake, людина-сніжинка. Типу тане від легкого подиху. Я вже давно звик до негативу в інтернетах, але як часто буває, ніхто ніколи мені не показував та не розказував, що може бути інакше. Коли постійно крутишся у хворих та токсичних спільнотах, то воно починає задаватися тобі нормальним, а люди, що затято обзивають один одного у чаті через якусь дрібницю—цілком адекватними. Але зараз я потроху приходжу до думки що так не має бути. Можна оточити себе людьми, або знайти спільноту, де не буде токсичності, де не буде образ, де спілкування будуватиметься на взаємоповазі та цікавості, а не спробах стверджуватися за рахунок інших або випускати пар. Тут на сцену виходить та сама ненасильницька комунікація. Я не дуже копав питання, але один з її аспектів полягає в тому, що ти можеш сказати своєму співбесіднику, що тобі некомфортно від того як він з тобою говорить. Очевидно що одне й те саме можна доносити різними способами, від прямої образи типу „як ти міг до такого додуматися, телепне?”, до „цікаво, що привело до такого вибору? схоже що це рішення може не спрацювати для ось таких випадків: <...>. Мені здається що тут більш доцільно було б застосувати підхід <...>“. А коли хтось занадто агресує, то можна просто сказати: „друже, ціную тебе, але тон твого спілкування мені некомфортний, можеш будь-ласка більше так не бикувати?”. Далі або людина приймає твої почуття, або не приймає, ну тоді ауфвідерзеген. Я досі вагаюся, чи не є це створенням бульбашки, коли довкола тебе всі будуть солодкими пиріжечками які насправді подумки встормляють тобі ножа в спину, або чи не призведе це до інфантилізації спілкування коли ти можеш легко „образитися“ за будь-яку дрібницію та вимагати до себе особливого ставлення. Неясно де проходить межа адекватності. Мені це невідомо, бо в моєму оточенні немає людей які би ці штуки розуміли. Але дуже цікаво спробувати, бо я потроху починаю цінити власне ментальне здоров'я, і мені набридає проходити по колу одні й ті ж самі ігри з образами, негативом, самоствердженням, нарцисизмом та відсутністю емпатії. Лише нещодавно я почав втілювати деякі з цих ідей у життя, відсікаючи негативних людей, а зараз шкодую, що не усвідомив цього раніше. P.S.: з усіх спільнот де я брав участь, найкращим був вастрік клуб, але я не дуже багато там спілкувався, а після початку вторгнення і взагалі покинув його бо там було \~80% росіян. Але збоку воно виглядало значно адекватніше ніж будь-яке інше ком'юніті. Можливо, варто спробувати побудувати щось схоже. Залишилося позбавитися від токсичності у собі. P.P.S.: а я же писав про це! Півтора роки тому все це вже озвучувалось в матеріалі [Shadowban](https://www.rozhkov.me/daily/shadowban/). З того часу прогресу немає, і це дуже сумно. ### Баг в розетці URL: https://www.rozhkov.me/rozetka-bug/ Last updated: 2022-11-30T09:28:03.000Z Того тижня сусідка-пенсіонерка попросила мене замовити їй повербанк на розетці. Нема питань, клік клік, ваше замовлення буде доставлено на точку видачі завтра, очікуйте на повідомлення. Наступного дня прийшло повідомлення „ваш повербанк на місці, забирайте”. По обіді під дощем пішов до розетки. Приходжу, вбиваю свій номер телефону, мені пише: „по вашому номеру немає замовлень”. Вбиваю ще кілька разів—те саме. Ок, думаю, я теж розумний, давай по номеру замовлення. Вбиваю номер—врешті видає талончик. Стою, чекаю. Мій номер не з'являється досить довго. Сідаю на лавку, чекаю. [Думаю](https://www.rozhkov.me/efficiency-dog-walking/). Раптом жіночка поряд питає—„А коли вже буде моє замовлення, ось ви вже і те і те видали а мого немає”. Працівник питає що в неї, „повербанк”. Я встрягаю в діалог: „то може ви ще й моє замовлення подивитеся, я теж довго чекаю”. Жінці виносять повербанк, в мене беруть номер. Далі починаються цікавинки: по номеру база нічого не видає. Працівник логіниться в бекофіс систему, шукає там замовлення, в нього статус: «на опрацюванні в магазині». Значить десь має бути. Йдуть шукати повербанк на склад. Не знаходять. Починаються танці з 1С та спроби з'ясувати в чому ж справа. Озвучуюють гіпотезу, що хтось інший якимось чином забрав мій товар (я його не оплачував попередньо). Але тоді чому замовлення не позначене як «виконане»? Знаходять десь три таких самих повербанки як ті що я замовляв. Але то не мої, то чиїсь інші. Працівник пропонує мені оформити нове замовлення щоб вони мені видали з тих що були. Я заходжу на сайт а там вже стоїть «немає в наявності». Ох, тільки що ж було! Ще 10 хвилин двіжух в 1С, бекофісах, шарудіння на складі. За мною починає з'являтися все більша черга. Одна з систем видає повідомлення: цей товар було оплачено та отримано вчора о 17:06\. Але я його вчора тільки замовив! Врешті вони якось проводять один з трьох повербанків що був, я оплачую, забираю та йду додому. На все про все пішла година часу. Підімаюсь, стукаю до сусідки у двері, „ваш повербанк доставлено!” А вона у відповідь —„так я ж вже його забрала! ось він, заряджається” —„???” —„Я прийшла на точку, ввела твій телефон, оплатила і забрала”. Сусідка дуже розпереживалась що я змарнував час, та запропонувала щоб вже вона зайнялась поверненням, якщо повербанк мені не потрібен. Отак. Тепер ясно чому мені не могли видати товар. Бо його дійсно хтось забрав! Але чому система видала талончик та некоректно відмітила замовлення на сайті? Це питання до розробників. За півгодинки я вже чалапав по калюжам назад—повертати девайс. Підійшов до хлопців, кажу так і так, ви були праві, мій повербанк дійсно забрали, але мене не повідомили про це. Тому мали халепу. Ось він, вертайте гроші. Заповнив форму. На тому все. Хто має знайомих в розетці, скиньте їм цей пост, хай пофіксять багу. ### Прочитав «Everything Is F*cked: A Book About Hope»/«Усе замахало, але надія є» URL: https://www.rozhkov.me/everything-is-fucked-review/ Last updated: 2022-11-28T09:00:00.000Z Того року в ашані купив продовження книги [«Витончене мистецтво забивати на все»](https://www.rozhkov.me/daily/the-subtle-art-of-not-giving-a-fuck-review/): «Усе замахало, але надія є». Почав я її читати ще тоді, але якось воно мені не пішло. Того тижня я врешті зібрався та добив половину що залишалась. Ця книга вже більше філософська і менш селф-хелпова ніж попередня. Можливо тому вона мені так важко давалась, незважаючи на маленький об'єм, всього 200 сторінок. Автор починає з уже давно знайомих нам концепцій Системи 1 та Системи 2: перша це «швидке», емоційне мислення, друге це повільне, раціональне, енергоємке. Тут ці системи називаються Серце та Розум і далі пів-книжки автор наводить нам всілякі різні приклади їх взаємодії. Друга частина книги присвячена релігіям та ідеологіям, в яких людство шукає сенс життя. Загалом тут теж переливається з пустого в порожнє. Завершується все це коротким описом що нас чекає у майбутньому, коли штучний інтелект стане більш потужним ніж зараз. Із всієї книги я майже не виніс ніякого actionable advice: поради яку можна було б застосувати. Єдине що перетинається з іншими книгами які я читав, та що має сенс це те що людині варто вибудувати систему внутрішніх цінностей та опиратися на неї, а не залишатися на рівні розвитку дитини, коли є тільки біль та насолода, або підлітка, коли біль можна потерпіти щоб потім отримати насолоду. Доросла людина не має безумовного потягу до насолоди, та не проводить все життя у торгах за щось краще, а керується внутрішніми чеснотами, які дають їй змогу долати життєві негаразди. Так що всі хутко ~~у бобик~~ виписувати собі цінності, як заповідав Кемп, бо інакше так і залишитеся дітьми. Книгу не рекомендую. Нагадаю також про відгук на попередню книгу від цього ж автора: [Прочитав «The Subtle Art of Not Giving a Fuck»/«Витончене мистецтво забивати на все»](https://www.rozhkov.me/daily/the-subtle-art-of-not-giving-a-fuck-review/). ### Зріст URL: https://www.rozhkov.me/daily/height/ Last updated: 2022-11-25T13:18:14.000Z Я витягнув щасливого квитка у генетичній лотереї та маю високий зріст. Ну як високий, не 200, а лише трохи вище середнього, 190. В школі трішки грав у волейбол. Навіть ходив на секцію. Це був непопулярний спорт тому часто не вистачало гравців, грав я досить кепсько, але тренерці було видно що я ще виросту, тому вона пушила мене піти у секцію волейболу до іншої школи, яка на тому спеціалізувалась. Та школа знаходилась на околиці міста, і мені туди було би дуже незручно їздити. Тому я цю пропозицю проігнорував. На секцію зі мною ходив однокласник. Батько кинув їх сім'ю, його виховувала мати. Його постійно булили, причому він ніби як товаришував з хлопцями що його ображали, але вони регулярно і досить серйозно його били (одного разу головою об батарею), псували речі, обзивали. Його зневажали всі у класі. Так, я сам регулярно потерпав від тих хлопців, але принаймні не опускався до того щоб наговорювати на себе всілякі образи та товаришувати і підлабузнюватися до моїх цькувальників. Я їх просто мовчки ненавидів та чинив спротив як міг :-) Також той хлопець погано вчився, був дуже неохайним, мав “смішну” фамілію та носив окуляри. Буллінг бінго просто. Дітям багато не треба для образ а тут просто повний набор. Єдине, він був дуже високий, ще вищим за мене. Він потерпав, аж поки тренерка не запропонувала йому ходити на волейбол до іншої школи. За збігом обставин він там якраз недалеко жив, тому погодився. Так він почав туди ходити, а згодом і взагалі перевівся до тієї школи. Досить довгий час я його не бачив. Багато років потому, відвідуючи рідне місто, я з однокласниками гуляв парком. Коли назустріч нам йшла компанія і серед них я впізнав того самого хлопця. Він мав зріст вище 2 метрів, широчезні плечі, файну бороду і взагалі чудово виглядав. Ми привіталися та перекинулися кількома фразами, бо він кудись поспішав. Виявилося, що пацан став професійним волейболістом, їздив на змагання та показував хороші результати. Одружився, народив дитину, все як у людей. Невідомо що б з ним було, якби він був невисокого зросту. P.S.: Після школи я пішов вчитися до КПІ і там записався до секції волейболу. Думав, буде весело. Як виявилося, всі навоколо мене були вищі, сильніші, стрибали далі, грали краще. Тому я помучився там рік, а наступного пішов до своїх товаришів-нєфорів на туризм. Там і чіллив до кінця навчання. У волейбол я досі граю погано і зріст мені в цьому не допомагає. P.P.S.: в школі я добре шарив фізику, тому вчитель фізики мене постійно пушив на підготовку до олімпіад. На жаль, ніхто запропонував мені змінити школу на фізмат ліцей. Тому, коли я вступав до КПІ, виявилося, що мої знання не влізають навіть в нижній квартиль, а всі мої одногрупники були випускниками фізматів та математичними геніями в порівнянні зі мною. Я просто нічого не розумів. Останній рік навчання в школі я ходив на підготовчі курси при місцевому політеху, але то мені не допомогло. ### Антикрихкість України URL: https://www.rozhkov.me/antifragile-ukraine/ Last updated: 2022-11-24T11:47:13.000Z Вдень звуки Подолу—це шум дизельних генераторів. Аптеки, кав'ярні, крамниці, клініки, ресторани—у всіх на дворі дирчить двигунець що забезпечує роботу бізнесу. Поршні крутяться—лавеха мутиться! «Антикрихкість»—це термін що видумав відомий філософ ~~та графоман~~ Насім Талеб. Ще того року я почав читати однойменну книгу, але досі не закінчив, тяжко йде. Неуважний читач скаже що такого слова немає, а антикрихкість це синонім міцності. Це не так, Талеб пояснює у своїй книзі що антикрихка система міцніє внаслідок спроб її зруйнувати. Чим більше зусиль спрямовується на руйнування—тим міцнішою вона стає, навідміну від просто міцної системи, що врешті не витримає тиску. Всю війну росня намагається зруйнувати нашу інфраструктуру: спочатку це були військові об'єкти та виробництво, потім залізниця, мости, логістика та паливні склади, зараз це тероризм цивільного населення: енергетична система. Але ці спроби нас тільки загартовують: Збройні Сили покращують навички протиракетної оборони та оптимізують логістику, залізничники вчаться відновлювати сполучення, енергетики нон-стоп працюють у аварійному режимі та намагються повернути до життя енергосистему після атак, а потім втримати її. Пересічні громадяни теж адаптуються до складних умов—купують генератори, повербанки, екофлоу, старлінки, утеплюються. Врешті ми вже пережили руйнування сховищ паливо-мастильних матеріалів та нафтопереробних заводів. Пам'ятаєте влітку не було пального на заправках? Якось пережили. Так, зараз ворог б'є по більш вразливим об'єктам, стаціонарним та великим, які вже не заміниш цистернами солярки з Польщі. Але я хочу вірити що енергетики докладають всіх зусиль, щоб зробити енергосистему максимально антикрихкою—більш децентралізованою, ремонтопридатною, стійкою до розбалансування. Наші спеціалісти всіх інфраструктурних галузей зараз отримують неймовірний досвід роботи у надважких, катастрофічних умовах. Сподіваюсь що протоколи дій, які раніше проводилися тільки на навчаннях, зараз довели до ладу та покращили, і з кожним ударом ми стаємо все міцнішими і міцнішими. Надзвичайно прикро, що ми змушені навчатися цьому через загарбницьку війну, та платити високу ціну за кожен урок. Але переконаний що ми вистоїмо. Слава Україні!🇺🇦 Смерть ворогам!☠️ ### Коворкінг, розбиті шибки та трагедія громад URL: https://www.rozhkov.me/tradegy-of-the-commons-in-coworking-space/ Last updated: 2022-11-23T11:55:35.000Z В правилах коворкінгу, де я працюю, прописано, що проводити дзвінки можна тільки у скайп-кімнатах, а в опенспейсі—заборонено. Однак люди нехтують цим, ну типу стендап, два речення сказати, можна і з місця, нікому це не буде заважати. І виходить, що один говорить в опенпейсі, інший на те дивиться і теж такий—а чого я буду йти. А далі це починає розповсюджуватися як пухлина—люди, особливо нетехнічні, вже спокійно собі теревенять, хоча це очевидно заважає оточуючим. Врешті страджає весь опенспейс—бо ніхто не дотримується порядку. Звичайно можна биканути на людину та показати їй на правила. Іноді в когось підгорає і вони звертаються до місцевої «поліції» щоб ті вжили заходів та заспокоїли хуліганів, що мітингують в загальному просторі. Але це буває рідко, і хоча мені воно дещо дошукляє, я забив, та сам теж базарю на місці. З часом простір стає гіршим для всіх. Покладатися на вихованість людей це звичайно добре, але там де дотримання правил не забезпечується, врешті все псується. P.S.: в навушниках я не сиджу, бо по-перше, мені це не подобається, а по-друге, від музики маю трохи сенсорного перевантаження, складніше працювати. ### cron на fly.io URL: https://www.rozhkov.me/cron-jobs-on-fly-io/ Last updated: 2022-11-22T07:00:00.000Z В будь-якому проекті є задача періодично запускати процеси. Наприклад, в [@Donate1024Bot](https://t.me/Donate1024Bot) це щоденна ранкова розсилка всім підписникам нового збору, щоденна розсилка звітів, оноволення статистики всіх монобанок щопівгодини та інше. В Heroku для цього є супер-зручна штука що називається [Scheduler](https://devcenter.heroku.com/articles/scheduler). В інтерфейсі наклікуєш коли запускати задачу, команду яку потрібно виконати і все. Далі Heroku сам в потрібний час підніме інстанс та запустить джобу. Я постійно користувався цією функцією. Коли переїхав на fly, то виявилося, що там такого немає. В кінці вересня вони додали [схожу функціональність](https://community.fly.io/t/new-feature-scheduled-machines/7398), але вона не є повноцінною заміною крону. Тому довелося педалити милиці власноруч. В більшості базових образів `cron` вже встановлено, у мене це `ruby:3.1.2-alpine`. Далі робимо текстовий файл з нашими джобами: ``` # Send new post MON to SUN at 9:00 0 7 * * * cd /app && ./bin/bundle exec rake donate:daily # update mono jars every half of a hour 0,30 * * * * cd /app && ./bin/bundle exec rake donate:update_mono_jars ``` В `Dockerfile` ініціалізуємо цей крон: ``` COPY crontab.txt /app/crontab.txt RUN crontab /app/crontab.txt ``` Потім потрібно зробити на fly.toml процес власне крону: ``` [processes] web = "bin/rails server -p 8080" worker = "bundle exec sidekiq -c 3" cron = "crond -f -d 0" ``` Все. Після деплою з'явиться новий інстанс всередині якого буде бігти крон. З таким підходом у нас постійно буде крутитись окрема машина для цього, це звичайно недолік. Щоб оптимізувати, можна запускати крон разом з, наприклад, вебом через стартовий скрипт або `systemd`, але я не хотів цим запарюватися. Також потрібно зауважити що всі джоби мають коректно відпрацьовувати повторні або паралельні запуски. Конкретно я для цього використовую локи в базі даних: `Lock.find_by(key: "daily_post").with_lock do`, щоб гарантувати єдиноразовий запуск, та не трапилося такого, що користувачі два рази отримують одне й те саме повідомлення. Також сама крон джоба не містить коду який працює, а просто кладе в чергу Sidekiq джобу яка вже буде оброблятися на іншому інстансі. Таким чином ми можемо виділити крон-процесу мінімум пам'яті, бо все що він робить—це ставить завдання у чергу. В проектах з мікросервісами крон це проблема, тому що там теж треба якимось чином гарантувати єдиноразовий запуск та коректно обробляти повторні запуски однієї й тієї ж самої джоби. На попередньому проекті де був AWS для розподіленого крону ми використовували CloudWatch Event які тригерили лямбду, яка клала джобу в чергу або тригерила якийсь ендпоїнт. Чесно кажучи це цирк на дроті, а не нормальне рішення. Можливо зараз амазон дає щось краще. Також в кубернетісі та номаді є крон джоби, тому можливо ця задача вирішується простіше, аніж встановлення спеціального рішення типу Quartz або Sidikiq Enterprise, де є функціональність розподіленого крону. Впевнений, що читачі підкажуть. ### Майндсет 🐗 кабанчика: соціопатія URL: https://www.rozhkov.me/boar-mindset-sociopathy/ Last updated: 2022-11-21T09:52:55.000Z Днями прочитав [драматичну історію](https://medium.com/@mickgordon/my-full-statement-regarding-doom-eternal-5f98266b27ce) створення до гри DOOM Eternal від композитора Міка Гордона. Директор студії id software робив все щоб максимально завадити роботі музиканта: ставив перепони у комунікації, не прислуховувався до рекомендацій музиканта щодо покращення робочого процесу, не платив вчасно гроші, не заплатив повний обсяг грошей за музику і взагалі вів себе як повний мудак. Потім всю провину за неякісний OST директор звалив на музиканта, написав про це пост на редіті, через що тому почали надходити погрози від фанів. Там ще багато чого трапилося, врешті Мік опублікував відкритого листа з усіма пруфами своєї невиновності. Коли читаєш такі історії то дивуєшся—як можна вести себе так контрпродуктивно? Невже в такої студії як id немає бюджету на саундртек, тим більше що композитор вже довів свою спроможність робити круті речі у попередніх іграх? Чому директор ігнорував зауваження музиканта? Чому не попередив його завчасно про OST та не брав до уваги нереальні дедлайни? Вся розповідь читається як абсурд, аж поки я не пригадую історію значно менших масштабів, яка трапилась вже зі мною. Я поверхнево розписав її в пості «[Продавець](https://www.rozhkov.me/sales-man/)». Там теж і гроші не платили, і брехали, і дедлайни ставили нереальні, вели себе нелогічно і як психопати. Хоча така поведінка знаходиться поза моїм розумінням, вона якимось чином чудово кореліює з успіхом зазначених пасажирів. Директор id став директором не просто так. Яким би некомпетентним він не був, але переконати борд головної компанії в тому що вони повинні залишити тебе на місці потребує неабиякої майстерності. Мої кабанчики-“продавці” теж непогано себе почували. Незважаючи на крах компанії, вони не втратили своє майно, просунулися вверх по церковній ієраріхії, потім зробили нову компанію, і так по кругу. Хоч і масштаб не той, але поведінка один в один. Коли б ви читали історії на ДОУ з кидаловом людей, там все як під копірку: перестаємо платити гроші, потім обіцяємо ось ось заплатити, потім затягуємо, брешемо, врешті звинувачуємо працівників в тому що вони не потягнули проект і погрожуємо розборками вже їм. Все один в один. Тому я приходжу до висновку що одна з рис успішного кабанчика це соціопатія. Для нас, звичайних людей то все може виглядати дивно, бо можна ж вести справи чесно та мати прибутки, але схоже що саме ця чесність заважає нам, тому змушені працювати на отаких соціопатів. P.S.: до речі останні тижні ми спостерігаємо схожий цирк з Маском та Твітером. Маск явно поводить себе неадекватно, та робить абсолютно абсурдні з нашої точки зору речі. Подивимося, куди ци приведе. ### Ефективність, вигул собак та офіси URL: https://www.rozhkov.me/efficiency-dog-walking/ Last updated: 2022-11-18T07:00:00.000Z Сучасна цивілізація намагається все зробити максимально ефективним. Будь-яку діяльність ми рафінуємо. Замість прогулянок та фізичної праці, яка була притаманна людям доіндустріальної епохи, в нас тепер бігові доріжки та фітнес. Замість полювання, вирощування, покупки та приготування їжі у нас тепер доставки та фастфуд. Замість спілкування з сусідами та містянами у нас тепер алгоритмічні соціальні мережі. Замість роботи в колективі у нас тепер фулл ремоут та безтілесні і безособні таски в трекері. Я якось дізнався що є професія dog walker: це спеціальна людина яка вигулює собак за гроші. Ну типу коли в хазяїв немає часу. Я так розумію, дуже популярна тема на заході. Але мені в голову ніяк не може прийти, як так людина бере собаку, а потім "аутсорсить" одну з основних активностей комусь іншому? Абсурд. Прогулянка з собакою це невід'ємна частина взаємодії з нею. У мене є собака, я йду з нею на двір кожного ранку та кожного вечора, незважаючи на погоду, власний настрій чи наявність часу. Деколи я граю з нею, деколи ні, деколи розмовляю з власниками інших собак. Прогулянка з собакою це комплексний процес, і підвищуючи його ефективність, тобто передаючи собаку комусь іншому, ми втрачаємо цілісність. Коли я писав про коворкінг та офіс, то багато людей мене запитувало: “навіщо ти ходиш в офіс?”. Дійсно, якщо мислити категоріями ефективного та раціонального агента, в офісі немає ніякого сенсу. Я витрачаю час на дорогу, на оренду приміщення, сиджу в незручних умовах, мені заважає музика та балачки сусідів. В цілому я працюю не надто ефективніше. Тоді навіщо ж ходити туди? Я йду заради того щоб якось нормально пожити. Вийти на двір, побачити місто, побачити природу, побачити інших людей, поспілкуватися з ними, хай навіть то буде small-talk. Поїсти різної їжі, відчути дискомфорт у громадському транспорті через тисняву, чи на вулиці через погану погоду. Я йду щоб трохи звільнити себе від інформаційного перенавантаження. Звісно, я залежний від смартфону, але на прогулянках та у дорозі ніколи його не дістаю. Вуха я теж не затикаю. Дорога та прогулянки—це час для рефлексії та роздумів. Просто так сісти і нічого не робити вдома досить складно—занадто багато спокуси взяти до рук телефона та почати щось читати. Так, ми робимо наше життя ефективнішим, але мені здається що в гонитві за нею ми втрачаємо набагто більше, аніж отримуємо. ### fly.io vs Heroku: developer experience URL: https://www.rozhkov.me/fly-io-vs-heroku-developer-experience/ Last updated: 2022-11-17T10:24:08.000Z Головна особливість [Heroku](https://www.heroku.com/) завжди полягала в дуже потужній абстракції інфраструктури. Програмістам не потрібно було думати ні про сервера та їх налаштування, ні про бази даних, ні про сторедж, ні про мережу. Heroku все робить сам коли ти пушиш в нього проект. `git push heroku master` і все. Хочеш постгрес? Один клік в UI. Хочеш redis? Так само один клік. Прив'язати домен, один клік. Все дуже просто і цього вистачає щоб запускати маленькі проекти та не думати про інфраструктуру. Натомість, щоб користуватися [fly.io](https://fly.io/), уже недостатньо клікопс знань. Потрібно розуміти що таке докер, як його зібрати. Так, fly генерує сам докерфайли для типових проектів, але сама наявність цього докерфайлу, конфігурація у fly.toml вже додають складності, яку пересічний розробник часто не в змозі подолати. З постгресом взагалі біда, його не можна наклікопсити, а по-дефолту fly пропонує тобі досить потужний та дорогий інстанс. Нещодавно до мене звернувся один із давніх підписників—розробник проекта [@frontendly\_feed](https://t.me/frontendly%5Ffeed), та попросив допомогти знизити вартість, в нього проста конфігурація виходила дуже дорогою. Ми подивилися і з'ясували що проблема була якраз в постгресі, який мало того що був на 4Гб, так до нього ще на додачу йшов волюм на 200Гб. В сумі до все виходило досить дорого. Але просто так не можна змінити розмір волюму. Потрібно акуратно перенести дані, розбиратися з бекапом та рестором. Випадково у процесі ми все видалили🙈. Добре що до того був зроблений бекап і вдалося відновити. Натомість Heroku взагалі ховає від розробників абстракцію дисків і пропонує рахувати рядки в базі. Більше рядків—більше платиш, ізі. Це я не торкався конфігурації самого постгресу, очевидно що налаштування для різних інстансів будуть різними, і в цьому треба розбиратися. Ну і мережа, з одного боку круто що у fly все сек'юрно, та не стирчить в інтернет, а з іншого це все додає тертя у процес. Тому на жаль наразі fly ніяк не може бути повноцінною заміною Heroku—надто все низькорівнево та складно. Того року я читав [лекцію в КПІ](https://www.youtube.com/watch?v=kB5I9HpIr78) і показував як за 5 хв підняти Python апку. З fly це було б не 5 хв, а всі 50, і то, студенти би швидш за все не розібралися, бо треба розуміти надто багато абстракцій. Наскільки я знаю, fly не збираються щось робити в цей бік. Їх фокус це надавати низькорівневі примітиви для того щоб на їх базі інші вже могли робити свої рішення. У мене все є, залишилося зібратися з силами і нарешті зробити клон Heroku та завоювати серця і гаманці мільйонів розробників по всьому світу. ### Вебкамери URL: https://www.rozhkov.me/turn-on-webcam/ Last updated: 2022-11-11T07:00:00.000Z Я завжди вмикаю відео на нарадах. В мене немає проблем з тим що переживаю за власний вигляд, або за вигляд кімнати, або ще щось. Тому за замовчуванням вмикаю камеру, а прохання рекрутерів провести саме відеодзвінок (очевидно щоб застосувати прийоми [фізіогноміки](https://uk.wikipedia.org/wiki/%D0%A4%D1%96%D0%B7%D1%96%D0%BE%D0%B3%D0%BD%D0%BE%D0%BC%D1%96%D0%BA%D0%B0) та прочитати мої емоції) мене не турбує абсолютно. Бачити людину на тому боці мені теж більше подобається аніж дивитися аватарку або ім'я. Так, це сурогат спілкування наживо, але краще хай буде хоч так. В компанії, де я зараз працюю, теж мітинги з відео це стандартна тема, всі вмикають камери і ніхто не париться. Але останнім часом я дедалі більше попадаю на дзвінки з американськими колегами, і помітив що вони майже ніколи не вмикають камери. Не знаю чи це культурна особливість конкретної компанії, чи взагалі, але то мене трохи здивувало. Заходиш такий на вебекс, вмикаєш камеру, бачиш що ніхто крім тебе не увімкнув, ну ок, вимикаєш. Хтось може сказати „я камеру не вмикаю бо можу займатися своїми справами або дивитися у телефон і люди цього не бачитимуть”, але тоді постає питання—“навіщо тоді приходити на нараду якщо від тебе там нічого не треба?” В мене є підозра що no-cam культура якраз більше розповсюджена у великих компаніях бо там більше булщиту та busywork. В маленькій компанії цього менше, тому там немає потреби бути формально присутнім на дзвінках. З камерами та відео маю тільки одну проблему—вони низької якості. Тому час від часу думаю про покупку бездзеркалки, лайтбоксів та хромакею. Але наразі то не на часі. ### Як я переїхав працювати до центру, розчарувався, та повернувся на Поділ URL: https://www.rozhkov.me/how-i-moved-to-centre-and-then-moved-back/ Last updated: 2022-11-09T14:25:03.000Z Уважні читачі каналу [@daily\_rozhok](https://t.me/daily%5Frozhok) пам'ятають крінжові [історії з коворкінгу](https://t.me/full%5Fof%5Fhatred/587). Я працював там аж до минулого тижня, поки не почали вимикати світло. Замість [Астарти](https://www.openstreetmap.org/way/379955012) CQ запропонував всім ходити в [Гулівер](https://www.openstreetmap.org/way/272607734), де є генератори. Я вже давно хотів туди перебратися, бо мені до центру їхати значно зручніше, ніж на Поділ, але компанія мала невикористані кредити на Астарту, тому продовжував тусуватися на Подолі. Отож, наступного за відключенням дня, я поїхав до Гуліверу. Нарешті в мене буде зручний ком'ютинг та чудовий вид з вікна🥳! В перший же день мене спіткало невелике розчарування—вимкнули світло. Виявилося, що в Гулівері CQ має багато локацій, але частина з них під'єднана до генераторів, а частина ще in progress. Довелося переміститися до іншої башти. А в іншій башті все якось не так. Дизайнерського ремонту в опенспейсі немає, мінімальне оздоблення + купа столів. Повно народу, мало диванчиків. Ну то таке, але загальний вайб ніби прийшов в аутсорс стійло. Люди не паряться ходити в скайп-кімнатки та голосно обговорюють свої проектні справи на місцях. Я не виділявся та теж мітингував на місці. Ліфти реально дратують. В Астарті на третій поверх можна спокійно піднятися пішки, тут таких опцій немає, катайся туди-сюди. Вийшов поїсти. Варіантів багато: фудкорт в самому Гулівері, пузатка на Шота Руставелі, пузатка на Басейній, шаурми бургери ресторани, Бесарабський ринок, все шо хочеш. Фудкорт в Гулівері мене розчарував. По-перше, він якийсь брудний, по-друге, там нормальні страви можна поїсти тільки в салатерії та вареничній, все інше то джанк фуд, по-третє, там повно дуже шумних школярів з місцевих блатних школ, гімназій та ліцеїв. По-четверте, там все якось пафосно. Повз ходять проапгрейджені останніми досягненнями косметологів жінки з дакфейсами, стильні кабанчики, іноземці. Не те щоб я мав щось проти зазначених категорій населення, але від того всього йдуть якісь нездорові вайби. Наступного дня я пройшовся до пузатки на Шота Руставелі щоб знову розчаруватися, бо вона маленька, брудна, з поганим обслуговуванням та чергами, плюс той самий контингент. Третього дня пішов в дінерс в [Леонардо](https://www.openstreetmap.org/way/120228871), далеко, але думаю дай пройдусь по центру. Короче дінерс той як ви вже здогадалися повна туфта, маленький, з чергами, повний напомаженої аудиторії з місцевих аудиторських фірм. А центр просто неймовірно шумний, неінклюзивний, то під землю, то над землю, то догори, то донизу, купа машин, якось все перевантажено. Щось мені то все дуже не сподобалося. На Подолі: все інклюзивно, всі красиві але без перебору, немає пафосу, в БЦ величезний діннерс, поряд є нормальна пузатка й та сама салатерія, менше машин та приємніша забудова. Я думав що їздити на громадському транспорті буде норм, але після того як декілька разів побігав як школяр за автобусом, а потім пакувався в салоні разом з роботягами то трохи передумав. Потрібно їздити поза піками, тоді буде ±, але графік курсування все одно незручний. Тому як тільки в Астарті зробили резеврне живлення та перестали вимикати електрику, я вирішив що краще переплачу за таксо на Поділ та буду знаходитися в приємному оточенні, аніж в душному пафосному центрі🤷‍♂️ Так що тепер я знову Adeptus Astartes. ### Два місяці з fly.io URL: https://www.rozhkov.me/two-months-with-fly-io/ Last updated: 2022-11-03T07:00:00.000Z Два місяці тому я [перевіз всі свої проекти на платформу fly.io](https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/). Ділюся з вами досвідом використання. ### Ціна Отож, найприємніше що я отримав, це швидші ресурси за нижчу ціну. За вересень я заплатив $17.09, за жовтень $17.02\. Всього в мене крутиться 5 проектів, спільний для всіх редіс та спільний для всіх постгрес. За той самий сетап на хероку я платив би десь 80$. ### Мережа В мене сходу не запрацював нормально Wireguard тунель до внутрішньої мережі проектів, але я забив з цим розбиратися. Щоб мати доступ до продакшн бази, просто відкривав собі [проксі-тунель](https://fly.io/docs/flyctl/proxy/) на локалхост. Додатковий крок, але я до того звик. Згодом розібрався в причинах (некоректно конфігурувався resolved) та налаштував все як треба, тому зараз маю одним кліком повноцінний доступ у внутрішню мережу. Втім, поки що цим не користуюсь, бо сервери дебажити не треба, а для бази за старою звичкою відкриваю тунель😂 ### Деплої Перший місяць в мене постійно падали та зависали деплої з GitLab CI. При цьому з локалхосту все працювало. Я вже побіг жалітися у сапорт, але потім сам второпав що в мене був недоконфігурований `.dockerignore`, через що кожного разу він намагався залити на fly гігібайт даних. Я пофіксив це (додав у виключення папку з гемами) і все заколосилось. Навідміну від Heroku, тут можна налаштувати health check для своєї апки, і якщо вона не проходить його після деплою то fly автоматично робить ролбек на стару версію. Це вже допомогло мені кілька разів коли я накосячив з конфігурацією. ### Стабільність Одного разу в мене повністю відвалився Redis. Добре, що це трапилося вже після того як [](https://t.me/Donate1024Bot)[@Donate1024](https://t.me/Donate1024Bot)Bot розіслав всім щоденні сповіщення. Довелося зайти і рестартанути його. Іншого разу ненадовго пропадали конекшени до постгресу. На роботу це не повпливало, але такі помилки вискакують у Sentry раз на кілька днів. З Heroku такого не було, там все працювало залізобетонно. ### На тому все Загалом я задоволений. Проте fly не можна назвати повноцінною заміною Heroku. Для того щоб з ним працювати, потрібно трохи розбиратися в девопсячих справах: як зробити Docker імедж, як користуватися CLI, бо тут немає клікопсу, як взагалі працюють сервери та мережа коли щось пішло не так. З Heroku проект підняти набагато простіше та швидше. Але про це згодом. ### Майндсет 🐗 кабанчика: скупість URL: https://www.rozhkov.me/boar-mindset-greed/ Last updated: 2022-11-19T14:36:05.000Z Cпілкуючись з будівельниками часто чую про неймовірну жадібність багатих клієнтів. В таких історіях ті всіма правдами і неправдами намагаються заплатити якомога менше, або не заплатити взагалі, затримують виплати, економлять на матеріалах. В місті звідки я родом, зараз всім керує один підприємець. В дев'яностих він почав з маленького кіоска, а зараз володіє купою виробництв та експортує свою продукцію по всьому світу. В тому містечку він має маєток. Як і пасує українському багатію—величезний палац з триметровим парканом, тенісним кортом, садом, сауною та всім таким іншим. Знаходиться цей маєток на околиці міста. Дорога перед територією добре заасфальтована. Але варто від'їхати від палаца на 100 метрів як починається мало не розбита грунтовка. Далі по місту полотно теж не дуже якісне. Ну, як всюди в провінції. Я маю родину в селі поряд і ми часто ходимо або проїжджаємо ту ділянку. І кожного разу я дивуюсь—чому б не зробити всю дорогу в місті доброю? Ти ж сам щодня (або щотижня) їздиш по ній, невже по приколу десятки років поспіль об'їжджати ті ями? Вартість ремонтних робіт—ніщо у порівнянні зі статками нашого кабанчика. Профіти—максимальні. Сам їдеш як король, та ще й маєш повагу жителів на багато років вперед, якщо дорога буде якісною та вчасно ремонтуватися. Чому ж наш ґазда цього не робить? Гадаю що одна з фундаментальних цінностей кабанчиків це "не бути лохом". Якщо ти зробиш дорогу в місті, нею будуть безкоштовно користуватися інші—значить ти лох, тому що хтось щось робить за твій кошт. Ба більше, в нашому випадку герой швидш за все в курсі корупційних оборудок та особисто знайомий з людьми з автодору, які крадуть гроші призначені на ремонт. Відповідно, якщо він вкладе свої гроші—буде двічі лохом, бо буде не тільки виправить недофінансування від держави, а ще й фактично допоможе крадіям вирішити їх проблеми з дірами в бюджеті. Всі кабанчики тому і кабанчики що не лохи. Розслабишся на секунду—тебе миттєво з'їдять. Тому вони патологічно скупі та не можуть собі дозволити зробити щось просто так, для суспільного блага. Ну і деруть три шкури з будівельників, бо не втрачають пильності. ### Перехвалив телеграм URL: https://www.rozhkov.me/telegram-downward-spiral/ Last updated: 2022-10-28T06:00:00.000Z Торік я [нахвалював якість](https://www.rozhkov.me/performance-first/), з якою зроблені клієнти телеграму. Минуло не так багато часу, і все зіпсувалось. Телеграм перестав нормально синхронізувати прочитані повідомлення на різних пристроях. Раніше все працювало моментально і чітко. Зараз я щодня стикаюсь з тим, що на телефоні в мене якісь канали відмічені як непрочитані хоча вони були прочитані на десктопі і навпаки. Страшенно дратує. Менюшка з новими емодзями сильно гальмує на моєму телефоні. Вони або не завантажуються взагалі, або надзвичайно повільно відкриваються. Навіть з тих трьох реакцій що зараз є на каналі, одна просто не завантажується. В цілому клієнт став повільніше працювати. Продуктові рішення надзвичайно сумнівні. Тисячі нових реакцій нікому не потрібні. Чим більше доступний асоритмент, тим більше когнітивних зусиль потрібно витратити людині щоб зробити вибір. В результаті ніхто не користується ними. Достатньо було наявних двох десятків реакцій та розмежуванням між преміум та не-преміум акаунтів між ними. Так, деякі чати мають свої набори (свинка\_джакузі, зсу і так далі), але по факту це зайве. Надзвичайно дратує що реакції постійно перетасовуються в менюшці. Розробники хотіли як краще і поставили на перші п'ять позицій ті реакції, які я застосовую частіше. Але через це порядок постійно міняється і я не можу знайти швидко потрібну реакцію, бо вона не на своєму місці. В результаті я ними не користуюсь взагалі. Та що там казати. Телеграм не здатний навіть вчасно відправити запланований пост. Замість 9:00 останні такі пости відправлялися о 9:01 або 9:02\. Мій власний сервіс публікації працює точніше та надійніше. Отак остання нормальна соцмережа стала деградувати. Повна ганьба. ### Оцінки URL: https://www.rozhkov.me/grades/ Last updated: 2022-10-26T08:20:21.000Z Нещодавно мав розмову з одним чоловіком який критикував успішність своїх дітей у школі. Мовляв, математики не розуміють, в люди не вийдуть. ### 1 Я згадав одну з своїх однокласниць. В школі та вчилась погано, реально була трохи туга і нічого не відстрілювала. Дозвілля проводила самознищуючись за допомогою цигарок та алкоголю з старшими хлопцями. Classic. Через 15 років після випускного, в супермаркеті «Континент» на Дмитрівській до мене по імені звернулась незнайома панянка. В одній руці вона тримала товсту книгу на англійській. Я ніяк не міг зрозуміти хто це така. Врешті вона представилась і то виявилась та сама однокласниця. Тільки тепер вона вже не двіжувала по вечірках, а працювала QA менеджером в інфопульсі, регулярно їздила у закордонні відрядження, впроваджувала передові методології тестування і взагалі активно професійно розвивалась. Зараз перевірив її лінкедін, кілька років тому вона переїхала до Німеччини, а потім і до штатів де ймовірно одружилась, бо змінила прізвище. Працює PMом в healthcare стартапі. Прийшла до успіху. ### 2 Інший мій однокласник теж не подавав великих надій у школі. Його батька застрелили на початку дев'яностих і мати залишилась одна з чотирма дітьми, сім'я сильно бідувала. Змалечка він з братом та ще одним моїм однокласником ходили на боротьбу. Займали якісь місця, а в школі регулярно давали мені тягла за просто так. Втім, в дрібний кримінал вони не пішли, хоча можливість мали. Тепер цей однокласник успішний підприємець та має свою базу чорного металу. Його брат не такий успішний—водій та охоронець у місцевого кабанчика. А третій пацан, який серед них вчився найкраще, зараз має іржавого бусика, їздить по селах та збирає метал щоб відвезти на базу першому. ### 3 Мій однокурсник, який не дуже тягнув навчання та (здається) одного разу кікнутий за завалену сесію, сьогодні сидить зі мною в коворкінгу. Тільки в той час як я самознищуюсь колупаючи yaml файли та сиджу на зум-звінках з приводу роадмапу на реструктуризацію yaml файлів, цей парубок сидить у мітингрумі та пітчить свій стартап, маркетплейс AI моделей, інвесторам. Піднімає seed раунд. ### Fin За допомогою демагогії та прийомів Selection & Confirmation Bias я щойно довів вам що погані оцінки у школі ніяк не корелюють з майбутнім успіхом дитини. Показуйте цей пост тим, хто вважає інакше. ### Життя поза світом клієнта URL: https://www.rozhkov.me/life-outside-of-client-space/ Last updated: 2022-10-24T10:45:57.000Z Я стежу за замагальною сценою Counter Strike, там скоро найголовніший чемпіонат року, Major. Для гравців компанія-розробник, Valve, робить беттінг прямо в грі. Працює це так: ти купуєш “квиток” а далі робиш ставки на ті команди які пройдуть до наступного етапу турніру. Всього 24 команди та три етапи. Задача гравця—вгадати максимальну кількість переможців. Винагорода—віртуальна монетка. Зветься забава «[Pick'Em Challenge](https://counterstrike.fandom.com/wiki/Pick%27Em%5FChallenge)». В українськомовному CSGO-ком'юніті є блогер, коментатор, журналіст та кіберспортивний аналітик Олександр Петрик. Торік він запускав телеграм бота для пікемів та розігрував призи. Цього року Петрик теж хоче зробити такого бота і опублікував у себе на каналі [оголошення про пошук програмістів](https://t.me/petr1ktv/1506). Потрібно за тиждень зробити аналог Pick'Em але свій, а зібрані гроші підуть на ЗСУ. Задача абсолютно реалістична і я можливо навіть би й взявся, але не готовий закоммітитись на таку роботу, бо маю свою. Проте мова не про це, а те що пишуть люди в коментарях. А в коментарях несеться цирк на дроті: люди питаються про ТЗ, пишуть що терміни нереальні, якийсь пан пропонує зібрати команду з двох фронтів, двох беків, девопса та аналітика, хтось з 10-и річним досвідом не може кодити але пропонує консультації з архітектури (sic!). На вогник завітав власник цілої аутсорс шхуни та запропонував свої послуги, повилазили фрілансери ”якщо буду потрібен пишить”. Останнім до трамваю забіг девопс який запропонував налаштувати кубернетес та JIRA. Всі ці люди чудово проілюстрували собою всю суть ресурсної аутсорс-економіки України: жоден з них не живе у світі клієнта. *Ну ок, пару адекватів все-таки було.* Очевидно що Петрику абсолютно нецікаві ні фронтенд з бекендом, ні кубер, ні джира, ні архітектура, ні написання ТЗ. Йому потрібен пікем. Всі хто цікавилися контрстрайком знають як воно виглядає і як працює. Ймовірно ще купа людей пішли до нього в дірект і можливо там були адекватні розробники, які вже як мінімум мали в голові базове рішення і задали уточнюючі питання. Але ми їх не побачили, тому застосовуємо узагальнення на основі часткових даних. Поки ви будете думати що «нєт тз—результат хз» та жити поза реальністю клієнта, то максимум на який можна розраховувати це гребля за 30$/h на дірявій шхуні, де боцман буде щоранку вказувати куди посунути кнопку. ### Чи влучить ракета у мій будинок? URL: https://www.rozhkov.me/will-missle-hit-my-house/ Last updated: 2022-10-19T08:27:24.000Z Придумав проект. Робимо мапу, юзер заходить на мапу, обирає точку і йому показується вірогідність що в цей будинок щось прилетить. Ймовірності рахуємо на підставі відстані від стратегічних об'єктів, як-то: військових частин, заводів, електростанцій, залізничних вузлів, мостів, складів, інших інфраструктурних об'єктів. Робимо поправку на влучання що вже були по цьому місту. Очевидно що по Києву шанси значно вищі ніж по моїм рідним Тернополю та Бучачу. Рахуємо, видаємо коефіцієнт! Також показуємо стату по різних засобах ураження: Калібр, Х-59, Х-101, Х-22, С-300, мопеди різних варіацій, гради, урагани, смерчі, ствольна арта, міномети і так далі, все лайно що пускає по нам русня. Можна піти далі—зробити хітмапу де жити безпечно а де небезпечно. Ріелторам та тимчасово переміщеним знадобиться! Проект би завірусився 100%. Монетизацію би робили через детальні звіти для тих самих ріелторів та верифіковану позначку «цей будинок розташований подалі від стратегічних об'єктів😎» Все класно? Все. Крім того що такий проект миттєво розкриває локації тих самих стратегічних об'єктів. Є такий сайт Wikimapia, там осінтери давно вже розмітили все що можна розмітити, в тому числі шахти стратегічних ядерних ракет, військові частини, аеродроми, підстанції, все-все-все по всьому світу. З початком повномасштабної війни сайт не працює upd: все [працює](https://en.wikipedia.org/wiki/Wikimapia). Я звісно розумію що кацапи працюють по своїм мапам які можна взяти ще з совєцьких часів і не сильно прогадати, але лишній раз розвідувальну інфу краще не давати. Тому, на жаль, проект реалізований не буде. Не ті часи. Але яка класна ідея, пра? P.S.: кому ссикотно від ядерної бімби прошу на сайт [Nukemap](https://nuclearsecrecy.com/nukemap/?&kt=800&lat=50.4444491&lng=30.5289567&hob%5Fpsi=5&hob%5Fft=9511&ff=50&psi=20,5,1&zm=11). Вибираєте точку, тип боєприпасу, робите БУМ і дивитеся в радіус чого попала ваша домівка. ### Нема сенсу старанно працювати URL: https://www.rozhkov.me/daily/clueless-overperforming/ Last updated: 2022-10-19T06:00:00.000Z *Це негативний пост, що написав два місяці тому коли мене різко зачепила тема мотивації. Врешті я так і не захотів його публікувати, бо зрікся фонтанувати негативом. Пост так і висів у чернетках, тому що містить цікаві ідеї. Прийшов і його час.* Вітаю, корпоративний кріпаче! Чи ти вже прокинувся, випив для бадьорості кави? Чи ти вже відбув цирк що зветься «дейлі стендап»? Чи ти вже перечитав куди вгатила кацапська наволоч вночі? Сьогодні у нас вільний переказ [The Gervais Principle](https://www.ribbonfarm.com/the-gervais-principle/), принцип динаміки організацій. Маю до тебе кілька питань. Чи працював ти колись в [овертайм](https://www.rozhkov.me/overtimes-are-bad/)? Чи жертвував власним часом заради того щоб пофіксити багу або зробити «красиве» рішення? Чи було таке що тобі не підвищували зарплатню, але ти не йшов геть бо «хороша команда» та «цікавий проект»? Чи ти колись переносив відпустку на прохання менеджера? Чи ти тімлід який отримав купу обов'язків за дрібні +500$? Якщо ти то все робив просто так, або за маленьку винагороду, то маю для тебе погані новини—ти Безглуздий. Будь-яка людина в здоровому глузді розуміє що найманому працівнику немає ніякого сенсу оверперформити. Він *уже* уклав погану угоду—обміняти свій час на копійки що платять за роботу. З раціональної точки зору найкраща стратегія—це робити той мінімум, щоб тебе не звільнили. Працювати якомога менше за якомога більшу зарплатню, і жити повноцінним життям поза роботою—це шлях Лузера. Якщо ж працівник видає більше результатів ніж від нього вимагається, то він, очевидно, Безглуздий, бо погіршує свої і так вже погані умови. Всім цим керує купка Соціопатів. У Лузерів є три шляхи—якщо вони починають надто старанно працювати, то Соціопати це помічають, та підвищують їх до менеджерів середньої ланки, тобто Безглуздих. У кожного був колега-хороший програміст який постійно сидів вечорами і врешті його робили тімлідом? Тепер крім того що він тягне всю команду, ще й має нести відповідальність за результат який видають інші. І все це або без підвищення гроші а бо за мізер! Другий шлях Лузера—це праюцвати *менше* ніж потрібно але при цьому залишатися в організації. Це потребує вже соціопатських навичок, таких як наприклад вміння присвоїти собі чужі результати, а тому таких Лузерів теж помічають і намагаються зробити з них Соціопатів. Третій шлях—це просто працювати на потрібному мінімумі. Такі Лузери залишаються Лузерами, їх не чіпають, вони спокійно живуть поза роботою. Вкупі принцип Джервейса звучить так: «Соціопати, переслідуючи свої цілі та інтереси, підвищують старанних Лузерів до менеджерів середньої ланки, вирощують з ледачих Лузерів нових Соціопатів, а тих Лузерів що працюють на потрібному мінімумі лишають напризволяще». Відповідно, життєвий цикл контори буде таким: «Соціопати винаймають Лузерів для реалізації своєї ідеї. Коли організація росте, то вона вимагає прошарок Безглуздих, щоб перетворити діяльність на контрольовану реакцію а не вибух. З часом, коли цінність та прибутки падають, Соціопати та Лузери виходять з організації, і Безглузді починають домінувати. Врешті-решт, пуста оболонка просто розвалюється». Свого часу я був Безглуздим менеджером і просто дивовижно наскільки точним є опис. Змарнувавши купу зусиль з часом я зрозумів що Соціопатом бути не можу та не хочу, тому звільнився і з того став мінімально-необхідно-перформлячим Лузером. Просто зайдіть на статистику ДОУ і порвняйте різницю у зп сеньора та тімліда або менеджера. Вона складає близько 10% в середньому. А тепер подумайте наскільки більше обов'язків та відповідальності має останній? Тож, друже мій, не гай даремно часу та [мерщій до тенісного столу](https://www.rozhkov.me/office-games/)! P.S.: заохочую вас прочитати [оригінальні статті](https://www.ribbonfarm.com/the-gervais-principle/) або хоча б [короткий конспект](https://www.nateliason.com/notes/gervais-principle-venkatesh-rao) тому що я зачепив лише частину. P.P.S.: з цими принципами мене познайомив мій колишній босс, Олег, передаю йому привіт😉 ### Чому не росте @Donate1024Bot? Частина 2 URL: https://www.rozhkov.me/daily/donate-1024-stagnation-reasons-pt-2/ Last updated: 2022-10-18T08:25:17.000Z ### 5\. У людей немає грошей Індустрія зараз на спаді, хтось витратився на переїзд до іншого міста, хтось накопичує жирок перед зимою, коротше кажучи люди рахують гроші не собі дозволяють зайвого. ### 6\. Людям байдуже Коли тільки кацапня з'їбалась з околиць Києва, то люди розслабили булки і чекають що розберуться і без них. Вони радіють перемогам на східному фронті, тиснуть ворога лайком та розважаються, а з війною якось само буде. ### 7\. Я зробив поганий продукт Але про те ніхто мені не сказав. ### Висновки Відсутність зростання ймовірно обумовлена комбінацією усіх перелічених факторів. Схоже що бот може зростати тільки зі мною. Зараз я просто конвертував 1% своєї аудиторії у “клієнтів”, буде рости аудиторія—буде рости і клієнтура. Притула або Лачен чому багато грошей збирають? Бо мають аудиторію. 1% небайдужих достатньо щоб закривати збори. Тому які би функції я не додавав, як би ретельно не перевіряв волонтерів, як би не видрочував дашборд та UX, нікому то не буде треба. Бо небайдужі люди і по реквізитам задонатять, а анальники триматимуть бакси і нікому їх не віддадуть навіть якщо в мене буде інтеграція з теронліфанс та метавсесвіт волонтерки. ### Мопеди vs будинки URL: https://www.rozhkov.me/shahed-vs-building/ Last updated: 2022-10-20T10:56:14.000Z На початку повномасштабної війни мене дуже непокоїло питання міцності будинку де я мешкаю. Це сталінка з бетонними перекриттями, моя квартира на останньому поверсі. Того тижня я відвідував Запоріжжя з діловим візитом (переговори з VC стосовно інвестицій в @Donate1024Bot) і мав нагоду наочно переконатися що трапляється зі сталінкою і яку влучає ракета. Вчора вранці вже прокинувся від звуку дзижчання мопеду, а потім і вибухів, бо епіцентр подій знаходиться досить близько до мене. Після перегляду результатів влучання мопеда з [30+](https://t.me/libertas%5Fjustitia%5Fveritas/5306) кг вибухівки на борту в царський будинок, питання по міцності мого остаточно відпали. Якщо не сидіти у підвалі то хана, мінус під'їзд із всіма хто всередині. Панельні будинки складаються тупо під'їздами, цегляні розсипаються, а от монолітно-каркасні стоять💪 Будинок на Лобановського, багатостраждальний будинок у Львівському кварталі, будинок в Одесі куди влучила ракета всі вціліли. Тому наступне житло треба шукати подалі від військових та інфраструктурних об'єктів, на нижніх поверхах, монолітно-каркасне. Якщо щось і влучить, то принаймні стіни будуть стояти. Ну ок, на Лобановського плита одна трохи посипалась і через це демонтували всі поверхи зверху, але це буквально едж кейс бо ракета прилетіла чітко в кут будинку. *Між іншим ракета протирадіолокаційна російська що летіла з боку Гостомелю в радар на Жулянах а не зенітна українська що збилась з курсу як люблять нахрюкнути*🐽 *кацапи та ті у кого не все так однозначно*🤡 P.S.: тепер звуки автівок, кавомашини та інше характерне дзижчання бентежать та вмикають в організмі повітряну тривогу. P.P.S.: як завжди, розумні люди за мене вже все розписали: [Як російські удари руйнують багато​поверхівки. Вісім прикладів з коментарями інженера-конструктора](https://texty.org.ua/projects/107604/yak-ros-udary-ruinuiut-budynky/). ### Чому не росте @Donate1024Bot? Частина 1 URL: https://www.rozhkov.me/daily/donate-1024-stagnation-reasons/ Last updated: 2022-10-18T08:24:40.000Z *Цей пост я написав півтора місяці тому у спробах проаналізувати чому бот не росте. Вийшло що я сам себе пожалів і звинуватив весь світ в тому що ботом не користуються. Згодом вирішив що не буду публікувати це, бо воно надто негативне. Але тут є деякі цікаві думки, тому хай буде.* Того тижня я зробив маркетинговий пуш. [Топік на ДОУ](https://dou.ua/forums/topic/39910/), [новина на AIN](https://ain.ua/2022/09/08/telegram-bot-dlya-donativ-na-armiyu/), [пост на LinkedIn](https://www.linkedin.com/posts/rozhok%5F%D0%BA%D1%80%D1%96%D0%BC-%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%B8%D1%85-%D0%B7%D0%B1%D0%BE%D1%80%D1%96%D0%B2-%D1%82%D0%B8%D0%BF%D1%83-%D0%BB%D1%96%D1%82%D0%B0%D1%87%D0%BA%D0%B0-%D0%BC%D1%96%D0%BD%D1%96-%D0%BF%D0%BF%D0%BE-activity-6973599114538151936-LDBB). Жоден з цих матеріалів не приніс результатів. На ДОУ відкоментила одна людина. Кількість переглядів мізерна, переходи на сайт можна порахувати на пальцях рук та ніг самовару путіна, нових користувачів додалося може з 50\. Повний провал. Чому так? Маю декілька гіпотез: ### 1\. Люди не довіряють нонейму з інтернету Перше питання що виникає у всіх: “а як ви переврите що не скам? а це точно чесні волонтери? точно-точно?” Коли справи стосуються грошей, які треба комусь віддати за так, будь-яка людина напружиться. От і виходить, що ті з вас хто мене давно знає, вірить, що я фільтрую збори нормально, або сам займається цим, і донатить. А зальотним козачкам навіть позначка “цей збір робиться волонтерами з якими я знайомий особисто” нічого не дасть, бо вони не знають першоджерело, тобто мене. Цю гіпотезу я чітко перевірив—того тижня було опублікований «верифікований» збір, і по ньому задонатило так само людей як і раніше. Сюди також попадає проблема коли людина ніби й готова віддати гроші, але не довіряє мені, а витрачати час на перевірку самостійно не бажає. Тік-ток чекає. ### 2\. Інфополе людей перенасичене донатами, ще одне джерело просто не влізає Я ретельно слідкую за інформаційною гігієною. В мене немає каналів які я не читаю, e-mail розсилок які мені не потрібні, чатів в яких я не приймаю участі, я не читаю стрічки твітеру і фейсбуку, та не дивлюся тікток і ютуб. Підозрюю що так як я робить небагато людей. Десятки тисяч непрочитаних в телеграмі, тисячі листів які ніколи не дочекаються свого часу—це стандартна тема для більшості людей. Тому та проблема, яку я вирішував для себе—системний донат щодня, неактуальна для всіх інших. У людей вже стрічки забиті зборами, їм не потрібен бот. ### 3\. Я не досягаю цільової аудиторії Мій ideal customer profile це людина зі статками від 5000$, яка готова віддати 20% своєго заробітку на благодійність. Я сам сумлінно щодня користуюсь своїм ботом, але мої “клієнти” або мене не читають, або вже кудись донатять, або не довіряють мені і не хочуть витрачати час на перевірку волонтерів самостійно, або ### 4\. Більшість людей які мають гроші але не донатять—програмісти-анальники та зрадойоби Тобто люди які “[тримають какашку](https://en.wikipedia.org/wiki/Anal%5Fretentiveness)”, скирдують гроші і не хочуть ділитися. Мотивація в них або “зараз війна, незрозуміло що завтра буде”, або вони вважають що держава має забезпечувати армію всім, або “я цій здиржаві нічого не винен, розберуться без мене, відкрийте кордони”. Якщо ви зайдете на ДОУ, то таких пасажирів там лічити-не-перелічити. Я не буду зараз аргументувати чому я вважаю що це неправильно, просто скажу що таких людей я зневажаю і з такою позицією не погоджуюсь. Цей контингент складає “темну матерію“, бо поза зрадойобськими топіками про дозвіл виїзду за кордон практично ніде не відсвічують. ### Новини @Donate1024Bot: перший мільйон💪, звіти🧾, новий алгоритм🧑‍🔬 URL: https://www.rozhkov.me/donate1024-news-first-millon-reports/ Last updated: 2022-10-17T06:00:00.000Z [@Donate1024Bot](https://t.me/Donate1024Bot)—це бот для нагадування про щоденні донати на ЗСУ. Кожного дня вранці він надсилає збір та посилання на монобанку. Я зробив бота щоб не забувати донатити та мати нову ціль щодня. Новий день—новий збір. Підключайтесь → [@Donate1024Bot](https://t.me/Donate1024Bot)! ### Перший мільйон🥳 Можна абсолютно впевнено сказати що через бот вже було зібрано більше мільйона гривень. Я порахував це по статистиці монобанок. Чудовий результат! Дякую всім, хто регулярно робить внески. ### Звіти Якщо ви підключені до бота то вам вже приходило кілька звітів по зборам. На днях я доробив цю функцію та додав їх і на сайт також: . Більшість зборів які ми публікуємо, досить великі і закриваються довго, тому звітів небагато, але сподіваюсь що буде більше! ### Зміна алгоритму Користувачі присилають в бот лінки на збори. Я при нагоді їх переглядаю та схвалюю. Було: щодня бот обирав рандомний збір серед підтверджених. Через це деяким зборам “не щастило” і вони так і не були опубліковані, незважаючи на те що були давно схвалені. Причина цього в динамічному розмірі черги, тому що вона постійно наповнюється. Того тижня я перестав додавати нові збори і дочекався поки збори не закічаться. Стало: щодня бот бере найстаріший підтверджений збір. Якщо я додав збір—значить він точно рано чи пізно опублікується, немає сенсу у рандомі. Тому зараз збори публікуються в порядку додавання їх у чергу. Я буду аппрувити збори маленькими батчами по 7+ штук на тиждень вперед. Так у нас буде підтримуватися актуальність і збори не будуть висіти. Звичайно що бажаючих додати свій збір значно більше ніж є доступних слотів. Я додаю збір якщо він задовольняє наступним критеріям: є лінк на соцмережу яка не блокує незалогінених юзерів, є опис кому що і навіщо треба, є монобанка. Таким чином функція рандому перекладається на мене, тому що я не буду набирати зборів на місяць вперед а потім чекати поки вони всі опублікуються, бо втрачається актуальність. ### Double-spending problem😐 Один з користувачів відправив один і той самий збір багато разів. Я це прогледів і ствердив два з них бо не мав unique constraint для адреси монобанки. Перша публікація була півтора місяці тому, а друга тиждень тому. Раніше я сам собі придумав правило згідно якому збір може бути опублікований тільки один раз, але тут прогледів. Звісно гроші підуть на добру справу, але осад залишився. Тому незабаром додам constraint та буду уважнішим. ### Перформенс оптимізації🚀 Зробив багато покращень у коді боту та сайту щоб він працював швидше і їв менше ресурсів. Детальніше тут: [Перформенс оптимізації @Donate1024Bot](https://www.rozhkov.me/donate1024-performance-optimizations/). ### Закриті збори Ми успішно закрили три-чотири збори. Частина з них мала суму меншу ніж потужність аудиторії. Хоча я вже три рази обіцяв щось з цим зробити🤦‍♂️, поки що обмежувався лише тим що видаляв збори де сума була менше 30 тисяч. Планую зробити запобіжник щоб збір, в якого сума до закриття на 20% менше, ніж середня потужність за останній тиждень, не публікувались🤷‍♂️. ### Середній чек падає📉 Ще два тижні тому щодня стабільно збирали 40 тисяч. Зараз ця сума впала до 35😕. Тому підключайтеся! Я планую активності щоб залучити більше аудиторії, бо після [останнього маркетингового пушу](https://www.rozhkov.me/donate-1024-news-marketing-push-personal-thanks/) бот більше не зростав. Кількість користувачів які бачать повідомлення валандається в районі 650 людей. ### На тому все Підключайте бот якщо не підключили і долучайтеся до мене у марафоні щоденних донатів! ### Відсутність переконань URL: https://www.rozhkov.me/daily/absent-position/ Last updated: 2022-10-17T06:00:00.000Z *Друга чернетка. Рефлексія над подіями півторарічної давності.* Є в мене по деяким питанням чіткі переконання. Наприклад, що Rails—то найкращий веб-фреймворк, мікросервіси не потрібні, а сучасна інфраструктура—переускладнена і має бути простою. Або що речі, особливо техніку, треба намагатися купувати такі, що були у [вжитку](https://www.rozhkov.me/fox-and-grape/). Ці переконання йдуть зсередини. Я знаю що так правильно, можу пояснити свою позицію будь-кому, я в цьому не сумніваюсь. А є питання по яким в мене немає думки. Яким має бути ринок землі? Чи має бути в людей дозвіл на зброю? Чи потрібен лігалайз? По цим питанням я не дуже маю шо відповісти, бо я не аграрій, не любитель постріляти і не вживаю речовини. Тут маю спиратися на думку інших, людей, можливо знайомих, можливо якихось моральних компасів та авторитетів. Але всі ці переконання, вони нав'язані ззовні, і в бесіді або інших ситуаціях я не можу відстоювати цю точку зору щиро, так, ніби це мої думки. Завжди всередині є хробачок сумніву, який точить і каже «а ти точно так вважаєш?». Тому коли я починаю щось робити пов'язане з цим, то виходить погано і фальшиво. Неодноразово потрапляв в чужий двіж, коли опинявся по якийсь бік без твердого переконання в тому що це правильний бік, і що ми робимо правильні речі. Завжди це закінчувалось не дуже, бо брехня та нещирість рано чи пізно вилазить. Тому, перед тим як вписуватися кудись, добре думаю чи воно мені потрібно. ### Комерційна імпотенція URL: https://www.rozhkov.me/daily/commerce-impotence/ Last updated: 2022-10-16T06:00:00.000Z *Перший пост з купки неопублікованих чернеток. Висів давно, видалити шкода, публікувати в головний канал не хочеться, тому хай буде тут.* Я знаю що можу писати непогані тексти. Десь гірше десь краще, але загалом люди трохи читають, коментують, ставлять лайки, значить ринок мій продукт споживає, валідація є. Вміти писати—це потужна сила та перевага. Наприклад відомий в інтернетах чувак [patio11](https://www.kalzumeus.com/), програміст, який свого часу написав топовий матеріал [«Salary Negotiation»](https://www.kalzumeus.com/2012/01/23/salary-negotiation/), серйозно займається саме контент маркетингом і вважає що це маст-хев скіл для CEO стартапів. Я би з задоволенням писав на замовлення, виріс до головного редактора, заснував би власну аґенцію і видавав би Rozhok Journal. По грошам то теж непогано виходило, бо якщо брати фіксед прайс за сттаю, то рейт міг би бути як мінімум не нижчим за програмістський. В технічних компаніях хороший контент маркетинг на вагу золота, а людей які є хорошими інженерами і можуть добре писати дуже мало. На отаких «перетинах» якраз і зростають кар'єри та проекти. Але є проблема—не можу писати про те що мені по-справжньому не цікаво, або не йде зсередини. Бляха, це реальна проблема, навіть коли треба то не можу. Для однієї компанії треба було писати блог пости, я знаю що можу то добре, але не можу писати комерцію. Наобіцяв що «зараз все буде», але за кілька років спромігся зробити тільки пару постів по тому, над чим працював сам. Втім один з них попав у топ 3 видачі гугла по long tail кейворду що я вважаю серйозним успіхом. Тому доводиться марнувати талант на оповідання про те, що відбувається у коворкінгу. P.S.: в коротку твітерну форму я взагалі не можу та й не подобається воно мені, хоча вже зрозумів що треба писати треди. P.P.S.: я ще й з задоволенням [виступаю](https://www.youtube.com/watch?v=oH5YKPdbvGQ&list=PL9tqPYOK0bHsk0D937gh0rqwNfLLdfDlO&index=1), але стати деврелом походу зможу тільки у власному стартапі. ### Увага URL: https://www.rozhkov.me/attention/ Last updated: 2022-10-14T10:20:17.000Z Останнім часом багато розмірковую про те як привернути та захопити увагу людей. З появою смартфонів найкращі мізки планети думають над тим же, як примусити людей віддавати більше уваги їх продуктам. Для цього вони не гребують експлуатувати вразливості нашої психіки та особливості роботи мозку. В звичайній бесіді з товаришом у вас немає ніяких шансів проти смартфону. Що ви можете протиставити вікну у безмежжя найкращих розваг у всесвіті? Зараз надзвичайно складно зацікавити людей. Ніхто не буде читати текст якщо він довший ніж 140 символів та потребує хоч якихось зусиль для усвідомлення. Ніхто не буде дивитися відео якщо це не тікток формат. Ніхто не буде підписуватися, переходити по лінкам, тиснути кнопки. Особливо під час війни. Все що поза війною нікому не всралося. Соціальні медіа щодня бомбардують людей такою кількістю інформації, що там просто немає місця. Можна вирватися тільки якщо робиш щось екстраординарне, або максимально пристосовуєшся до нових форматів—коротше, ще коротше, максимально коротко, максимально клікбейтно, максимально зрозуміло, щоб повідомлення зайшло в людину як поролоновий чізбургер з макдаку. Хто ці правила розуміє, приймає та починає застосовувати на свою користь, той опановує хвилю. Хто цькує суспільство за деградацію—залишається маргіналом на узбіччі трафіку. ### Upsale URL: https://www.rozhkov.me/upsale-razor/ Last updated: 2022-10-14T10:21:26.000Z Того тижня купував на подарунок Т-подібний станок для гоління. Мав настрій прогулятися, тому пішов на Поділ у фізичний магазин. Приходжу, показую продавчині модель яку обрав, та приносить, розпаковуємо, дивимося, все ок, “термінал є?”, “є!”, проплатив, пішов. Вийшов і відразу подумав: а вона ж нічого не спробувала мені продати! Для гоління, як і для всякої справи є ціла купа принад та розхідників. Леза, помазки, чаші, мила, креми, лосьони, всього й не перелічити. В магазині того добра були повні вітрини. І продавчиня навіть не спробувала мені нічого з того запропонувати! Може я й виглядаю не надто багатим, але станок брав достатньо дорогий, з верхньої цінової категорії. Можливо вас дратує “що будете пити” у фаст-фуді коли ви не збираєтеся нічого брати пити, але цим питанням касирів спеціально навчають—тому що вони підвищують продажі. Вже не вперше зустрічаю продавців які навіть не намагаються продати щось зверху. Чому так—ненавченість персоналу, немотивованість, мені неясно, але шкода того власника, в кого працюють такі люди. ### Перформенс оптимізації @Donate1024Bot URL: https://www.rozhkov.me/donate1024-performance-optimizations/ Last updated: 2022-10-12T08:03:53.000Z Того тижня на обіді колега топ-донатер поскаржився що хотів подивитися на графік наповнення монобанки, але він не намалювався. Ось—. Я знав що використовується неоптимальне рішення для зберігання даних, але поки зборів було мало, то це не було помітним а зараз вилізло, тому я вирішив це виправити. Перша проблема: я зберігав дуже багато зайвих даних. Монобанки скрапились щоп'ятнадцять хвилин. На кожну банку зберігався датапоїнт з відміткою коли він був зроблений та сумою. Таким чином кількість точок росла лінійно від часу та наявних зборів. Друга проблема: головна сторінка при завантаженні відображала всі монобанки зі всіма графіками. Третя проблема: графіки малювалися за весь період збору даних. Якщо збір додали місяць тому, то для побудови графіку збиралися всі точки взагалі. Тобто, головна завантажувала взагалі все і фактично робився фулл скан таблиці з точками. Почав з першого. Тут все виявилося досить простим. Спочатку я змінив інтервал апдейтів банок з 15 хв на 30 хв. Потім, замість того щоб писати кожну точку, я дивився—якщо значення банки не змінилося, то я просто оновлював дату попередньої точки. Таким чином якщо збір стоїть, то я не марную місце на однакові точкі. Після того написав джобу яка пройде по всім банкам та видалить зайві точки. Було 150 000 точок, після прогону скрипта залишилося 5 000\. Це одне вже дуже суттєво пришвидшило роботу сайту. Другу задачу я теж вирішив просто. Замість того щоб синхронно малювати всі графіки я зробив так, щоб вони завантажувались коли стають видимими для користувача. Тобто якщо юзер недоскроллив до зборів, то нічого й не буде обчислюватися. На Rails це робиться без жодного рядка JS, просто загортаєте графік у т.з. [turbo-frame](https://turbo.hotwired.dev/reference/frames) і він сам подбає про те щоб зробити запит на бекенд та замінити ним відповідний шматочок HTML на сторінці. Третю проблему я ніяк не вирішив і залишив все як є. Коли кількість точок радикально скоротилась, то запити стали відпрацьовувати значно швидше. Тому я відклав це на наступні місяці і зараз просто відображаю графік монобанки за весь період коли збиралися дані. В результаті p0.99 знизився з 1000 мс до 500 мс та пропали всі піки більше 1с, коли запит попадав на холодний кеш. P.S.: [fly.io](https://fly.io/) додали графану з графіками по cpu/ram та http response time/codes для всіх сервісів тому там наочно видно що стало краще. Дуже крута фіча, не треба нічого самому конфігурити. Я би вам показав картинку але зась. ### Крипта для донатів URL: https://www.rozhkov.me/crypto-for-donations/ Last updated: 2022-10-11T09:15:34.000Z *Ракети не летять, значить можна постити!* Як відомо, за десяток років існування блокчейнів, бітків і тд ніхто не спромігся віднайти реальне застосування цьому всьому окрім як спекуляцій. Що таке web3.0 ніхто пояснити не може, UX використання крипти досі залишається недосяжним для масового користувача і по факту всі ці технології цікаві тільки купці ентузіастів з діскорд чату та ділкам з дарквебу. Але мені спав на думку прикольний кейс для zero-trust донатів. Робимо смарт-контракт згідно якому всі бабки які заходять на нього, акумулюються а коли назбиралась достатня сума то це все автоматично йде в оплату за товар постачальнику. Склад замовлення теж якось прив'язується до смарт контракту. А в адресі доставки—номер військової частини чи щось таке. Організатор збору не може мати ніякого доступу до грошей, не може ні зняти їх, ні передати на інші цілі. Прикольно? Прикольно. Тільки на практиці все одно маємо оракула у вигляді постачальника. Але чисто як концепція цікаво. Швидш за все вже хтось таке зробив. P.S.: якщо серед читачів є працівники web3.0 індустрії напишіть що там і як, чи відновився ринок, чи є робота, які зараз тренди. ### Проста оптимізація використання пам'яті з jemalloc URL: https://www.rozhkov.me/zero-cost-memory-consumption-improvement-with-jemalloc/ Last updated: 2022-10-10T06:15:00.000Z Один з найпростіших способів оптимізувати використання пам'яті програмою є використання [jemalloc](http://jemalloc.net/)—альтернативної імплементації `malloc`. `malloc`—це стандартна функція виділення пам'яті в С. Вона використовується всередині [MRI](https://en.wikipedia.org/wiki/Ruby%5FMRI) та інтерпретаторів інших мов. Використання `jemalloc` прозоре—підміняється імплементація функції і програми працюють як і раніше, не підозрюючи що пам'ять тепер використовується більш ефективно. Поверхневі деталі імплементації ви можете почитати на [StackOverflow](https://stackoverflow.com/a/1624744/1434854), там ж є посилання на більш детальні пояснення. Цей метод згадується практично у всіх гайдах по оптимізації Rails-додатків. Коли я тільки зробив [donate1024](https://donate1024.org/) то розмістив його на серверах з 256 мегабайтами пам'яті. З часом коли функцій та користувачів додалось, почав спрацьовувати [oom killer](https://www.kernel.org/doc/gorman/html/understand/understand016.html). Тоді я видав серверу ще 256 мегабайт і забув про проблему. Нещодавно я займався перформерс оптимізаціями проекту і згадав про `jemalloc`. Навіщо платити більше? Тому я швиденько знайшов як додати його в Alpine Linux який в мене використовується як базовий образ, все зробив і задеплоїв: ``` FROM ruby:3.1.2-alpine AS jemalloc_builder RUN apk add build-base ARG JEMALLOC_VERSION=5.3.0 RUN wget -O - https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2 | tar -xj && \ cd jemalloc-${JEMALLOC_VERSION} && \ ./configure && \ make && \ make install FROM ruby:3.1.2-alpine COPY --from=jemalloc_builder /usr/local/lib/libjemalloc.so.2 /usr/local/lib/ ENV LD_PRELOAD=/usr/local/lib/libjemalloc.so.2 ``` Для Alpine потрібно компілювати лібу, бо готовий пакет з якихось причин [перестали підтримувати](https://github.com/jemalloc/jemalloc/issues/1443). В результаті використання пам'яті знизилось з \~230 мегабайт до \~180 чого вистачає для того щоб апка спокійно жила на інстансі з 256 мегабайтами. Таку ж оптимізацію я зробив для проекта [adopt.ua](https://www.adopt.ua/) де ефект був ще кращим: з \~270 мегабайт до \~170. Для інших інтерпретаторів цей трюк по ідеї теж має працювати. Шукайте рішення для своєї платформи. ### Дзвінки URL: https://www.rozhkov.me/calls/ Last updated: 2022-10-07T06:15:00.000Z Крім того що ми всерйоз обговорюємо ядерну війну, дивовижно та ганебно що в 2022 досі не винайшли надійного способу організувати аудіо та відео конференції. Будь-який дзвінок супроводжується відлунням бо кілька людей знаходяться в одній кімнаті і хтось не на м'юті, жахливою якістю звуку, бо досі не навчилися робити нормальні мікрофони, фоновим шумом бо шумодав то складна задача, абсолютно паскудною якістю відео через [крихітні матриці вебкамер](https://vsevolod.net/good-webcams/), затримками, обривами, та іншими артефактами. Організтор зум дзвінку не прийшов, тому ніхто не може пошарити екран бо немає прав. — ”Can you hear me?” — ”Can you see my screen?” 👆На кожній нараді. Компанія, яка віднайде спосіб подолати ці всі проблеми на конс'юмерському обладнанні, озолотиться. Так, є припарки типу [krisp](https://krisp.ai/), але вони не стали мейнстрімом. Хтось повинен присвятити життя покращенню якості дзвінків. ### Легке прощання з грішми URL: https://www.rozhkov.me/easy-money-spending/ Last updated: 2022-10-06T08:10:42.000Z Як був малим то постійно скирдував гроші. Наскирдоване витрачалось на лего, інші іграшки та дитячу фантастику типу російських фанфіків на «Трансформерів». Про ті гроші знали друзі та знайомі, тому у мене часто позичали. Нажаль негативний образ успішного кредитора з книги «Республіка ШКІД» міцно засів у мене в голові, тому я не давав гроші під проценти, а варто було, зараз би вже по-любе мав геліка. Повертали гроші ±нормально, але були і нюанси. Останній борг у розмірі \~40 гривень що я дав у 2004 році, я так і не побачив. Уже коли трохи підріс, то мав трохи халепи з боргами про які доводилося нагадувати по півроку хоча брали «на місяць». З часом через практику до мене прийшло усвідомлення—**якщо люди бачать що ти легко віддаєш гроші, то вони буде намагатися витягнути з тебе якомога більше**. Як тільки людина розуміє що для тебе не є проблемою переказати на картку, наприклад 10к грн, то вона починає цим користуватися, а потім і підвищувати ставки. Тому зараз я дотримуюсь наступних правил: 1. **Не показую що легко прощаюсь з грішми**. Навіть якщо ціна підходить, не треба з понтом діставати котлету та питати “а чо так дешево”. 2. **Не показую що легко можу передавати гроші**. Якщо навіть на картці є 100к, а просять 3к, то кажу, “ок, завтра перекажу бо зараз немаю”. 3. **Відмовляю дати в борг ще раз, якщо вже зробив помилку та дав гроші ненадійній людині**. “Зараз немає можливості позичити”, навіть якщо така можливість є. Нічого не пояснювати, та не піддаватися на благання. Немає і крапка. Потребує деяких зусиль, особливо у маминих синків, які все життя на все погоджувались. Завершу стандартною мудрістю “давайте в борг без очікування що його вам повернуть”. P.S.: ну і звичайно нікому та ніколи не варто з порогу казати що ви працюєте в ІТ. ### Корисна реклама URL: https://www.rozhkov.me/useful-advertising/ Last updated: 2022-09-23T08:11:13.000Z 99% реклами це сміття яке не приносить мені ніякої користі. Але є і корисна реклама. Наприклад, я купую музику на сайті [Bandcamp](https://bandcamp.com/). Під час покупки ти автоматично підписуєшся на маркетингові листи та оновлення артисту або лейблу. Інформація, яку мені присилатимуть потому, зазвичай це анонс нового релізу, у більшості випадків мені цікава. Якщо я купив альбом [Пертурбатора](https://perturbator.bandcamp.com/), то ймовірно що мене зацікавлять і його нові речі, або пов'язані сайд-проекти. В багатьох випадках я роблю покупку до якої спонукав маркетинговий лист. Шкода що такої, «корисної», реклами дуже мало. Я хотів ще щось крім Bandcamp придумати і не зміг, бо крім того більше ніяких покупок не роблю. P.S.: Олімпіадники в гуглі думають що якщо я колись шукав шурупокрут то мені тепер усюди на всіх девайсах його треба показувати, але ж воно так не працює. P.P.S.: Про шурупокрут на всіх девайсах то жарт, в мене uBlock, відключена персоналізація усюди де можна відключити і я регулярно скидую ad uuid. ### Walled garden платформи URL: https://www.rozhkov.me/walled-garden-platforms-are-bad/ Last updated: 2022-09-21T06:15:00.000Z Харить коли скидують тобі лінк на поста у фейсбуці. А він не відкривається. Або відкривається але показує попап на пів-сторінки. Або коментів до нього не подивишся. Або ще якась фігня. І відео не зберегти. Скидують тобі лінк на картинку в інстаграмі. А там те саме, ба гірше—якщо скролиш трохи вниз то тебе редіректить на сторінку логіну. Рефреш не допомагає, чисти печиво і заходь знову. Скидують тобі лінк на твіт. А там те саме що й в інстаграмі—на профіль неможливо перейти бо перекидує на сторінку логіну. Шукаєш ти щось в інтернеті. А інтернет пошуковики дуже люблять Quora чомусь. Хоча в Quora 90% відповідей це корпоративний спам. Фаундер українсько-ізраїльської контори Lemon навіть написав статтю [як спам в Quora допомагав їм знаходити клієнтів](https://volodarik.com/blog/quora-has-generated-for-us-at-least-1m-gmv-for-2-years/). Так от, Quora теж потребує логін. Просто так не подивишся шо там пишуть. Всюди логін, всюди закрито. Автоматизація теж складна. Щоб зробити бота у фейсбуці потрібно зробити детальний опис що воно таке, записати відео(!) яким чином працює твій бот або апка і відправити то на рев'ю у фейсбук. Ти не можеш навіть просто так запостити пост на свою сторінку. Те саме з інстаграмом та іншими помийками (я зараз не кажу через інтеграцю з фб через треті системи типу [Buffer](https://buffer.com/)). З одного боку я розумію що такі контори намагаються сховати найцінніше що в них є, а з іншого воно все надзвичайно дратує. Монополісти забрали інтернет і тепер ще й закривають до нього доступ усіма можливими і неможливими засобами. При цьому для пошуковиків вони цей доступ дають. Наприклад, кмітливі рекрутери знають як обходити обмеження LinkedIn щоб знайти профіль кандидата. А найгірше що ти не володієш своїми даними, і тебе можуть звідти викинути без пояснень тому що спрацював якийсь ML алгоритм, розроблений олімпіадником з Бангалору. Повна дистопія. Мої контент та аудиторія в телеграмі теж належить не мені а Дурову. Якщо завтра тг вирішть показувати всім алгострічки то я все втрачу. Єдине що можна зробити це завести користувачів на власну платформу. Всі мої записи тут дублюються в блог який я селф-хощу. Тому можете пройти на [https://www.rozhkov.me](https://www.rozhkov.me/) та підписатися, тоді ми точно не втратимо зв'язок. Поки тг живий то я не роблю e-mail розсилок, але починаю думати у цьому напрямку для форм які не влізають в тг: великі матеріали з картинками. P.S.:🙏Дякую пану Олексію Лісовому за потужні донати на проект [@FreeAnimals\_Ukraine](https://t.me/FreeAnimals%5FUkraine) а також за нагадування про багу з непрацюючими підписками. ### Вогники на панелі URL: https://www.rozhkov.me/burning-engine-check/ Last updated: 2022-09-20T06:15:00.000Z Останнім часом доводиться багато користуватися таксі, ну і катаюсь на всіляких різноманітних автівках. В половині випадків на панелі буде горіти чек. В мене є легкий ОКР щодо сповіщень, різних там червонястих крапочок у програмах і тому подібних речей які стимулюють наше ADHD. Тому нотифікації у мене вимкнені, [інбокс пустий](https://www.rozhkov.me/empty-inbox/), даремно нічого не блимає, не дзенькає і не нагадує про своє існування. А коли вже щось горить у авто, то це значить що терміново треба йти до механіка і з'ясовувати в чому справа. То не жарти—сьогодні в тебе загорівся чек, а завтра ти встав десь посеред поля ~~і піймав болванку~~. Тому як сідаю в чужу машину, і бачу там чек, то мене трохи сіпає. Ніби прийшов у гості, а там сантехніка протікає, сміття не винесли, господиня має діряві шкарпетки а господар небритий, немитий і в пошарпаній футболці. Дратує. P.S.: на [жориній](https://www.rozhkov.me/daliy-rozhok-4/) дев'ятці горять 4 чеки з 6. ### Новини @Donate1024Bot: перший закритий збір, нові рекорди, кнопки з сумами, посилання для шарингу в соцмережах URL: https://www.rozhkov.me/donate-1024-news-buttons-social-images/ Last updated: 2022-09-19T09:20:35.000Z 🇺🇦✙Доброго ранку!✙🇺🇦 Робота над [@Donate1024Bot](https://t.me/Donate1024Bot) невпинно продовжується👨‍💻 ### ✅Більше верифікованих зборів В боті стало більше зборів від людей, яких я знаю особисто. Сподіваюсь, що це підвищить довіру та збільшить суму донатів. ### Перший закритий збір💪 Вчора ми вперше закрили збір через бот! Я недогледів що на монобанці на момент публікації залишалось близько 12 000 грн і вони заїхали буквально за півгодини😅 Ми раніше обговорювали з користувачами таку проблему, але я тоді вирішив нічого не робити, бо таких зборів не було. Вчора я не став надсилати новий збір а лишив все як є. В майбутньому такий кейс будемо опрацьовувати. ### 🏆Новий рекорд!🏆 На [термухи для ССО «Азов Київ»](https://t.me/kapelan%5Fit/103) зібрали **40 000 гривень**❤️‍🔥! Дякую всім хто зробив внесок! Незабаром буде звіт. ### 1️⃣0️⃣2️⃣4️⃣Кнопки з сумами донатів В бот та на сайт для зручності додав кнопки з готовим коментарем «donate1024» та сумами 256, 512 і 1024 грн. ### 📋Окрема сторінка збору на [сайті](https://donate1024.org/?utm%5Fsource=blog) Кожен збір отримав власну сторінку, наприклад, [Збір на пікап для підрозділа на Донецькому напрямку](https://donate1024.org/posts/114?utm%5Fsource=blog). Зараз там те саме що й на списку зборів+опис. Для кожного збору автоматично генерується og-картинка щоб привертати більше уваги в соцмережах. Приклад картинки дивіться в коментарях. Яку ще інфу варто туди додати крім назви? ### ✍️Результати публікації на ДОУ Цієї суботи ДОУ опублікували у себе на телеграмі [лінк](https://t.me/dou%5Feditors/2918) на мій [пост про бота](https://dou.ua/forums/topic/39910/). Орієнтовно по цьому каналу прийшло 88(🍉) користувачів які зробили 17 донатів. Дякую ДОУ за публікацію! ### На тому все Не зупиняймося, та допомагаймо ✙армії✙ робити [смерть москалям🐷🐶](https://www.youtube.com/watch?v=0YCmjyRtNEc)! ### Спротив × розвиток URL: https://www.rozhkov.me/resistance-growth/ Last updated: 2022-09-16T09:53:58.000Z Минулого тижня зробив [маркетинговий пуш](https://www.rozhkov.me/donate-1024-news-marketing-push-personal-thanks/) [@Donate1024Bot](https://t.me/Donate1024Bot). Вкрай погані результати цієї вправи мене засмутили, і я сів розмірковувати над тим, що ж не так. Результатом стала величезна стаття де я перелічив 7 причин, чому аудиторія боту не росте. Вона мала вийти сьогодні. Але поміркувавши над проблемою у дорозі з коворкінгу, я згадав вислів мудреця, який часто любить цитувати дружина: **«не шукайте виправдання та відмовки, шукайте можливості»**. Що я вмію робити найкраще? Писати код. Що я люблю робити? Писати код. Що перше мені спадає на думку коли потрібно вирішити задачу? Написати код. А що потрібно робити щоб аудиторія проекту росла? Займатися маркетингом. Що я робив натомість? Додавав нові функції—тобто писав код. Що я зробив замість того щоб спрямувати зусилля на маркетинг? Написав статтю чому я цього робити не хочу. Тому що займатися маркетингом *неприємно*. Потрібно писати якісь матеріали, *просити* редакторів видань та адмінів каналів опублікувати ці матеріали, потрібно думати де взяти клієнтів у надзвичайно перенасиченому інфополі. А це складно, це виходить у мене погано, я чиню опір та не хочу цим займатися. А там, де є спротив, завжди чекає потенціал для росту☝️ P.S.: на даний момент я витратив на розробку бота вже 45 годин чистого часу. Це надзвичайно багато, враховуючи що на комерційні проекти займають не більше 100 годин на місяць. Зараз мене мотивує розуміння що через бота задонатили по найконсервативнішим оцінкам вже 400000₴, тобто я попрацював за рейтом \~200$/h що є дуже добрим показником, тому 🫡не планую зупинятися. ### Ілюстрації для блогу—робота для DALL·E URL: https://www.rozhkov.me/dall-e-for-blog-illustrations/ Last updated: 2022-09-15T19:27:41.000Z Відомо що люди охочіше читають блоги якщо вони ілюстровані. Саме зображення при цьому не дуже важливе, головне щоб було хоч щось. *Пруфи пропоную пошукати читачам самостійно.* Тому коли я переїхав на [Ghost](https://ghost.org/), то почав додавати до усіх постів картинки, завдяки тому що там є зручна інтеграція з [Unsplash](https://unsplash.com/images). Натиснув кнопку→знайшов потрібну картинку→натиснув ще раз→готово. Телеграм обмежує довжину тексту для картинок—1024 символи проти 4096 для посту без картинки, тому ті хто читають мене через телеграм, нічого не бачать. *Я знаю про хак з вставкою картинки через невидимий символ нерозривного пробілу, але воно виглядає погано.* *Також можна дивитися на довжину посту і якщо він короткий—відправляти його в телеграм як картинку, а якщо довгий—то без. Але мені то не хочеться робити.* Але мова не про інтеграції, а власне про самі картинки. В мене немає труднощів з тим, щоб придумати, що саме має бути зображене на ілюстрації. Проблема це знайти. Unsplash ±впорується з цим завданням, але з ним є нюанси. По-перше, не один я такий розумний, весь світ користується стоковими картинками. По деяким кейвордам видає не так багато результатів, наприклад «дівчина за лептопом», і є велика ймовірність, що в когось буде така ж картинка. Як читаю якийсь блог то відразу бачу що там стокові картинки. По-друге, стокові картинки це не круто. Як є можливість зробити щось своє—краще робити своє, воно автентичніше, навіть якщо якість буде гіршою ніж у професійсних фото. По-третє, для деяких текстів нічого нормального не знайдеш і доводиться брати шопопало. По-четверте, Ghost вставляє картинки на сайт через API Unsplash і там є трекінг, тому якщо API пропаде, то картинки зникнуть, а якщо ви у шапочці з фольги, то теж нічого не побачите. Not good. По-п'яте, блог стає генерним, втрачає індивідуальність. Для мене це важливо. Мав декілька ідей, як виправити цю ситуацію: Брати картини художників минулих сторіч які перейшли у public domain. Наприклад, є [архів нідерландського музею мистецтв](https://www.rijksmuseum.nl/en/search?f=1&p=4&ps=12&st=Objects&ii=2) в якому зберігаються тисячі картин. Але вони не протегані (кому таке потрібно?) і щоб відшукати там потрібне, доведеться витратити багато часу. Інший варіант—просто постити рандомну картину. Плюс—в блога буде індивідуальність, мінус—зображення будуть мало відповідати вмісту. Друга ідея була в тому щоб замовляти ілюстрації у художника. Я якось навіть познайомився з такою панянкою і вже мав її наувазі, але до реалізації не дійшов. Тоді і стиль би був однаковий, і ілюстрації влучні та унікальні. Топ, тільки довелося б чималенькі гроші платити. Деякі блогери замовляють ілюстрації, або роблять самі якщо вистачає вмінь. Це круто. Отак я прокрастинував між цими двома ідеями, продовжуючи користуватися бездушним фотостоком, аже поки не побачив статтю [How I Used DALL·E 2 to Generate The Logo for OctoSQL](https://jacobmartins.com/posts/how-i-used-dalle2-to-generate-the-logo-for-octosql/) де автор детально описує процес генерації лого для свого продукту за допомогою нейромереж. Ось воно! Нейромережа здатна буквально з нічого зробити малюнок на мій запит, наприклад «селяни у полі схилилися над лептопами», або «блогер-жебрак кладе сердечко у бляшанку», або «офісний працівник таємно підслуховує розмову у сусідньому кабінеті, в розрізі». Безмежні можливості! Для чого, як не для цього тисячі машин лернінг інженерів витратили сотні людино-років на збір датасету та тренування моделей? Як тільки доступ подешевшає, будемо тестувати. upd: через кілька днів після того як я написав пост, хтось вже застосував це на практиці: [«I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned»](https://deephaven.io/blog/2022/08/08/AI-generated-blog-thumbnails/) upd2: люди підказують що вже є [Stable Diffusion](https://github.com/CompVis/stable-diffusion) який генерує картини не гірше ніж DALL·E але на локалхості. ### Страх URL: https://www.rozhkov.me/double-spend-fear/ Last updated: 2022-09-14T06:15:00.000Z Є у мене один давній страх: що код який безспосередньо взаємодіє з користувачем, наприклад відправлення повідомлення через бот, зациклиться і почне надсилати тисячі однакових повідомлень. Тому у всіх таких місцях я обкладаюсь транзакціями, локами, роблю так щоб результат виконання операції зберігався та гаратовано виконувався не більше 1 разу і так далі. Вчора писав код який відправляє щодня подяки користувачам [@Donate1024Bot](https://t.me/Donate1024Bot): ```ruby def perform Lock.find_by(key: "gratitude").with_lock do next if Gratitude.where(is_sent: true).exists?(["date(updated_at) = date(?)", DateTime.now.utc]) Gratitude.where(is_sent: false).first&.send_to_users end end ``` Але страх все одно не відпускає. Кожного разу очкую що якийсь крон завтра спрацює не та як треба і юзерам прилетить одне й те саме декілька разів, або прилетить не тим юзерам шо треба а всім, або ще якась халепа трапиться. Характерно, що халепа досі не траплялась. Експерти по психоаналізу можуть розібрати цю фобію у коментах👇 Експерти по паралельному програмуванню можуть знайти помилку в коді🧐 ### “Колеги, ви щось забагато теревените” URL: https://www.rozhkov.me/too-much-talking/ Last updated: 2022-09-13T11:10:22.000Z На одній з попередніх робот у київському офісі не було «боса», менеджера який би мав підтримувати порядок та дисципліну. Тільки рядові кріпаки. Все керувалося віддалено. То були ще благословенні доковідні часи. Для комунікації ми використовували Slack який тоді тільки почав набирати популярність. Ну працюємо і працюємо, я колупаю Netflix OSS, дата саєнс скрапить сайти, UX малює вайрфрейми. Процес іде, контора пише. Через декілька місяців приходить нам від СТО лист такого змісту: ”Колеги, згідно статистики слаку, 60% усієї комунікації припадає на приватні повідомлення. Давайте не забувати шо говорити то не мішки тягати, будемо більше працювати і менше молоти язиком.” Ми звичайно посміялися з того. Жарти жартами, але пам'ятаєте історію про кацапську контору xsolla, яка [звільнила частину працівників](https://dou.ua/forums/topic/34342/) бо ті не сиділи достатньо часу у джирі? Тоді всі глузували з «російського менджменту», але управління за допомогою KPI то заповітна мрія корпоративних управлінців. В xsolla було самопальне рішення та «біг дата команда» яка його розробляла, але вже [з'являються стартапи](https://adadot.com/) які під соусом «measure developer happiness» продають вам [аналітику](https://www.echoeshq.com/) по тому, наскільки «ефективно» працюють кріпаки: робочі години, кільксть комітів, мердж реквестів, закритих тікетів, емейлів, та повідомлень у слак. Питання часу, коли нас почнуть звільняти за те, що не заенгейжені так як треба. P.S.: Найбільше шкоди нашій продуктивності завдав не слак, і не відсутність наглядача на місці, а вибір [Java/DynamoDB/React в якості стека](https://www.rozhkov.me/startup-swamp/) для того, що мало бути сайтом на вордпресі. ### Новини @Donate1024Bot: маркетинговий пуш та подяки за донати URL: https://www.rozhkov.me/donate-1024-news-marketing-push-personal-thanks/ Last updated: 2022-09-12T08:04:18.000Z Того тижня працювалось погано, бо сидів у твітері, телеграмі та на мапі діпстейту, слідкуючи за успіхами наших 🇺🇦✙військових✙🇺🇦. Але декілька оноволень я все-таки зробив. ### Маркетинг✍️ Зробив маркетинговий пуш👊: [топік на ДОУ](https://dou.ua/forums/topic/39910/), [новина на AIN](https://ain.ua/2022/09/08/telegram-bot-dlya-donativ-na-armiyu/), [пост на LinkedIn](https://www.linkedin.com/posts/rozhok%5F%D0%BA%D1%80%D1%96%D0%BC-%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%B8%D1%85-%D0%B7%D0%B1%D0%BE%D1%80%D1%96%D0%B2-%D1%82%D0%B8%D0%BF%D1%83-%D0%BB%D1%96%D1%82%D0%B0%D1%87%D0%BA%D0%B0-%D0%BC%D1%96%D0%BD%D1%96-%D0%BF%D0%BF%D0%BE-activity-6973599114538151936-LDBB). На жаль, жоден з цих матеріалів не приніс серйозних результатів. На ДОУ відкоментила одна людина. Кількість переглядів матеріалів просто мізерна, переходи на сайт можна порахувати на пальцях рук та ніг самовара путіна, нових користувачів додалося може з 50\. Схоже що найефективнішим виявився лінкедін. Втім, середня сума донатів досить сильно зросла, майже в 2 рази, до 30 000 гривень на день! Подивимося, чи цей тренд збережеться. Буду вдячний за комент до будь-якого посту🙏 ДОУ обіцяв ще пропушити бота у себе на каналі, чекаю на свою чергу👀 ### Подяки від волонтерів🤝 Деякі волонтери побачили що від спільноти бота пішли серйозні кошти та написали свої подяки. Всі, хто донатив на відповідні збори, незабаром отримають подяку 🫶 ### Прогрес по донатам💪 Бот буде відмічати ваш прогрес по кількості донатів на деяких проміжках (спойлер: ступені двійки). Можливо згодом зробимо ачівки. ### На тому все Не зупиняймося, та допомагаймо ✙армії✙ робити смерть москалям🐷🐶! ### Їжа в судочках URL: https://www.rozhkov.me/food-in-containers/ Last updated: 2022-09-09T10:27:18.000Z *Поки* 🇺🇦✙*ЗСУ*✙🇺🇦 *бронетанковим кулаком жене кацапню геть з Харківської області, я трішки зачіплю тему [доларизації часу](https://radreads.co/10k-work/).* Коли був малим, в 90-х, то мама щокілька днів готувала батьку на роботу банячок борщу, друге, компот. Я в школу брав бутерброда зробленого з батону, масла та помідора. Смак дитинства! Ковбаса та сир тоді була нечастим гостем. Блаженні часи! Ні війни не було, ні смартфонів. Тільки бандити зрідка стрілялися на розборках і шпана ґонорово ходила на стріли. Fast forward 15 років, як вже почав працювати сам, то носив собі їжу в судочках. Всі носили їжу в судочках. Доставки ще не були такими популярними і якщо ти працював далеко від їдалень, то крім судочку в тебе було дві опції: або сидіти голодним, або йти в магазин поряд і купувати там кефір з батоном. Під час обіду офісом вирували апетитні аромати, що розквітали у повну силу в мікрохвильовці та активно подразнювали рецептори кріпаків. По комплектації зразу було видно в кого в сім'ї добре їдять та люблять готувати, а в кого не дуже. Я бічував макаронами з салатиком. Інший колега хизувався хлібом з хлібопічки. Заможні кріпаки носили кілька судочків з різноманітними стравами. Їжу я завше викладав на тарілку бо шкрябати вилкою по пластику то якесь деграданство. Після поглинання їжі, судочок, тарілка та ложка мились. І так щодня. А буває таке що той контейнер десь протече і наробить халепи у рюкзаку. Або забудеш десь його і він запліснявіє. Miserable experience насправді. В іншій конторі в мене був колега-зожник, який носив не один судочок, а п'ять, їв по графіку усілякі корисні трави та парові котлетки. Зараз він пересів на carnivore-дієту і споживає два здоровенні стейки на добу, вранці та ввечері, а до офіса взагалі не ходить. Судочки пішли у минуле, дієта спрацювала. Тим часом я вже й забув коли носив з собою їжу. Ото почав до офіса ходити і мені якось навіть не спадає на думку щось собі приготувати. Поряд є купа закладів харчування. Доставки я принципово не замовляю, бо це судочки на максималках, фу. Вийдеш до міста і все що хочеш є: постсовєцька біч-їдальня з для джунів, пузатка або діннерс для мідлів, салатерія для сеньйорів, нормальний ресторан для тімлідів або менеджерів, «Аляска» та «Catch» для власників [дорогих авто](https://www.rozhkov.me/fox-and-grape/). Судочки вже ніхто не носить. Це стало ознакою злиднів. «Ти шо гониш хавку носити? Шо, грошей нема?». Тому я здивувався коли побачив що сусід по коворкінгу дістає з сумки пластикову коробочку та йде на кухню. Певне якийсь бідняк. Що він тут забув? Я подумки посміявся та пішов рахувати витрати на ресторани. Якщо взяти середній щоденний чек у 200 гривень, поділити його на 40 гривень та помножити на 20 днів, то вийде що в місяць кріпак буде витрачати 100 доларів на обіди. Якщо взяти середню зарплату сеньора в 5000$ то вийде що то лише 2% від його зп. Якщо харчуватися по-багатому то буде ну ок, 4%. Але то економить нашому сеньору мінімум півгодини часу, що, якщо перерахувати на погодинну ставку буде рівнятися десь 15$ або 600₴. Тобто судочок обходитиметься дорожче в три рази(!), і це не рахуючи когнітивного навантаження на клопотів пов'язаних з транспортуванням. Так що коли побачите злидаря з судочком—женіть його геть, насміхайтесь над ним. P.S.: я знаю що мене читають успішні інвестори, які замість того щоб купивати обід у школі, вкладали гроші в ETF і коли вони стали дорослими то вже вийшли на FIRE, оминувши сумну кріпацьку долю. Пропоную вам виконати самостійну вправу та порахувати ROI від носіння їжі в судочках. P.P.S.: до тих хто живе з батьками і кому готує мама або тато, претензій нема, ви—королі життя! ### Конструктивна критика URL: https://www.rozhkov.me/constructive-criticism/ Last updated: 2022-09-08T17:19:58.000Z Найбільше критики та зауважень щодо [@Donate1024Bot](https://t.me/Donate1024Bot) я отримав від людей, які не зробили жодного донату або навіть не відкрили бот. На сьогодні у мене все, а тепер давайте повертатися до моніторингу успіхів ЗСУ на Харківщині🇺🇦🇺🇦🇺🇦 ### Сатира, іронія, сарказм URL: https://www.rozhkov.me/satire-irony-sarcasm/ Last updated: 2022-09-07T08:51:26.000Z *На фоні подій що відбуваються прямо зараз та надзвичайно високої концентрації* 🇺🇦*перемогіуму*🇺🇦 *у інфопросторі пост звичайно фігня, але най буде. Слава нації! Смерть ворогам!* Надзвичайно розчарований тим, що мало людей викупають мою сатиру та сарказм. Воно деякою мірою логічно—коли в людини сотні каналів, ютуб, тікток, твітер, фейсбук і всі ці корпорації годують її відбірним лайном, то немає часу розбиратися. Пост викликає емоцію? Негайно дати відповідь, немає часу читати та намагатися зрозуміти що саме мав наувазі автор. Мій улюблений пост про [гелік](https://www.rozhkov.me/daily/g-klasse/) ніхто не розуміє. Хоч там і написано великими буквами, що «гелік»—то не машина, то алюзія на владу та гроші, в коменти залітають автолюбителі які починають щось затирати про двигуни, комфорт та характеристики. Публіка не бачить за деревами лісу. Від поста про [еміграцію](https://www.rozhkov.me/choose-emigration-choose-safety/) теж в людей запалало, хоча я не розумію як можна всерйоз спримати фрази типу *«Вибери безліч заборон та обмежень на все навколо. Вибери сортування сміття. Вибери мігрантські квартали»*. Ну тобто, якась частка правди в тому є, але ж будь-якому адеквату зрозуміло що не можна просто так порівнювати круасан за 10€ у Парижі та Києві, тому що є безліч інших факторів і у будь-якій країні є свої трейд-офи, але я ці трейдофи знаю та обираю Україну, а пост написав умисно стереотипний. Посміялись та й пішли собі далі. Те саме з [кислим виноградом](https://www.rozhkov.me/fox-and-grape/). Суть, яку я намагався довести вловили одиниці, натомість знову прибігли автолюбителі яким не сподобалось порше, мешканці провінційних міст і робочих околиць, любителі китаєфонів, і разом з іншими ображеними кинулися захищати свій вибір і сперечатися з тезами, яких немає у меседжі. Звинуватили мене у консумеризмі та ще бо-зна чому, порвались, дізлайкнули, відписались. І ок, якби це були просто зальотні незнайомці, але ж ніби коментять підписники які вже давно мене читають. На старому прости Г-ди, хабрі раніше була така тема, коло коменту писати «табличка сарказм», щоб люди явно зрозуміли що автор жартує. Я завжди від цього крінжував, бо мені здавалося що сатиру, іронію, сарказм і так чітко видно, але ось на власному досвіді переконався що це не так. Може її й видно якщо наблизитися, але ніхто розбиратися не буде. Часу немає, тік-ток чекає. Поганий з мене гуморист. Краще запускати проекти🚀 та писати про них. Потрібно зростати на позитиві а не [негативі](https://www.rozhkov.me/daily/negative-articles/). ### Репутація URL: https://www.rozhkov.me/reputation/ Last updated: 2022-09-06T20:05:09.000Z Зараз активно читаю та перечитую [блог](https://jakobgreenfeld.com/articles/) про підприємницьку діяльність (я ж підприємець!). В одному з матеріалів автор зауважив, що алгоритмічна стрічка твітера піднімає «треди» та опускає твіти з посиланнями, щоб люди якомога більше часу проводили у твітері, а не поза ним. Відповідно, щоб стати популярним, треба писати треди. Мені то ніколи не спадало на думку, бо я принципово уникаю користування алгоритмічними стрічками, чи то твітер, чи ютуб, чи музика, натомість надаючи перевагу хронологічному порядку. Якщо ви заходили на [мій акаунт](https://twitter.com/xrozhokx), то бачили, що там я публікую посилання на статті у блозі з невеликим коментарем. Та як твітер не розвиваю, бо мені не подобається тамтешній формат, то не сильно непокоюсь з того що маю мало підписників. Але після прочитання матеріалу вирішив—а чого б і не спробувати, і не перетворити свої пости у «треди», раз твітер їх піднімає, хай аудиторія йде і звідти, бо останнім часом все сильно стагнує. В якості першого такого «треду» вирішив взяти недавній пост про [любов до України та КВЕД 62.01](https://www.rozhkov.me/choose-emigration-choose-safety/). Опублікував, його лайкнули 2.5 людини, та й потому. Аж вчора вранці відкриваю браузер і бачу що в мене купа нотифікашок. Перевіряю—той тред репостнув якийсь чувак з псом на аватарці на 10к підписників і прокоментував його так, ніби сприйняв все абсолютно серйозно. Далі понеслися коментарі від інших людей, запалали сраки, і схоже що ніхто не викупив що мій пост—сатира. В реплаях знайшлась дівчина UX яку я колись взяв на першу роботу, а зараз вона вже солідний продакт в [Projector Institute](https://prjctr.com/). Воно би ніби й нічого, коли ти нікнейм з котом на аватарці який щітпостить, але мені не потрібно щоб моє ім'я асоціювалось у людей зі словами “довбойоб” або “додіслав” (sic!). Коли продаєш щось людям, а я продаю—бота, блог, пет-проекти, то погана репутація шкодить бізнесу. Люди не будуть розбиратися хто я, просто в них у пам'яті десь відкладеться прапорець, що отой-то—колись десь зашкварився. В реплаях знайшовся чувак який вирішив мене захистити, типу я дивний, але в Києві сидів коли русня тут стояла, волонтерив і взагалі молодець, не треба мене кібербулити. Але то все пофіг. Пояснюю як це працює—сьогодні тебе репостить з коментарем “подивіться на додіка” твітер аккаунт на 10к людей, а завтра один з його підписників який випадково це побачив, не запросить тебе виступити на конференцію, не покличе на інтерв'ю, не погодиться на співпрацю. Звісно я трошки гіперболізую, але воно десь так і є. От мені донесли конструктивну критику що [дашборд](https://donate1024.org/?ref=blog) бота виглядає костурбато, дизайн поганий, а схожий проект має кращий дизайн. Уявімо що я вирішив зайнятися дизайном, та пішов до своєї екс-колеги. А вона згадає твіт і така “та ну його зв'язуватися з ним”. Або люди не захочуть користуватися [@Donate1024Bot](https://t.me/Donate1024Bot) тому що десь їм здалося що я херню сказав. Одні збитки а профітів ніяких. Врешті я зважив репутаційні ризики, та написав тому чуваку що те все сатира, і не треба на складних щах сприймати тейки про «вибери мультикультуралізм та високі податки», а він взяв та видалив свій квот-твіт, хоча я про це не просив, на тому історія і скінчилась. А про те що люди мою сатиру не викупають і починають рватися в коментах навіть тут, я завтра напишу. ### Новини @Donate1024Bot: 📈графіки наповнення монобанок та дельта URL: https://www.rozhkov.me/donate-1024-news-charts-and-delta/ Last updated: 2022-09-13T14:05:20.000Z 🇺🇦Доброго ранку!🇺🇦 Чергова порція оновлень👇 ### Графіки монобанок По всім монобанкам тепер окрім статистики «у моменті» збирається статистика за період. Один із способів визначити скільки людей донатять через бота—це взяти суму на банці до публікації та якраз перед наступною публікацією, зазвичай це доба. Я розробив цю функцію і тепер впевнено можу сказати що транзакції зроблені в день публікації можна атрибувати до бота. Для наочності зробив візуалізацію на [дашборді](https://donate1024.org/?utm%5Fsource=blog). Синя частина графіку—це заповненість банки до публікації в боті та після публікації в боті. Жовтий—в період між публікаціями. Таким чином ви можете чітко побачити зростання балансу банки відразу ж після того як пост з'являється у боті. ### Дельта Маючи історичні дані по банкам я можу сказати скільки було зроблено донатів через бот. Потрібно просто взяти суму в банці на момент наступною публікації та на початок і отримати різницю. Цю різницю я назвав «Δ» і вона тепер відображається в боті та на дашборді. Маючи дельту та кількість користувачів які натиснули кнопку «готово» можна зробити висновки про середній розмір донату. Історичні дані свідчать про те що банки стоять до та після публікації. Ви можете самі переконатися у цьому, наочно, подвивишись на графіки. Тому я роблю припущення що всі гроші які надійшли на банку в момент публікації збору, були зроблені завдяки боту і на цій підставі порахувати суму надходжень. Також по графіку видно коли з банки знімали гроші. Я думав що так не можна, а виявляється що можна. Цей едж-кейс наразі я не оброблюю і рахую дельту до першої точки після якої зняли гроші. ### Вихідні На вихідних бот не турбуватиме вас вранці, а відправить збір о 12 дня. Ця штука працює давно, але я забув про неї написати. ### Кнопка «Дашборд» Додав кнопку з посиланням на дашборд до картки збору у боті. Не всі читають канал і дивляться новини. ### Експерименти Мені б хотілося підвищити конверсію, щоб люди більше донатили. Але нажаль для якихось продуктових експериментів занадто мало даних. Наприклад того тижня бот показував тільки збори з монобанками, але схоже що це ніяк не вплинуло на конверсію. В мене є багато гіпотез, наприклад «люди охочіше будуть закривати збори» або «чим менше тексту тим охочіше задонатять» або «моно користується більшим попитом ніж приват» проте для перевірки просто немає людей. Ще телеграм не дає можливість зрозуміти чи переглянув користувач повідомлення тому я навіть не знаю кількості реальних переглядів і рахую просто відправку. ### Конверсія Я зробив для себе теплову карту донатів по якій видно що найбільше грошей приносить 5% користувачів які донатять стабільно. Інші 95% людей роблять один-два донати та відписуються. [Power law](https://en.wikipedia.org/wiki/Power%5Flaw) на практиці. Незабаром додам її на дашборд. Нажаль, конверсія падає. Незважаючи на зростання користувацької бази, донатить ±30 людей. ### На тому все Підключайте собі [@Donate1024Bot](https://donate1024.org/?utm%5Fsource=blog) та приєднуйтесь до мене у марафоні щоденних донатів по 1024 гривні! ### Лояльність × Зона комфорту URL: https://www.rozhkov.me/loyalty-and-comfort-zone/ Last updated: 2022-09-02T06:15:00.000Z Днями зустрів у їдальні БЦ екс-колегу з першої роботи. Я подумав що з дуже високою ймовірністю вона досі працює в тій самій конторі, бо їх офіс теж знаходиться в цьому БЦ. Після обіду перевірив по лінкедіну, так і є—пані працює там само з 2008\. Тобто вже **14** років. Я чомусь думав що вона давно релокувалась, бо релокація це стандартний етап еволюції весларя в тій компанії. Спочатку ти студент і шуруєш вилкою унітаз, потім потроху ростеш, потім їдеш у відрядження, потім можливо на тимчасову релокацію на кілька років, потім стаєш менеджером, потім ще відрядження і врешті якщо ти достатньо впертий то релокуєшся вже з кінцями. Бажано до Штатів, а не до якогось гадючнику типу Гватемали. Тому ще дивніше було зустріти її тут під час війти. Альо, всі жінки поїхали до Європи щоб ракета на голову не впала, ти чому досі тут? У термінах концепції корпоративної динаміки що зветься [«Gervais Principle»](https://www.ribbonfarm.com/the-gervais-principle/), така лояльність а також належність до класу менеджерів середньої ланки зветься Cluelessness, тобто «Безглуздість». Така людина формує у собі збочене почуття лояльності до контори коли очевидно що контора не лояльна до неї. Працює за менші ніж на ринку гроші, готова поступатися власними інтересами заради інтересів компанії і так далі. Рецепт виховання таких людей назвичайно простий: берете студента, пудрите йому мізки корпоративним булшитом, обіцяєте потужну кар'єру та сорочку менеджера, змушуєте працювати його з технологіями які непотрібні на ринку. Пара років—бум—у вас готовий безглуздий, що працює за копійки, не має волі змінити роботу, та готовий овертаймити щосуботи. Звучить безглуздо? Ви просто не уявляєте, *скільки* людей готові сидіти таким чином у зоні комфорту. Я сам такий був, я знаю. ### Кислий виноград URL: https://www.rozhkov.me/fox-and-grape/ Last updated: 2022-09-05T17:04:12.000Z Характерною рисою бідних людей є раціоналізація власної бідності. Наприклад йдеш по вулиці і бачиш пані на порше. Грошей на порше в тебе немає і навряд колись буде, тому вмикається механізм раціоналізації: «Та той порше жере 30 літрів, нашо воно треба?» «Машина це просто засіб переміщення з точки А в точку Б. Мій кіа ріо нічим не гірший!» «Та то панянка заробила не власним коштом а їй подарували за красиві очі!» «Та то вона в кредит купила а сама бідкається!» «Хаха порше, буде більше часу стояти на СТО!» «Пф, жебрачка, на [гелік](https://www.rozhkov.me/daily/g-klasse/) не вистачило!» І так далі. Всі ці історії що айфон це оверпрайс, битий американець нічим не гірший за нове авто з салону, в топовому ресторані готують ті самі шеф-кухарі що й в шаурмі через дорогу, в центрі жити незручно бо постійний двіж та ніде паркуватися, і так далі, і так далі. Хто як може, намагається виправдати свою лінь, безталанність, невдачу. Так от, пані та панове, це все—[кислий виноград](https://uk.wikipedia.org/wiki/%D0%9B%D0%B8%D1%81%D0%B8%D1%86%D1%8F%5F%D1%96%5F%D0%B2%D0%B8%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D0%B4). А ви—лисиця яка не може скуштувати смачненького, а тому переконує сама себе та оточуючих у тому, що виноград зелений і не дуже його й хочеться. Пропоную негайно це усвідомити та припинити брехати cобі й іншим, натомість старанніше працювати щоб наступного разу вже самому сидіти в тому порші, і не в Києві, а в Маямі. Порше краще за шкоду. Хата в центрі або маєток за містом краще ніж бабусин хрущ на Борщазі. Айфон краще за хуавей. Багатим бути краще ніж «розумним» бідняком. Такі справи. P.S.: на [півміри](https://www.rozhkov.me/half-measure/) теж ні в якому разі не можна погоджуватися. ### Мікрооптимізації vs читаємість URL: https://www.rozhkov.me/microoptimizations-vs-readability/ Last updated: 2022-08-31T09:28:35.000Z [Бот для управління чатом](https://www.rozhkov.me/telegram-status-bot/) зроблений на Ruby on Rails. Для визначення команди використовується наступна конструкція: `if command.downcase == "!ban"` `.downcase` тому що раніше на телефоні мав клавіатуру яка після знаку оклика піднімала регістр. Зараз вже не така, але регістро-незалежний код залишився. У всіх Rails проектах для підтримання порядку використовую лінтер [Rubocop](https://rubocop.org/). Крім форматування він ще підказуває ідіоматичні речі та перформенс проблеми. І от після чергового [регулярного апдейту пакетів](https://www.rozhkov.me/rotting-software-update/) я проганяю рубокоп, а він мені і каже: ``` app/models/moderator_bot.rb:42:8: C: [Correctable] Performance/Casecmp: Use command.casecmp("!ban").zero? instead of command.downcase == "!ban". if command.downcase == "!ban" ^^^^^^^^^^^^^^^^^^^^^^^^^^ ``` Ну я такий думаю ок, зроблю `rubocop -A`, хай автоматом підставить те що треба. Зробив, забув. Нещодавно додавав ще одну команду, дивлюся на той код, а він мені не подобається. Ну от уявіть, замість простого і всім зрозумілого `downcase` та `==` я тепер бачу сішне `casecmp` а потім ще й `zero?`. Треба пам'ятати що є така функція яка порівнює рядки, і якщо вони співпадають, то вона вертає 0, а якщо не співпадають, то щось відмінне від 0, можливо 1, а можливо і -1. Я вирішив що так діла не буде, і треба викинути гидку сішну конструкцію. Та стало цікаво, звідки взагалі взялося це правило. Пішов на [документацію](https://docs.rubocop.org/rubocop-performance/cops%5Fperformance.html#performancecasecmp), там є посилання на гітхаб з бенчмарками та результатами замірів. Різниця між `==` та `casecmp` у нас [така](https://github.com/fastruby/fast-ruby#stringcasecmp-vs--stringcasecmp-vs-stringdowncase---code): ``` Comparison: String#casecmp: 6948231.0 i/s String#downcase + ==: 5017089.5 i/s - 1.38x (± 0.00) slower String#casecmp?: 3686650.7 i/s - 1.88x (± 0.00) slower ``` Тобто «оптимізоване» порівняння рядків буде аж на 40% швидше! Ніби непогано! Але сама операція при цьому займає 200 *нано*секунд! ~~Тих порівняннь у мене по коду п'ять штук далі.~~ З одного боку я розумію що от з таких 50 наносекунд різниці тут і там, потім складається повільний веб, але не у моєму випадку тільки в базу сходити буде коштувати десяток мілісекунд. Вони б ще туди інтрінсіки запхали, їй-б-гу. Викинув те правило та повернув все на `==`. Чого і вам бажаю. *upd: Уважний читач Ігор Є. помітив, що замість «п'яти порівнянь далі по коду» можна зробити extract variable. І хоча пост не зовсім про це, а більше про читаємість, маю зізнатися що тут я дав маху. Зовісм глупий став.* ### Істинна мотивація URL: https://www.rozhkov.me/true-motivation/ Last updated: 2022-08-30T11:40:27.000Z Торік написав пост [«Як прокидатися рано?»](https://www.rozhkov.me/daily/how-to-wake-up-early/). В мене тоді була якась цікава задача, я був заряджений на перемогу і мені не потрібно було себе «примушувати» прокидатися щоб розпочати роботу. Задача закінчилась, мотивація повернулась на попередній навколонульовий рівень—працювати аби з голоду не померти. Під час розробки [@Donate1024Bot](https://t.me/Donate1024Bot) я знову відчув що таке справжня внутрішня мотивація. Перші декілька днів коли в мене ще не було крону, я робив розсилку вручну. Вже о 8 ранку я підривався і ледве примушував себе поспати ще годинку. В наступні дні я швидко біг до комп'ютера та дивився чи немає помилок у Sentry. Потім придумував що б ще такого зробити, статистика, монобанки, дашборд, оце все. Воно *моє*. Мені не потрібен менеджер який би мене шпиняв, не потрібен будильник, не потрібні спеціальні вправи або техніки щоб почати щось робити, не потрібні помідоро таймери, списки списків та фокус-програми. Ну ок, все-таки короткий список задач я веду у паперовому блокноті. Я просто сідав і робив. Наймана робота не зможе забезпечити такий рівень мотивації. Тому кожен менеджер, який незадоволений посередніми результатами команди, шукає способи як замотивувати людей. Але тільки дурень буде вестись на байки про «працювати у нашій компанії велика честь» та «кар'єрні перспективи». Нажаль, таких дурнів є в достатку, я й сам таким був. В чому секрет успішних кабанчиків? П'ять звичок багатіїв, сім способів доводити справи до кінця, топ три поради від фаундера єдинорога? Все це туфта. Секрет один—успішний кабанчик має багато причин прокидатися рано і працювати на повну. Кабанчик успішний не тому що він рано встає або медитує. Ранній підйом це *не причина* а *наслідок* його успішності. Що ви там, вже загримувались та готові до виступу у цирку під назвою дейлі стендап🤡? ### Новини @Donate1024Bot: дашборд та «пауза» на тиждень URL: https://www.rozhkov.me/donate-1024-news-dashboards-suspend/ Last updated: 2022-09-13T14:05:39.000Z 🇺🇦Привіт усім!🇺🇦 Дякую активним донатерам, ви—найкращі❤️‍🔥! Згідно статистики монобанок наша потужність точно складає близько 10 000₴. Я думаю того тижня ми зробили непоганий внесок. Продовжуємо далі! ### Дашборд Я розробив сторінку на якій відображаються основні базові метрики боту: кількість підписників, кількість зроблених донатів, загальна приблизна сума задоначених грошей, кількість опублікованих зборів та конверсія—відсоток людей які відмітилися що задонатили: 👉 [https://donate1024.org/](https://donate1024.org/?utm%5Fsource=blog) 👈 Також там можна переглянути всі вже опубліковані збори та їх статистику. ### «Не турбуйте мене наступні 7 днів» Додав кнопку яка поставить бот на паузу на наступні 7 днів. Буває таке що зараз не до донатів, а блокувати бота або відписуватися не хочеться—бо потім забудеш. Якщо ви не донатите але хочете щоб вам нагадали про це пізніше—сміливо тисніть кнопку. ### Дрібнички Поправив UI кнопок, тепер зелена відмітка буде з'являтися тільки якщо ви натиснули кнопку «готово». Статистика монобанок буде автоматично оновлюватися у вашому повідомленні, і якщо ви задонатили то відразу, або з невеликою затримкою побачите зміну прогресу. ### На тому все! Підключайте собі [@Donate1024Bot](https://t.me/Donate1024Bot), та долучайтеся до мене у марафоні щоденного донату в розмірі 1024 гривні на потребі армії! ### Мережа у fly.io URL: https://www.rozhkov.me/fly-io-networking/ Last updated: 2022-08-27T17:13:16.000Z Всі ваші сервери знаходяться всередині приватної IPv6 мережі. Всі регіони зв'язані у одну мережу, а гнучкий DNS дозволяє вам резолвити імена типу `top.nearest.of..internal`, який автоматично підбере вам найближчий інстанс. Втім мені воно не потрібно, в мене всі апки живуть у Франкфурті. Крім того доступно ще багато регіонів, навідміну від Heroku, у якого їх всього два. За необхідності, кожен процес вашої апки (вебсервер і тд) може отримати зовнішній проксі-сервер щоб до нього можна було звертатися з інтернету. Але якщо це не потрібно (для воркерів та для баз даних), то все буде приватним. Heroku виставляє вашу базу даних голою дупою в інтернет, і захищена вона лише довжелезним паролем. Коли б я робив свою хмару, то теж би планував таку архітектуру—все приватне. Щоб отримати доступ до приватної мережі, fly дає можливість підключатися до [WireGuard](https://www.wireguard.com/) гейтвеїв. Таким чином ви однією командою можете опинитися всередині своєї мережі. Нажаль, мені не вдалося налаштувати WireGurad на лінуксі так щоб він міг резолвити `.internal` DNS імена і я не інвестував в то багато часу, але на макбуках все має бути окей. WireGuard це топ софт і набагато зручніший ніж OpenVPN та інші VPN рішення. Якщо вам потрібно відкрити собі доступ лише до якоїсь частини ресурсів то команда типу `fly proxy 15432:5432 rozhok-db.internal` прокине вам тунель на локалхост. Власне поки я не знайшов часу розібратися з DNS то я так і прокидую собі базу з редісом та працюю. “Але ж все це давно є в кубах та інфраструктурі навколо!”, вигукне досвічений читач. Звичайно є, але воно все тягне за собою сотні шарів непотрібних мені абстракцій. ### P.S. Буквально у дні перед початком війни я вже майже-майже розгорнув кластер кубера для того щоб переїхати з Heroku, але потім було не до того, а зараз після того як спробував fly взагалі бачу що моя задача повністю вирішена. Якщо додати туди ще декілька фіч, то це буде ідеальний PaaS, той, який я [мріяв зробити сам](https://www.rozhkov.me/infrastructure-for-a-people/) ще два роки тому. *Бачите, якщо ви довго чекаєте, то хороша ідея приходить у голову не тільки вам, і поки кабанчики-стартапери піднімають серйозні раунди, ви продовжуєте чистити унітази виделкою.* Fly позиціонують себе як платформу на якій інші можуть будувати свої PaaS та рішення, і вже навіть з'явилися [такі компанії](https://blog.hathora.dev/modern-cloud-for-multiplayer-games/). Сподіваюсь що мені вистачить мотивації, я відкину ідею піднімати свою оркестрацію та побудую свій продукт з ідеальним Developer Experience на вже готовій платформі яку дає fly. ### Friendship ended with Heroku, now fly.io is my best friend. URL: https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/ Last updated: 2022-08-25T08:57:17.000Z Коли я починаю проект то завжди намагаюсь застосувати нову технологію. Для [@Donate1024Bot](https://t.me/Donate1024Bot) я обрав дві таких: хостинг на [fly.io](https://fly.io/) та верстку з [Tailwind CSS](https://tailwindcss.com/). І якщо остання завдала клопоту, то перша виправдала себе на 100%. Про це і розповім. Вперше я натрапив на fly.io на [HackerNews](https://news.ycombinator.com/), де обговорювався їх блог-пост [A Foolish Consistency: Consul at Fly.io](https://fly.io/blog/a-foolish-consistency/). Я тоді прочитав цей матеріал і подумав “Нічого собі! Оце хлопці роблять рокет саєнс!”. Якщо коротко то Fly позиціонює себе як хостинг з точками присутності по всьому світу з мінімальним оверхедом на віртуалізацію. Щоб досягнути цього вони побудували приватну IPv6 мережу між датацентрами по всьому світу [з'єднану через WireGuard](https://fly.io/blog/our-user-mode-wireguard-year/), для віртуалізації використовують [Firecracker](https://fly.io/blog/the-serverless-server/), а зверху написали купу софту яким тим всім керує, наприклад [конвертер з Docker імеджів у Firecracker](https://fly.io/blog/docker-without-docker/), свій DNS-сервер для гнучких гео-запитів і багато іншого цікавого. Рекомендую ознайомитись. Останні місяці я платив за Heroku 60$. Значну частку рахунку складали та blogigram.com (сервіс що публікує пости з [блогу](https://www.rozhkov.me/) в [телеграм](https://t.me/full%5Fof%5Fhatred)) які тягнули по 23$ кожний за дві віртуалки та постгрес. Донат бот теж потребував 2 процеси—вебсервер та воркер для бекграунд джоб. Збільшувати рахунок ще на 14$ мене якось ламало. Але і переносити існуючі проекти мотивації не було. Тому як тільки випала нагода, я вирішив протестувати fly.io. Процес деплою аплікації докладно описаний в [доках](https://fly.io/docs/). Робота відбувається через CLI, навідміну від Heroku, де все можна наклікати у веб-інтерфейсі. Перед початком роботи потрібно розгорнути Postgres кластер. Кластер немає обмежень по розміру бази, навідміну від Heroku що дає всього 10 000 рядків у Free Tier. Його можна приєднувати до потрібних аплікацій. Я швиденько то налаштував, потім підняв Redis, який потрібен мені для [Sidekiq](https://sidekiq.org/). Далі просто. Fly працює з докер-контейнерами, тому вам треба або вже мати свій, або `fly launch` детектить що за мова та фреймворк використовується і генерує Dockerfile під вас. Потім потрібно встановити секрети (ключі AWS і так далі) через `fly secret set` і нарешті `fly deploy`. Ця команда підніме ваш особистий безкоштовний білд-сервер, надішле туди сорци, збере докер імедж, і задеплоїть його. Додаткову конфігурацію можна задати через файл `fly.toml`, де вказуються і процеси що біжать (веб, воркер, крон у моєму випадку), хелс чеки на них, порти, деплой стратегії і так далі. Після першого деплою апки можна додати домени та сертифікати. Через день я подивився у скільки мені то все обійшлося і був приємно здивований—я вліз у Free Tier і витратив лише пару центів. Про мережу я розповім пізніше, але Fly мені так сподобався що я вирішив перенести туди всі свої проекти з Heroku. Сказано—зроблено. Завдяки тому що Heroku ефемерний, то мені потрібно було лише забрати звідти дампи баз. Вчора я переніс останній проект—, довелось трошки повозитися з докер імеджом, бо там використовується старий вебпакер, але вреші все запрацювало. Мене приємно вразила швидкість роботи. Сайт став буквально літати. Можете поклікати котиків та оцінити. Heroku це просто надбудова на AWS, тому він працює достатньо швидко, але зовісм не так як Fly, який розгортає ваші контейнери прямо на залізі. За рахунок цього вони по-перше, значно дешевші та по-друге, більш швидкодійні. Через пару днів буду розуміти у скільки мені то все обійдеться, але схоже що я легко влізу в 15$ на місяць за всі проекти. Якщо ви хостите свої проекти на DO/AWS/Heroku ще десь то наполегливо рекомендую подивитися на [fly.io](https://fly.io/). ### Новини Donate 1024: статистика монобанок, реквізити, алгоритм видачі, спрощення UI URL: https://www.rozhkov.me/donate-1024-news-monobank-stats/ Last updated: 2022-08-28T22:32:31.000Z Того тижня я сумлінно працював над покращенням [@Donate1024Bot](https://t.me/Donate1024Bot). Зараз є 380 підписників з активованими сповіщеннями. ### Спрощення UI Замість окремої кнопки «статистика» зробив відображення кількості людей які задонатили відразу на кнопці «готово». Кнопка реактивна та буде сама оновлювати своє значення у всіх користувачів як тільки хтось відмітить що він зробив донат. *Чим менше кнопок тим краще.* ### Реквізити Номери карток та монобанок виділені в окрему секцію та відформатовані так щоб одним кліком копіювати номер картки. ### Статистика монобанок Для усіх монобанок два рази на годину оновлюється статистика. Коли вранці вам прийде новий збір, то в ньому вже буде вказаний прогрес. ### Алгоритм видачі Зараз бот щоранку бере один рандомний збір та видає його всім користувачам, тобто всі отримують одне й те саме. Я це явно не вказав раніше, тому дехто думав що кожному видається різний збір. У нас з користувачами була активна дискусія щодо алгоритму: видавати чи ті що вже давні збори, чи нові, чи ті які вже майже завершені чи ті що не завершені, чи всім видавати однаковий чи кожному різний. Багато питань які знаходяться в площині етики та теорії обробки черг. Врешті, враховуючи наявні дані я прийняв рішення залишити все як є: видавати всім один і той самий рандомно обраний збір. Наша потужність складає десь \~10 000₴ на день. В базі немає таких зборів, які би могли бути закриті цією сумою, тому вважаю що немає змісту робити якісь калькуляції та пріоритезації. Моя ідея полягала в тому що я не роблю складного морального вибору. За мене це робить постгрес. Якщо би ми мали потужність в 300 000₴ то була б звичайно інша розмова бо дійсно виникла ситуація з закриттям збору за раз. Це класна проблема, і я б хотів її мати, але зараз це не так. Тому покладаємось на `order by random()`. ### Нотифікація користувачам про схвалення їх збору Коли збір додається до бази, то користувач який його надіслав отримає сповіщення. ### Інстаграм та модерація зборів Мені надіслали десяток зборів в інстаграмі, але я не можу їх подивитися бо інстаграм блокує мене і вимагає логін. Акаунту не маю, бо ношу шапочку з фольги. Також деякі інші пости я теж досі не перевірив. Тому прошу вибачення у тих хто чекає. Незабаром це питання буде вирішено. Якщо ви хочете пришвидшити попадання збору в базу то надавайте посилання на фейсбук, щоб там було видно коментарі та минулі звіти, а також вказуйте картки привату, моно і адресу банки. ### На тому все! Підключайте собі [@Donate1024Bot](https://t.me/Donate1024Bot), та долучайтеся до мене у марафоні щоденного донату в розмірі 1024 гривні на потребі армії! ### Обери еміграцію. URL: https://www.rozhkov.me/choose-emigration-choose-safety/ Last updated: 2022-09-05T17:04:42.000Z **Вибери безпеку.** Вибери країну, вибери місто, вибери район. Вибери хороші дороги. Вибери роботу в автомотіві, зарплатну стелю в 4k євро та відсутність кар'єрних перспектив. Вибери малолітражку. Вибери іпотеку на 30 років під 2.5% та справно сплачуй внески. Вибери існування від зарплати до зарплати. Вибери прогресивний податок. Вибери садочок, вибери школу. Вибери кешбек та податкові вирахування. Вибери поганий сервіс та магазини що зачиняються о п'ятій вечора. Вибери тільки готівкове обслуговування. Вибери дорогий та неякісний інтернет. Вибери безліч заборон та обмежень на все навколо. Вибери сортування сміття. Вибери мігрантські квартали. Вибери круасан по 10 євро. Вибери мовні екзамени та процедуру отримання посвідки на постійне проживання. Вибери черги в лікарнях. Вибери мультикультуралізм. Вибери чесні суди та співгромадян-стукачів. Вибери літкод. Вибери багатомісячну підготовку до співбесід. Вибери behavioral interview. Вибери фаанг та ретельно працюй над promotion package. Вибери $500k. Вибери rest-and-vest, вибери картку революта, вибери стоки та ETF. Вибери пусті балачки, вибери розмови про гроші. Вибери студію за 6000$, вибери наркоманів на вулицях, вибери чужий культурний контекст. Вибери злочинність, вибери рівність, вибери дискримінацію, вибери толерантність. Вибери податкового адвоката. Вибери медичний туризм до Турції. Вибери джанк фуд, підписку на нетфлікс, надмірну вагу. Вибери спеку, вибери холод. Вибери мігрантські чати, вибери бюрократію, вибери паперову пошту. Вибери кілометрові гайди, вибери релокаціїні аґенції. Вибери бічування по різним квартирам, AirBnb та життя на валізах. Вибери прикордонника який візьме хабаря, вибери нічну мандрівку через ліс. Вибери петицію про скасування заборони на виїзд чоловіків. Вибери чат «повістки львів». Але навіщо мені це все? Я не став обирати еміграцію, я обрав дещо інше. Чому? Жодних «чому». Які можуть бути «чому» коли є Україна та КВЕД 62.01? 🇺🇦🇺🇦🇺🇦 ### Новини Donate 1024: перші користувачі, безумовна підписка, верифікація, «статистика» URL: https://www.rozhkov.me/donate-1024-news-1/ Last updated: 2022-08-28T22:31:41.000Z Всім привіт! Завдяки [публікації](https://t.me/gruntmedia/17370) на каналі ҐРУНТ бот [@Donate1024Bot](https://t.me/Donate1024Bot) підключило собі багато користувачів—більше 200! Я був трошки неготовий до такого 😅. Дякую всім хто приєднується! Наразі в нас є 320 людей, тобто продукт комусь потрібен. Радий що моя гіпотеза підтвердилась. ### Безумовна підписка Перша зміна яку я зробив це спрощення «реєстрації». Тепер, якщо ви почали діалог з ботом, то він одразу вважатиме що ви хочете отримувати щоденні нагадування. Багато людей не зрозуміли або пропустили необхідність «підписки» після початку діалогу та запитали мене чому вони не отримали сповіщення. Тому замість явної підписки є явна відписка. Сьогодні вранці всі користувачі отримали нагадування, навіть ті хто не «підписався». Тому якщо ви не хочете отримувати нагадування, то натисніть `/unsubscribe` у боті. Прошу вибачення у тих, хто явно не підписався раніше, та кого я потурбував сьогодні вранці😓. ### Верифікація зборів Найперше питання у всіх—яким чином буде перевірятися честність волонтеру або фонду? На початку розробки я не ставив собі за мету робити ретельну верифікацію і хотів обмежитися переглядом профілю волонтера щоб переконатися що він раніше робив звіти. Мені здавалося що це не так важливо, бо я довіряю людям, але виявилось що інші хотіли би мати більше впевненості. В мене є великий нетворкінг серед волонтерів, тому незабаром ми додамо «верифіковані» збори, від волонтерів, яких я знаю особисто або через одне рукопотискання. ### «Статистика» Я зробив UI збору більш цікавим і додав кілька кнопок: зробив донат/не зробив донат/статистика. Нажаль, немає ніякої надійної можливості дізнатися чи були транзакції, але якщо ви задонатили то заохочую вас натиснути кнопку «донат зроблено». Якщо збір вам не подобається—тисніть кнопку що не подобається. Статистика відображає кількість людей яким було надісланий конкретний збір, та відповідно кількість людей які натиснули кнопки зробив/не подобається. ### Що далі? Додам верифіковані збори. Перероблю UI боту щоб були кнопки замість незручних команд. Додам функцію «поскаржитися на збір». На тому все! Підключайтеся до [@Donate1024Bot](https://t.me/Donate1024Bot) та приєднуйтесь до нашого щоденного марафону донатів! ### Donate 1024 — бот для щоденного нагадування про донати URL: https://www.rozhkov.me/donate-1024-launch/ Last updated: 2022-08-28T22:31:06.000Z Зробив бота який щодня надсилатиме вам нагадування про донат. Потрібно розпочати діалог з [@Donate1024Bot](https://t.me/Donate1024Bot), та натиснути там команду `/subscribe`. Кожного дня бот буде обирати один із зборів які є у базі та пропонувати вам. Рекомендована сума донату — 1024 грн, звідси і назва. Оголошення про збори грошей додаються через краудсорс: пересилайте лінк на збір за допомогою бота і якщо все гаразд то він попаде до черги. Це був елеватор пітч, а тепер трошки розгорнутіше. Є проблема—я став менше донатити на потреби армії. Не хочу вкладати багато грошей у великі фонди, Притули, або ПЖ, більше цікавлять маленькі збори на конкретні підрозділи. Наприклад, підрозділу ССО на пікап, який ми робили раніше. Якщо зустрічаю збір на тих каналах які читаю, на дрон, на навушники, ще на щось, то завжди закидую туди грошей. Але такі збори в мому інфополі з'являються нечасто. Тому зробив бота в який користувачі самі б додавали збори, а далі щодня з них обирався один рандомний та пропонувався до перегляду. Таким чином можна буде кожного дня донатити на різні підрозділи та збори. Моя дефолтна сума донату—1024 грн. Чому 1024? Мені здається що це хороша сума від якої не станеш біднішим, та яка буде суттєвою для збору. Наприклад щоб закрити 100 000, потрібно всього сто таких як я. В такому режимі на місяць буде витрачатися 30 тисяч гривень. Вважаю що будь-який айтівець з зп більше 3000$, а таких я переконаний тут багато, може вкластися у перемогу. Ви можете донатити більше (2048, 4096) або менше (512, 256), на ваш розсуд. FAQ: Q: Навіщо донатити щодня? Хочеш витратити 1000$, закинь їх на початку місяця і май спокій. A: Коли закидуєш раз на місяць то втрачаєш відчуття що робиш щось корисне і забуваєш про війну. Нагадування потрібні нам щоб не забувати про те, що хоча в Києві двіж йде повним ходом, люди гульбанять, щодня десятки наших найкращих людей гинуть на Півдні та Сході. Q: Я вже зробив підписку на [KOLO](https://www.koloua.com/), чим твоя ідея краще? A: KOLO це добре, але коли кидаєш гроші у гігантський баняк, то воно якось не відчувається. Я хочу допомагати «маленьким» волонтерам та підрозділам. Q: Як ти перевіряєш що збір справжній? A: Тут доводиться покладатися на довіру. Я зайду на сторінку збору та подивлюся що це живий акаунт який вже робив збори раніше, публікував звіти і так далі. 100% верифікакцію скаму я проводити не зможу. Бот видасть вам текст оголошення та посилання на першоджерело де ви самі можете переконатися що я не підмінив номер картки а волонтер—не скамер. Q: Який алгоритм видачі оголошень? A: `select * from posts where posted_count = 0 order by random() limit 1` Q: Як ти відстежиш що був донат? A: Ніяк, атрибуцію транзакцій зробити неможливо без того щоб пропускати оплати через мене а я фондом наразі ставати не збираюсь. Q: Ось є [PeoplesProject](https://www.peoplesproject.com/) чим ти відрізняєшся? A: Це фонд який бере збір, проводить через себе на нього гроші і звітує потім. Я ж просто беру лінки з фейсбуку, телеграму та ДОУ і видаю вам. «Агрегатор волонтерки». 👉[@Donate1024Bot](https://t.me/Donate1024Bot) Підписуйся сам, порадь друзям, і особливо волонтерам які мають збори, щоб наповнити базу. Перший лінк прийде завтра. Разом до перемоги! 🇺🇦🇺🇦🇺🇦 ### daily rozhok №11: 🦐 URL: https://www.rozhkov.me/daily-rozhok-11/ Last updated: 2025-06-19T18:36:38.000Z Вітаю друзі! Сьогодні у нас чергова пачка коротких оповідок для марнування часу у черзі, транспорті, туалеті, за обідом, а може навіть і у ліжку, замість пестощів з коханими. Сучасна людина не може собі дозволити нудьгувати жодної секунди, екран смартфону обіцяє нескінченний потік розваг і лише одиниці стійких монахів-лудитів здатні протистояти цій спокусі. Тому я спостерігаю довкола себе людей-креветок, зігнутих 🦐 у нездорових позах над своїми екранами. Якщо ви креветка, то мерщій гаяти час зі мною! [Хто рано встає, тому Бог дає](https://www.rozhkov.me/daily/wake-up-early/) — коли менше спиш то краще себе почуваєш, перевірено на собі. [Телеграмне жебрацтво](https://www.rozhkov.me/daily/telegram-begging/) — ефективно збираю лайки в соцмедіа. [Діти на самоті](https://www.rozhkov.me/daily/children-under-supervision/) — задаюсь питанням чому сучасних дітей треба так ретельно пильнувати. В кого є діти, приєднуйтесь до дискусії. [Зігнуті спини](https://www.rozhkov.me/daily/bended-back/) — спостереження за 🦐 шкідливими тенденціями у коворкінгу. [Фотопослуги, копіювання, друк](https://www.rozhkov.me/daily/print-photo-copy-scan/) — зайшов зробити фото, а вийшла ціла історія в голові. [Ніякові погляди](https://www.rozhkov.me/daily/awkward-stares/) — палю людей довкола. [Електронні гроші легше витрачати](https://www.rozhkov.me/daily/digital-money-easier-to-spend/) — зливаю місячний прибуток однією кнопкою у приват24. [Асиметрична дискусія](https://www.rozhkov.me/daily/asymmetric-discussion/) — за будь-яке твердження вимагаю пруфи або злився. [Робота під музику або в навушниках](https://www.rozhkov.me/daily/work-in-headphones/) — сижу в тиші і вам раджу те саме. [Біде](https://www.rozhkov.me/daily/bidet/) — дорвався до цивілізації. На тому все, побачимось у понеділок! P.S.: за 🦐 подяка мому товаришу, пану Зайцю, з котрим ми на обідах в салатеріях з'їли нескінченну кількість тих самих креветок. P.P.S.: епопея з пікапом для Азову схоже підходить до успішного завершення! Новини незабаром. *P.P.P.S: я прочитав статтю [Don't put yourself into a box (or why you shouldn't niche down prematurely as an online creator)](https://jakobgreenfeld.com/box) і вирішив що призупиню дейлі рожок, натомість все те що йшло туди буду писати сюди.* ### Біде URL: https://www.rozhkov.me/daily/bidet/ Last updated: 2022-08-12T07:23:24.000Z Торік їздив у відпочинок в [готель ол інклюзів](https://www.rozhkov.me/daily/all-exclusive/). Ото були часи! 🥲 І там в санвузлі (який совєцькій термін!) було біде. Я, людина темна, до того не мав справи з такими досягненнями цивілізації і на мене воно справило надзвичайне враження. Неймовірно крута штука! Дуже шкодую що як робив ремонт то не поставив собі таке а лише обмежився «гігієнічним душем». Будете купувати хату або робити ремонт—обов'язково ставте біде. Обов'язково поряд з унітазом. Не пошкодуєте. Протестити можна у ол інклюзів готелі. ### Робота під музику або в навушниках URL: https://www.rozhkov.me/daily/work-in-headphones/ Last updated: 2022-08-11T08:30:22.000Z Вже багато років поспіль найкраще мені працюється у тиші. Чи то мозок знизив когнитивні потужності, чи то сучасний простір так перенасичує його інформацією що музику вже нікуди пхати, чи то я просто вже втомився, але музику я включаю нечасто. Коли грають пісні з словами, то мій мозок несвідомо починає їх опрацьовувати. Для мене слухати таке то все одно що сидіти поряд з людьми які ведуть бесіду. Це дуже заважає роботі. Втім, я надзвичайно погано сприймаю на слух англійську у піснях, тому зарубіжні виконавці не так сильно відволікають. Електронну музику якось не дуже слухаю. Всілякий інструментал більш менш нормально. Але найкраще все одно сидіти в тиші. Проте є випадки коли то складно, а саме—в опенспейсі. Пам'ятаю коли я вперше працював у надзвичайно великому опенспейсі, у 2010, у відрядженні, наша команда сиділа у клієнта в офісі. То був дуже крутий офіс. Коли колеги трохи відволікали, то я таки одягав навушники і вмикав або маловідомий панк рок гурт sidesixtyseven, або німецький вікінг метал Equlibrium і так працював. Чомусь запам'ятав той період як дуже продуктивний. Втім немає нічого краще за тишу або негучний фон. Крім того що під музику працюється не дуже, навушники це незручність. Якщо сидять на голові—то вуха пріють, погано. Якщо користуватися затичками, то ти починаєш різко краще чути звуки свого організму. Що так що інакше—все погано. Я не працював у шумодавах, та й якось не дуже хочеться. Замість того, щоб вирішувати проблему шумного оточення через спроби захиститися від цього шуму, краще змінити оточення. Вдома, або в окремому особистому кабінеті можна сидіти в тишині☝️ P.S.: а ще навушники негативно впливають на слух. Насправді це головний аргумент проти. ### Колективний ПТСР URL: https://www.rozhkov.me/collective-ptsd/ Last updated: 2022-08-10T06:15:00.000Z *Взагалі тут мав бути текст про кар'єру, але вчора я так радів що мало не запостив сюди стікер «мені нравиться як воно горить».* Позавчора я дивився відос як на солдата [падає ВОГ](https://t.me/libertas%5Fjustitia%5Fveritas/4481), сміявся вголос. Вчора від звістки про потужну бавовну у Криму теж радів, так радів, що аж забувся про робоче засідання і запізнився. Ми всім чатом раділи ніби я не знаю що трапилось, і я переконаний що це щира радість. Від того, що нарешті ворог починає зазнавати втрат на тих територіях, до яких ми раніше не могли дістати. За ці півроку я побачив на відео та фото стільки людських смертей, трупів, вбивств, знищення техніки, скільки не бачив за все життя до того. В 2014 війна не була ще такою медійною та масштабною, а я не фанат гуро та зйомок з Південної Америки. Я не дуже бачив війну. Найближче що було до нас то збитий у кілометрі калібр від якого відчутно похитнувся будинок, та свист тих самих калібрів по Артему. Сліди від ракет ППО у небі. Інші ракети по Києву. Робота нашої артилерії на околицях. Після «кроку доброї волі» та виходу росіян з півночі, ми їхали по розтрощеній Житомирській трасі, по зруйнованим Гостомелю, Бучі, Бородянці, Ірпіню. Колони спаленої російської техніки, фотка на танку. Та й по тому. Дружина в Чернігівській області фоткається вже біля хвостовика від Точки У, та розповідає про смердючий труп москалика, якого кинули свої. Люди приїздять до нас за кормом на X5, в ньому немає скла і дірки від куль. Питаю, “що це?”, “а то в нас росіяни стріляли, просто так” відповідають люди що дивом вціліли. По радіо лунають пісні зі словами «джавелін» та «байрактар». „Доброго вечора, ми з України!”. Ведучий щиро бажає смерті окупантам. Всі медіа, все довкола просякнуте ненавистю до русні. По всьому місту написи «русский военный корабль иди нахуй». Сайти на яких можна замовити напис маркером на снаряді до M777\. Теронліфанс. На фронті мої друзі дитинства та юності. В березні два сини маминого одногрупника приїздять добровольцями до Києва. Ми забираємо їх та підвозимо трохи по місту. Через два місяці дізнаюсь що старший брат наступного дня сідає у гелікоптер і летить у Маріуполь, бо мав бойовий досвід. Вони долетіли, але зв'язок з ним зник и 99.99% що він загинув. Коли чую новину то мені від того стає недобре. Молодший брат залишився сам... В новинах знищена техніка, знищені люди, удари по нашим містам. Я бережу себе і не дивлюся кацапські відео з нашими полоненими і знищенням нашої техніки. Тішу себе думкою що в них втрат в кілька разів більше. Зрада. Оточили Маріуполь. Відійшли з Попасної. Відійшли з Сіверськодонецьку. Відійшли з Лисичанська. Відійшли з Пісків. Пускаємо пакети по Антонівському мосту а він все ніяк не ламається. Постійні емоційні гойдалки. Їдемо у Харків, по дорозі бачимо HIMARS. Радію наче доторкнувся до перемоги. Непокоюсь що мало роблю. Донатити та волонтерити то не привілей а обов'язок. Грішми не відкупишся від ризику життям у окопі. Друг з-під Слов'янська телефонує і каже “як маєш роботу то сиди і працюй, тут є кому воювати”. Можливо скоро буду збирати гроші йому на гвинтівку, готуйте гаманці. У київських військоматах черги. Думаю що війна надовго і ми всі рано чи пізно підемо на фронт. Коли на секунду відволікаюсь і дивлюся на те все збоку, то аж сльози на очі навертаються, наскільки то все жахливо. Сміятися з вбивства людей, радіти вибухам та смертям то нездорова тема. Далі дивлюся ще одне відео де [ВОГ падає точнісінько на шість москаликів](https://t.me/libertas%5Fjustitia%5Fveritas/4465) які щось несуть. Регочу як дурний, потім читаю в коментах що то в Пісках і вже не так смішно. Всі вірять у перемогу. Бо інакше просто не може бути. 🇺🇦🇺🇦🇺🇦 ### Асиметрична дискусія URL: https://www.rozhkov.me/daily/asymmetric-discussion/ Last updated: 2022-08-10T10:21:09.000Z Буває таке що з кимось розмовляєш і в якийсь момент співрозмовник каже «а надай пруфи свому твердженню». Особливо якщо мова йде про якісь факти. Йде балачка щодо економіки і хтось заявляє «якщо знизити податки то економіка буде зростати». І тут інша людина питає, «а які в цього твердження є докази»? В залежності від мотивації та ступеню брехливості, той хто стверджує або відразу надасть якісь факти на свою користь, або почне їх шукати. Буває й таке що обидві сторони будуть закидувати один одного пруфами поки хтось не втомиться. Але найчастіше ви будете мати справу з людьми які ведуть асиметричну війну і не шукатимуть фактів на свою користь а лише щоразу задаватимуть нові питання. З їх боку вилітає два речення за 1 секунду. З вашого боку—купка посилань на авторитетні джерела на пошук та вичитку яких ви витратите 10 хвилин. Таких людей потрібно швиденько викупати і перед тим як інвестувати час у пошуки, вирішити—а воно вам треба? Може краще [проігнорувати запитання](https://www.rozhkov.me/daily/ignore/) і злитися аніж витрачати час незнамо на що? Звичайно, бувають випадки коли ви з чистого альтруїзму не проти загуглити замість іншого. Але буває і коли ваш співрозмовник не зацікавлений взагалі у фактажі, його хвилює лише те щоб ви змарнували час. Нещодавно я додав у свого [бота](https://www.rozhkov.me/telegram-status-bot/) сповіщення про те що хтось під'єднався до каналу, від'єднався від канала, та вийшов з нашого ріжок-чату. Один з учасників спільноти запитав—«а чи можна визначити локаль користувача який вийшов або прийшов?». Я відповів, що ні, а він такий «а чому?». Я кажу, «тому що в інформації про зміну статусу людину на каналі немає локалі». Тобі він питає «а чому не можна просто проітеруватися по всім підписникам каналу та записати їх локаль?». Я знав що такого метода немає, але пішов дивитися чи дійсно це так, може щось змінилося з останнього разу коли я шукав таку функцію. Зайшов на доку, кину посилання на доку і кажу «тут немає такого методу». А він такий—«а як же тоді працює кроссер бот який аналізує аудиторію». Тут я зрозумів що надто багато часу поклав на розмову яка нікому не треба, але вирішив що вже доб'ю. Пішов на сайт того кросер бота, знайшов пояснення як вони рахують аудиторію і сказав «ось чому». Хоча насправді міг проігнорувати запит, а людина би собі сама все загуглила якби то їй дійсно треба було. P.S.: до речі щойно я асиметрично витратив десятки ваших людино-годин. Бо текст написаний однією людиною за десять хвилин, а читати його буде півтисячі людей☝️ P.P.S.: в перший день війни до нас набігли росіяни і почали просити пруфи що ми 8 років не домбили бомбас та не пригнічували російськомовне населення. Грішним ділом і я, і інші учасники, почали якісь пруфи шукати. Як показав час, то все була марна справа, треба було просто забанити людину щоб не витрачала наші зусилля та й по тому☝️ ### Електронні гроші легше витрачати URL: https://www.rozhkov.me/daily/digital-money-easier-to-spend/ Last updated: 2022-08-09T05:30:00.000Z Останнім часом багато користуюсь таксі. Їжджу на «Уклоні», підтримую вітчизняного виробника. Тим більше що вони активно донатять на потреби армії. Раніше я завжди розраховувався готівкою. По-перше, звик, а по-друге, таксисти колись казали що їм краще готівкою бо якщо на картку то гроші не одразу надходять. Ну от я і носив з собою пачки гривень. Але якось дружина поїхала по справам, а в нас ж є кіт з проблемами і я мав щодня кататися 10 км туди-назад до нашої подруги-ветеринара. І от перший раз таксист не мав здачі, другий, третій, четвертий...Я почав щось підозрювати. На п'ятому разі я запитав чи зараз є різниця чи платити на картку чи кешом. Таксист відповідає — та однаково. Тоді я підв'язав картку до уклону і забув про готівку. Виявилося дуже зручно. А коли ти вже підв'язав картку, то програма тобі по завершенню поїздки крім того що пропонує оцінити водія, показує також менюшку для чайових. Типу, дай десятку водію, йому буде приємно. І от я почав давати. Ну а чо б і не дати? Бідолаха їздить за копійки, дихає газами, сидить цілий день у м'якому кріслі пестуючи геморой, коротше кажучи веде нездоровий спосіб життя. Хай собі на десятку купить цигарок. А як гроші ти не бачиш то витрачати їх тобі значно легше. Кнопку натиснув і електронні 10 гривень поїхали водію. Я то навіть не помітив. Паперового червонця я б швидш за все зажмотив. А електронний не відчувається зовсім. Дуже небезпечний для наших гаманців патерн☝️Стережіться бо зможете легко витратити гроші на непотрібні покупки. Я крім того багато де ще більше став витрачати, але таксі то найпомітніше. І на волонтерку бабки йдуть аж свистять. Незалежно від суми не відчувається ніяк. Що 1к закинув, що 10к—вшистко єдно. P.S.: чайові даю як водій не телефонував щоб уточнити маршрут, не робив фігні, мав охайну машину і був хорошим пиріжечком. ### Щурячі перегони URL: https://www.rozhkov.me/rat-race/ Last updated: 2022-08-08T08:15:13.000Z Нещодавно один з активних учасників нашої пиріжок.спільноти висловив таку думку: “Не хочу слухати про технікал рев'ю, грейди і тд, хочу таски робити і щоб зп піднімали регулярно”. Непогане бажання. Замість того щоб думати що там треба зробити щоб якось просунути кар'єру вперед, людина просто хоче займатися тим що їй подобається або добре виходить—програмувати. Але реальний світ працює не так. Яким би ти старанним не був, а для просування догори, якщо ти не геній якого носять на руках, потрібно докладати зусиль, у відповідному напрямку. На днях я вчергове перечитав пост чоловіка, який [4 роки працював у гуглі а потім пішов займатися своїми проектами](https://mtlynch.io/why-i-quit-google/). З самого початку він сумлінно працював. Потім, коли прийшов час збирати promotion package, виявилося що він працював може й добре, але не над тим, що було потрібно для підвищення. Тоді він подумав—ну раз тут платять за «імпакт», значить треба робити лише цей імпакт, що би воно не означало. І почав робити роботу не так щоб вона була корисна, а так, щоб вона була помітна та могла бути зарахована в «пакет». Але йому не щастило, проекти, на яких він працював, були скасовані кілька разів поспіль, відповідно роботи, яку він встигав зробити, не вистачало для підвищення. Врешті, чоловік зрозумів що ловити нічого і вирішив звільнитися. Іншого разу я натрапив на [спільноту](https://news.ycombinator.com/item?id=32358038), де досвічені програмісти діляться знаннями що і як точно треба робити щоб отримати підвищення, кращі умови, більше грошей і так далі. Звичайно це все ніяк не пов'язано з технічними навичками а стосується лише того, щоб працювати лише задля задовільнення тих умов, які потрібні для руху догори. Все це мені нагадало пікаперів. Якщо ви колись читали пікаперські поради, то там вони викупають патерни та риси які приваблюють дівчат, відточують поведінку так щоб ззовні це виглядало природньо, а далі просто масово застосовують. Цікавить лише один результат—кількість зваблених осіб протилежної статі. Тактично може воно й буде добре, але стратегічно ти не можеш далеко поїхати на «емуляції» хороших якостей. Все це робиться заради результату—більше грошей, «цікавіші» проекти, більша посада, але щоб шо? Видавати ледве працюючий код аби тільки закрити проект, ігнорувати важливі інженерні речі щоб не витрачати даремно час, удавати з себе бозна кого аби тільки сподобатися незнайомці. Все це якась безглузда біганина. Звісно гроші та все інше потрібні, але за цим якось втрачаєш себе. Врешті ти марнуєш життя для того щоб твій хазяїн сказав—„молодець, добре старався, ось я собі [геліка](https://www.rozhkov.me/daily/g-klasse/) купив, дивися! Як будеш старатися так само, то наступного року я зможу купити собі новий“. ### Ніякові погляди URL: https://www.rozhkov.me/daily/awkward-stares/ Last updated: 2022-08-08T07:19:38.000Z Оце сидиш в опенспейсі ну і відповідно люди туди-сюди ходять. Перегородок на столах немає, все по канонам. Три "C": Connect Collaborate Cringe. І от коли повз проходять люди, то миттєва реакція закладена в нашому рептилоїдному мозоку—подивитися що там відбувається. А може небезпека? Може балакливий QA йде до тебе «Володя, а шо там по тому багу який я три тижні тому заводив». Всім системам приготуватися! Мозочок дає команду на вприск кортизолу, адреналіну та іншої хімії. Організм мобілізується для боротьби з агресором. Але 99% просто проходять повз. І ти такий дивишся на людину що йде а вона дивиться на тебе. І ви такі на мить обмінюєтеся поглядами. І воно якось крінжово. Або сидиш ти і перед тобою людина піднімає очі від свого лептопу і ти теж піднімаєш і ви зустрічаєтеся поглядами. «Шо брат, читаєш твітер?» «Ще б пак! Писати код то для лохів». Крінжовість подвоюється коли всі навколо тебе—незнайомці. P.S.: Ще помітив що те ходіння досить сильно відволікає. В кабінеті коли сидиш на самоті як сич то воно не так відчувається, а тут на кожну людину хочеш не хочеш реагуєш. ### Фотопослуги, копіювання, друк URL: https://www.rozhkov.me/daily/print-photo-copy-scan/ Last updated: 2022-08-05T13:37:51.000Z Заходив оце нещодавно в контору зробити фото на документи. Такі заклади зазвичай розташовані у торгових центрах або підвалах. Площа там маленька, щоб була мінімальна дистанція для фото та розмістився промисловий принтер. Спеціаліст всередині вміє робити все—фотографувати, ретушувати та кадрувати, друкувати. Відправить вам фото на пошту або у вайбер. Вправно керує складним багатофункціональним пристроєм. Зшиє курсач, відсканує пашпорт. Справжній ремісник! Коли я відвідую такі заклади то часто думаю про працівника. Хто ця людина, що робить прості механічні рухи? Як їй живеться у тому підвалі, без сонячного світла? Чи фотографує вона моделей в натурі поза робочим часом? Чи сниться їй як вона сканує паспорт з нескінченною кількістю сторінок? Чи дратує її коли клієнти просять підретушувати фото бо їм щось не подобається? Який у неї кар'єрний шлях? Чи може вона прокачатися до сеньор копіювальника іпн-ів? Чи задоволена вона своєю простою, але потрібною роботою? А може то потужний інстаграм інфлюенсер який просто по фану сидить у коморі? На мене відразу нахлинули вайби [Working Class Hero](https://www.rozhkov.me/working-class-hero/). Багато питань виникає, коли відвідуєш фотокопіцентр. ### Зігнуті спини URL: https://www.rozhkov.me/daily/bended-back/ Last updated: 2022-08-04T08:15:38.000Z Сучасні українці у модному коворкінгу зігнулися над лептопами неначе їх пращури-селяни зігнулися над житом в полі. Спина скручена, плечі всередину, голова нахилена, ноги підігнуті. Як я сидів у кабінеті, то мав монітора і в лептоп не дивився. Це дозволяло тримати спину, шию та голову більш-менш рівно. Зараз тимчасово не маю окремого місця в опенспейсі, відповідно і монітор теж не поставиш. Тому доводиться разом з іншими офісними кріпаками нахилятися щоб дивитися на екран. І це я ще не кажу про те що крісло треба в мінімум спускати, бо інакше зовсім швах. Я високий, столи низькі. Поки молодий то воно все ніби нічо, але чим далі тим сильніше будуть помітні ефекти від такої щоденної "роботи". Я ще якось рівно намагюсь сидіти, але на інших боляче дивитися. Дуже нездорова тема. ### Діти на самоті URL: https://www.rozhkov.me/daily/children-under-supervision/ Last updated: 2022-08-03T08:18:16.000Z Батьки лишали мене одного дома як мені було певне років 7, а може навіть і менше. Точно пам'ятаю що вже з другого класу я їздив через пів-міста до школи самостійно і так само самостійно (або з друганом) повертався додому. Дома я читав книжки, бавився в конструктор та цікаво проводив час. А зараз всі знайомі які мають дітей, не можуть лишити їх одних, навіть коли дитині вже 10+ років. Небіж у Придністров'ї постійно перебував під наглядом свого батька або бабусі. Що трапилось? Я не пам'ятаю щоб робив якісь капості. Ну було одного разу випадково розлив клей пва точнісінько посередині ґонорового бордового повстяного килима, іншого разу розбив бра, та й по тому. Чому ж зараз дітей не залишають наодинці? Що вони можуть накоїти? Це ж супер гемор, нікуди нормально не війдійти. Хто має дітей, вимагаю ваших роз'яснень. ### Телеграмне жебрацтво URL: https://www.rozhkov.me/daily/telegram-begging/ Last updated: 2022-08-03T08:16:33.000Z Знаєте таку тему—жебраки або наприклад вуличні музиканти, на початку робочого дня кидають в кружку або чохол від музичного інструменту трохи грошей. Щоб люди які проходять повз бачили що цій людині дають гроші та були більш мотивовані теж кинути пару копійок. Може читачі навіть знайдуть відповідне дослідження на пабмеді. Так от, я викупив цю тему і тепер жебракую лайки в телеграмі. Коли опублікував пост, то сам ставлю до нього сердечко ❤️, або ще краще преміальне вогняне сердечко ❤️‍🔥 чи преміальну соточку. Так люди будуть бачити що пост вже полайкали і охочіше приєднуватимуться до забави. 💯 ### Хто рано встає, тому Бог дає URL: https://www.rozhkov.me/daily/wake-up-early/ Last updated: 2022-08-01T05:30:00.000Z Помітив що якщо я прокидаюсь вранці, хоча б до 10 ранку, то день проходить добре. Настрій хороший, посеред дня не хочеться спати, працюється продуктивно. А як чиллю у ліжку до 12 то день йде псові під хвіст. Поки прокинувся та роздуплився—вже обід, пів-дня минуло. Як поїв то хочеться ще поспати, якось досиджуєш до вечора а там в зомбі-режимі залипаєш до 3 ночі. Настрій депресивний, про роботу годі й балакати. Бо яка робота як ти тільки о третій дня за пекарню сідаєш? Ніякої. Буває як алкоголік цілий тиждень можеш "не просихати" і щодня спати до обіду. Стан у ці дні страшенно депресивний. Я взагалі без будильника сам щодня підриваюсь о 8 ранку, але потім дивлюся на годинник, і такий, нє, не буду вставати, дай до 10 посплю. Прокидаюсь звісно о 12, повністю розбитий. Того місяця я щодня прокидався вранці. Йшов до офісу, працював. Почував себе чудово. Цього місяця я трохи розслабився і лише за кілька днів знову скотився у поганий, ганебний стан. Зараз відновлююсь. Якщо ви ще не встаєте вранці та потерпаєте від схожих симптомів—раджу пересилити себе хоч на пару днів. Для мотивації можете подивитися оце відео: [Navy Seal Commander explains why wake up at 4am](https://www.youtube.com/watch?v=C-Cvl3%5FCH2A): «When you wake up early you already win one battle. And it's a big victory. I won that battle, let me go and win another battle...That's a discipline carries on throughout the day. And now you take that and expand over week and a month and you end up with more discipline, and it starts with that simple act of getting up and getting out of bed in the morning»💪 ### daily rozhok №10: getting back on track URL: https://www.rozhkov.me/daily-rozhok-10/ Last updated: 2022-07-30T21:16:54.000Z Вітаю, друзі! Пішов шостий місяць війни. Ракети продовжують сипатися мирним українцям на голови, окупанти повзуть як равлики на Сході, антонівський міст потроху стає схожим на швейцарський сир і сподіваюсь що скоро *підлога росні буде в казанах.* Чудові новини—завдяки вам, [Віталію Ратушному](https://www.instagram.com/vitalii.ask/), Олегу Миколайченко і спільноті [@](https://t.me/devopsengineer)[devopsengineer](https://t.me/devopsengineer), та купі небайдужих людей, нам вдалось зібрати всю необхідну суму 💰 на пікап для ССО! Зараз шукаємо машинку і незабаром будемо відправляти її на фронт. Сьогодні [@kapelan\_it](https://t.me/kapelan%5Fit) відвідує наших артилеристів у Бахмуті та Слов'янську🙏 Команда 🐶[@freeanimals\_ukraine](https://t.me/FreeAnimals%5FUkraine)🐱 планує поїздку з гуманітаркою до прифронтових міст. Тим часом канал [@daily\_rozhok](https://t.me/daily%5Frozhok) потроху відновлює свою роботу та готовий розважати вас п'ять днів на тиждень, з понеділка по п'ятницю, щоранку о 8:30\. Ось добірка оповідок за минулий час: [Game the system](https://www.rozhkov.me/daily/game-the-system/) — біди маркетплейсів. Заходиш на блаблакар щоб комфортно проїхатися на лакшері машині натомість пхаєшся в потний бус. Бо там вже немає людей одні контори. [Культура письма](https://www.rozhkov.me/daily/written-culture/) — черговий раз нию на засилля zoom-мітингів, короткий attention span людей, та синхронну комунікацію. [Ігнор](https://www.rozhkov.me/daily/ignore/) — нарешті допер навіщо в icq/qip була кнопка інвізу. [Співбесіди на дивані](https://www.rozhkov.me/daily/sofa-interviews/) — спостерігаю за обрядами найму у сусідній рекрутерській аґенції. [Хитрі ділові люди](https://www.rozhkov.me/daily/kippah-businessman/) — як за ціну філіжанки кави сидіти в кафе цілий день. [Звукоізоляція](https://www.rozhkov.me/daily/soundproof/) — офісний вуайеризм проти волі. «Підслухано» на мінімалках. [Перенесли засідання](https://www.rozhkov.me/daily/meeting-moved/) — у вас палає срака коли час зустрічей раптово змінюється? У мене теж. На тому все, наступного тижня у нас буде багато офісних історій. Хто вже скучив за офісом? Курилка, кава, ранкові новини, панянки на гучних каблуках, шум опенспейсу, столовка радянського зразку, докучливі колеги, «ти не зайнятий, можна запитати?», душні мітинг руми, ехо аудіоконференції, година на дорогу до БЦ ❤️❤️❤️ На тому все. Віримо в перемогу, донатимо на армію та волонтерам. Тримаймося🇺🇦🇺🇦🇺🇦 P.S.: наш друг [Жора](https://www.rozhkov.me/daliy-rozhok-4/) портаксував два дні і кинув то невигідне заняття, пару місяців якось пробідкався, аж поки будівництво на якому він працював, відновилось. Так що Жора при грошах, цвіте та пахне. Дев'ятка на ходу, життя налагоджується👌 Тепер його мрія—стати популярним тіктокером і заробляти там гроші на стрімах (???) P.P.S.: вчора ввечері з'явився запис нелюдських знущань над нашим полоненим. Вірю що негідник та все його оточення отримають достойну відплату. Попри ранкові ракети, це чергове нагадування що наша рософобія недостатня. Я думаю—якщо це попало на відео, то скільки такого залишилося поза кадром? ### Перенесли засідання URL: https://www.rozhkov.me/daily/meeting-moved/ Last updated: 2022-07-29T19:12:01.000Z Бувало у вас таке коли на день призначений якийсь мітинг, обговорення, зустріч. Ти вже собі все запланував, чекаєш. Аж раптом за 5 хвилин до початку зустріч переносять. Одна справа коли ти в офісний щур та сидиш собі спокійно цілий день. А інша—коли ремоут і міг би на цей час щось запланувати. Або не зробив чогось бо була запланована зустріч, а вже пізно починати. Дратує страшно. ### Чи добре бути поліглотом? URL: https://www.rozhkov.me/polyglot-not-good/ Last updated: 2022-07-29T19:14:58.000Z Серед "справжніх" інженерів популярна думка що програміст має вирішувати задачі, а вже яким чином—то справа десята. Наприклад в FAANG на співбесіді ти можеш писати код на будь-якій тобі зручній мові, а на проекті працювати з тим що вже там є, і це не обов'язково буде улюблений Python, на якому ти вирішувала літкод задачі. Мовна спеціалізація нехарактерна для великих західних контор. Це у нас вакансія на Spring Boot 2.5.4 Developer бо треба продати клієнту експертизу вже і зараз. Я вже якось писав про [проблеми поліглотів](https://www.rozhkov.me/polyglot-problems/), бо сам працюю одночасно з декількома мовами. Останнім часом більше думаю про цю історію і приходжу до висновку що програміст звичайно має вміти зварити кашу з сокири, але на практиці воно якось не дуже. Справа в тому, що інструмент, він шейпить тебе, твій світогляд, патерни вирішення задач, і не завжди у хороший бік. Це перше. Друге—це задоволення від роботи. Працювати з Ruby on Rails *приємно.* Я відчуваю це кожного разу. Код компактний, пишеться легко, інструментарій зручний. Свято а не робота. Чи можу я сказати, що маю таке ж задоволення від роботи з іншими мовами та платформами? Однозначно ні. Третє—це когнітивне навантаження на запам'ятовування стандартної бібліотеки. Якщо щоразу доводиться стековерфловити що там має бути, `length` чи `size`, то це призводить до зміни контекстів, гальмує роботу, та й просто дратує. Сашко Соловйов казав, що крім власне технологічних бенефітів від використання Clojure, ця мова приваблює особливих, талановитих, мотивованих програмістів. І хоч людей із знанням Clojure на ринку стільки що можуть вміститися всі на одному мітапі, але врешті вони (Kasta) від того все одно виграють у якості. Будь-кому зрозуміла аналогія з якісним приладдям. Коли я працював волонтером у церкві, мені треба було закручувати багато шурупів. Робив декорації, всякі конструкції з дерева та металу, працював руками. В нас був штатний шурупокрут, але він постійно то розряджався, то не крутив, то ще щось. Врешті я купив потужну маленьку макіту на шестигранному патроні, набір біт до неї, і моє життя радикально змінилось. Так і з мовами програмування та фреймворками. Ви і я звичайно можете писати на чому завгодно, хоч на перфоркартах і навіть отримувати за це пристойні гроші, але чи буде вам то до душі? P.S.: Шурупокрут через рік вкрали охоронці будівлі, яку орендувала церква. Хотів зараз такий самий купити, а їх вже не роблять. ### Звукоізоляція URL: https://www.rozhkov.me/daily/soundproof/ Last updated: 2022-07-28T16:38:58.000Z До війни в коворкінгу в нас був свій кабінет на 4 особи. Після початку війни всі мої колеги роз'їхалися. Кабінет тримати стало економічно невигідно, тому я переїхав до опенспейсу і тепер насолоджуюсь чудовою музикою та балачками сусідів з контори «Uklon». Але мова не про те. У сусідньому кабінеті сиділи співробітники аутсорс контори. Зазвичай там тусувалась пара рекрутерів та якийсь менеджер. І от щоб ви розуміли, "кабінет" то є просто простір огороджений тонкими непрозорими скляними стінками, відповідно нам було чудово чути наших колег, а їм—нас. Менеджер знаходився десь на верхній ланці, бо часто розпікав своїх колег за некомпетентність, вирішував якісь питання з перестановок та звільнень. Одного разу я півгодини слухав як він разів зо 10 комусь пояснював що ручне тестування зараз не в трендах взагалі і якщо вони скажуть клієнту що в них основна стратегія це тестування вручну то клієнт їх звільнить. І треба терміново пояснювати QA ліду щоб він займався автоматизацією і продавати клієнту сучасні методи тестування. І так по колу. Іншого разу якісь чутливі питання обговорював. Ніби воно й нічого, але трохи відчуваєш себе як в американському туалеті, де стінки з гіпсокартону і шпарини в два пальці товщиною. Дівчата-рекуртерки пліткували. Інколи до них заходив ще якийсь чувак і починав розважати панянок дотепними жартами. Сміялись усім офісом. Але маю зізнатися, що все-таки краще сидіти в кабінеті ніж в опенспейсі з музикою та продактами сервісу таксі. ### Вимірюємо ефективність програмістів URL: https://www.rozhkov.me/on-developer-productivity-measurment/ Last updated: 2022-07-29T19:38:20.000Z Минуле оповідання про [настільний теніс](https://www.rozhkov.me/office-games/) добряче підсмажило дупки програмістів. Воно і логічно—ніхто не любить, коли його стереотипно заганяють у якісь рамки. *Особливо ті, хто непродуктивно проводять час на роботі.* Як тільки люди дізнаються що їх вимірюють за якимись показниками, то вони миттєво [придумають як обіграти систему](https://www.rozhkov.me/daily/game-the-system/). Якщо взнають що ігри в офісі якимось чином дійсно суттєво впливають на кар'єру—ніхто не буде грати. Якщо взнають що міряють кількість комітів—почнуть робити більше комітів. Якщо по тікетам—почнуть плодити тікети. Якщо через шпигунський софт який фоткає вас на камеру щогодини—поставлять замість себе відеозапис. Варіантів безліч. Розгорнеться гонка озброєнь, в якій програють всі. Особливо постраждає репутація компанії, яка раптом вирішила звільнити людей які не проявляють активності в корпоративному тасктрекері. *Проте*, я твердо переконаний що на підставі різних метрик активності можна зробити деякі висновки щодо продуктивності окремо взятого розробника. І для цього не треба теоретизувати. Я чітко бачу по своїй праці, що продуктивність сильно кореліює з кількістю мердж реквестів, комітів та закритих тікетів. Можна хоч зараз відкривати теплову карту гітлабу по якій буде видно—отут працював, отут була бага в клієнта, отут купка фіч, а отут нічо не було бо я шарився. Робота програміста—вирішувати проблему шляхом програмування. Продукт—це власне програма. І якщо цієї програми немає, то до такого програміста виникають питання. Можливо, він "думав", можливо змарнував час на якісь інфраструктурні питання, можливо десь недопрацював продакт мененеджер і щось зробили але потім викинули, а можливо він золота ракетка опенспейсу і просто не працює. Чим більша організація, тим простіше приховати те що ти не видаєш ніякого результату. Всім відомі анекдоти про людей які роками нічого не робили і отримували за це гроші. Але мова не про це. Мова про те, що можна взяти якісь метрики (кількість комітів, тікетів і так далі), порахувати їх для всієї команди і подивитися на тренди. Гарантую, що більшість буде веслати ±однаково, а у голові та хвості будуть виключення. Швидш за все це і є наші хай- та лоу-перформери. Це привід почати ставити питання. Чому всі роблять по 3 мердж реквести на тиждень, а цей чувак 0.5? Можливо погано поставлена задача? Може навпаки, задача дуже велика і він з нею чудово впорався, та його 1 MR вартує десятка "звичайних"? А може то просто інтровертний пасажир, який намагається подолати всі труднощі самотужки, замість того щоб запитати у колег? А може він реально лоу перформер і пора його викидувати за борт? Ситуації різні бувають. Я думаю всі розуміють що я не пишу про ML-алгоритм який порахує дамп джири і видасть список людей на звільнення. В командах де я керував, я завжди розрізняв хто добре перформить, хто нормально, а хто не дуже. Для цього не треба бути генієм "емоційного інтелекту", воно і так видно, тому до актуальних замірів метрик я жодного разу не доходив. І справа не в тому що одні можуть бути більш видимі а інші менш. На дистанції зрозуміло хто чого вартий. В мене були топові хлопці які постійно висіли на розважальних сайтах або брали першість з офісного тенісу. Були і такі що копали з ранку до ночі а результатів не було. Були такі що за день слова не скажуть, а веслають нормально. Висновок: відчуваєте що щось не так, але не розумієте що—пишіть скрипта, рахуйте коміти та звільняйте ледащо до бісової мами☝️ ### Хитрі ділові люди URL: https://www.rozhkov.me/daily/kippah-businessman/ Last updated: 2022-07-27T08:05:12.000Z В лобі того ж БЦ до війни постійно сиділо один-двоє чоловіків характерної зовнішності, з кіпами на голові. На столиках були розкладені ноутбуки, численні папери. Бізнесмени жваво щось обговорювали один з одним або по телефону з партнерами. Ніхто не забороняє тобі просто так сидіти на дивані, але охоронець мав би звернути увагу на те що одні й ті самі люди там крутяться з 10 ранку до 18 вечору 5 днів на тиждень і зробити їм якесь зауваження. Можливо, в них була якась домовленість, може просто вони заносили трохи грошей кудись. А може то й були власники БЦ. Зараз їх вже не видно. Певне виїхали. ### Апач томкат сервер URL: https://www.rozhkov.me/apache-tomcat-interview/ Last updated: 2022-07-26T08:05:16.000Z Був якось дуже давно я на співбесіді в конторі 4shared. *Щойно прочекав, виявляється вони ще працюють. Якщо хочете пригадати вайби часів Windows Vista, зайдіть на їх блог.* Я тоді подавався на джава програміста і проміж інших стандартних питань, інтерв'юер вирішив трохи напрягти мене по сисадмінським справам і запитав "ось в тебе задача з нуля сконфігурувати та підняти апач томкат на чистому сервері, скільки часу то займе?". Я в ті часи працював в конторі, в якій деплойментом займалися спеціально навчені люди. Ба більше, там навіть мерджом гілок та релізами займалися окремі люди! Програмісту тільки код запушити, а далі все само відбувається. Апач томкат я відповідно ніколи не піднімав (хоча брешу, піднімав ще коли був студентом та здавав якісь лаби по JavaEE), в нас на проектах був Weblogic хитрої конфігурації який ніхто ніколи не налаштовував локально, і питання мене примусило трохи задуматися. Я гадки не мав наскільки там все складно чи просто. Можливо у більш спокійній ситуації я би відповів коректно але тоді сказав "мм...тиждень? може пару днів? не знаю, ніколи не налаштовував апач". Інтерв'юєр з мене посміявся і сказав "максимум пару годин має така задача часу зайняти". Звичайно якби мені дали гугл то я би через хвилину розібрався і зрозумів що нічого складного там немає. Що сказало те питання інтерв'юєру крім того що він переконався що я не мав справи з томкатом? Не знаю. Офер мені дали, але я туди працювати не пішов, і натомість обрав [маленький британський стартап](https://www.onedome.com/). А ще в них був прикольний власний(!) офіс на воздвиженці, досі коли там гуляю то згадую ту співбесіду. Втім перший офіс маленького британського стартапу теж був на пейзажці, тому тут я не програв. Висновків немає. ### Співбесіди на дивані URL: https://www.rozhkov.me/daily/sofa-interviews/ Last updated: 2022-07-26T05:30:00.000Z В БЦ де знаходиться коворкінг, в якому я зараз працюю, є велике лобі. Там досить багато диванів, столиків і всього такого. В коворкінгу базується чи то рекрутингова аґенція, чи то аутсорс контора, і вони регулярно проводять співбесіди. Щоб провести людину до себе, треба зареєструватися на ресепшені БЦ, потім в апці заапрувити запит на відвідування, після чого пані на ресепшені дає вам пропуск за яким можна пройти всередину БЦ а також в коворкінг. На виході пропуск повертаєте. Як я повернувся працювати, то помітив що дівчата з аґенції вже не проводять людей всередину а зручно розташовуються на диванчиках у лобі, так спілкуються з кандидатами там. Виглядає та й звучить це максимально крінжово. Уявіть—ви сидите в шумному залі, з одного боку—дві панянки, з іншого—майбутній весляр. Повз бігають охоронці, кур'єри, працівники БЦ, люди які зайшли до кав'ярні. Відстань між вами десь метра два, доводиться досить голосно говорити про всякі інтимні речі типу чому ви обрали саме нашу компанію, та скільки грошей хочете отримувати. Думав що очно з рекрутерами вже ніхто не говорить, але схоже що ця практика починає відновлюватися. Якось після чергової співбесіди я перетнувся з дівчатами у ліфті і запитав, "а що це ви людей не запрошуєте до себе" на що мені відповіли щось на кшталт "та впадло". Продовжую вести спостереження та крінжувати коли бачу бідолагу на диванчику. P.S.: поки писав то повз пройшли дівчата, на чергову співбесіду. ### Ігри в офісі URL: https://www.rozhkov.me/office-games/ Last updated: 2022-07-25T19:37:26.000Z Популярна тема—розважати дітей настільним тенісом, плейстейшеном, кікером. Дорослі дітлахи з задоволенням стукають м'ячиком, мучають нещасний стіл, вовтузяться у мортал комбат. Всім весело. А мені ці ігри чомусь ніколи не були цікавими. Навіть жодного разу в голову не прийшла думка сісти грати в плейстейшен, вже не кажу про теніс. Єдине що на одному з офісів де я працював той теніс досить заважав бо в мене був кабінет якраз навпроти нього, а в теніс колеги грати дуже любили. Дійшло до того що керівництво щось написало з приводу того що люди забагато грають. Але нащо тоді було ставити стіл? Щоб потім влаштовувати репресії? Незрозуміло. Кікер взагалі супер гучний. Добре, що в коворкінгу де я зараз знаходжусь, хороші двері які не пропускають звуків з коридору. Нещодавно один із співрозмовників у культурній бесіді висловив думку що в ігри грають лоу-перформери і можна таких спокійно звільняти. Непогана ідея—влаштовувати щомісяця чемпіонат з тенісу, де за перше місце нагородою буде severance package з пари нових ракеток та допомога з пошуком нової роботи. Втім, у мене в старому колективі грали як потужні хлопці так і не дуже. Але деяка кореляція здається все-таки була 🤔 Впізнали себе? Погоджуєтеся? P.S.: зараз звичайно ніхто в офіси не ходить і в теніс більше не грає🥲 P.P.S.: ще один хороший маркер для лоу-перформерів—це кількість коментів на ДОУ😏 ### Ігнор URL: https://www.rozhkov.me/daily/ignore/ Last updated: 2022-07-25T21:17:21.000Z Не так давно до мене дійшло що можна не відповідати людям якщо тобі то не треба. Наприклад, [не обов'язково](https://www.rozhkov.me/stop-answer-to-recruiters/) писати рекруретам "дякую вакансія не цікава", не обов'язково відповідати якомусь рандому на форумі, в твітері або у коментах. Мені часто пишуть з приводу реклами або продажу каналів, якщо раніше я щось там відповідав, то зараз або ігнорую або блокую людину. Раніше думав що сміється той хто сміється останнім та постійно встрягав у непотрібні суперечки де витрачав купу часу. Зараз зрозумів що мислепаливо треба економити☝️ ### Біґдата у терміналі URL: https://www.rozhkov.me/bigdata-in-a-shell/ Last updated: 2022-07-24T11:08:36.000Z Ще з самого початку існування нашої пиріжок спільноти, мені було цікаво зробити статистику повідомлень. Типу хто скільки за який період написав. Функція не несе ніякого змісту, але ж цікаво дізнатися, хто найбільше зависає? Коли робив бота для встановлення кастомних статусів, то вирішив заодно додати туди простеньку статистику. Після підключення у чат один з учасників поцікавився, з якого періоду вона рахується? Чи можна отримати результати за весь час існування чату? Я був лінивий, тому не робив ретроспективних підрахунків, але тут стало цікаво самому. Звучить як задача для біґдата інженера! Телеграм має можливість експортувати історію чату в JSON. Я почав піднімати Spark-кластер на EMR через пачку Terraform шаблонів щоб зробити `groupBy("name").count`, та запустив експорт бо він займає деякий час. На виході отримав файл на 100 мегабайт. Останній раз чат чистився в кінці 2020 року, тому історія збереглась за півтора роки. Я вже був готовий робити `aws s3 cp chat.json s3://big-data-bucket` та заряджати кластер на роботу, але потім згадав що біґдату можна прогнати баш скріптами. За пару сек пошуків зібрав команду `cat chat.json | jq '.messages[].from' | sort | uniq -c | sort -nr` яка моментально порахувала мені топ. *Воно там не фільтрує сервісні повідомлення, але то вже хай читач фіксить.* EMR кластер ще навіть не піднявся, тому я швиденько його загасив. А тепер уявіть скільки грошей недоотримають AWS, Databricks, GCP, Azure, Snowflake та інші контори, якщо люди будуть трохи думати головою перед тим як запускати [m5d.8xlarge](https://instances.vantage.sh/aws/ec2/m5d.8xlarge) інстанси? P.S.: виявилося що в топі я на другому місці. Ганьба—скільки часу змарновано! P.P.S.: порівнювати зі спарком я вже не став, бо то би зайняло трохи більше часу. Для тих кому цікаво, є класична стаття [«](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)[Command-line Tools can be 235x Faster than your Hadoop Cluster](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)». P.P.P.S.: за ідею підрахунку статистики дякую нашому активному учаснику, пану [наглядачу ](https://t.me/psyson)[Психотрон](https://t.me/psyson)ної в'язниці. ### Статус бот для телеграму URL: https://www.rozhkov.me/telegram-status-bot/ Last updated: 2022-07-28T16:40:12.000Z Торік я помітив, що став надто багато часу проводити у нашому пиріжок чаті. Постійне спілкування відбирало енергію, яку можна було б спрямувати на корисні справи. Взагалі, чат де ти активно спілкуєшся це чорна діра, куди непомітно витікає все мислепаливо. Тому я чат передав довіреній особі, а сам з нього вийшов. Але мені хотілось залишити можливість видаляти повідомлення та банити користувачів. Чат прив'язаний до каналу і відповідно якщо в коментах неподобство то це не можна просто так залишати. Ще пару років тому я [робив бота](https://www.rozhkov.me/joy-of-programming/) який би мав видавати людям покарання за матюки. Олди пам'ятають фідошну систему \*/+/x, її теж хотів зробити. Але бот так і не запрацював як має бути, та просто висів у чаті виконуючи деякі сервісні функції. Я згадав про нього і придумав простий спосіб як залишити собі можливість контролювати чат—треба просто навчити бота реагувати на мої команди. Так я швиденько зробив команду `del` під повідомленням яка просто видаляла його. Плинув час, я успішно перестав прокрастинувати у чаті, повернувшись натомість на [HackerNews](https://news.ycombinator.com/). А потім бахнула війна, і щоб якось бути в курсі що відубвається я знову повернувся до чату на постійній основі. Тоді ж я звернув увагу що користувачам у чаті можна проставляти кастомні статуси. Якщо зробити користувача адміном, то за замовучанням він отримає статус "admin", таким чином інші учасники будуть бачити хто є хто. І ось цей статус можна міняти. Телеграм дозволяє робити адмінів "без прав", тобто можна безпечно роздавати статуси будь-яким користувачам. Єдине що вони зможуть робити— це бачити список адміністраторів та реєстр останніх дій. Мені то здалося досить дотепним і я через довірену людину проставив відповідні статуси найактивнішим учасникам нашої спільноти. Але адмінських прав у мене не було, а смикати власника чата на кожну зміну не хотілося. Тоді я знову повернувся до бота. Через API можна [додавати нових адмінів](https://core.telegram.org/bots/api#promotechatmember) та [ставити їм кастомні статуcи](https://core.telegram.org/bots/api#setchatadministratorcustomtitle). Тиждень я прокрастинував, а вчора нарешті дістався до реалізації. По ходу справи викинув увесь старий код—визначення матюків, видачу покарань, підрахунок соціального рейтингу і так далі. Залишив тільки мінімум: `!del`—видалити повідомлення `!ban`—забанити користувача `!promote <статус>`—надати користувачу статус `!demote`—забрати в користувача статус `!top`—подивитися топ користувачів по кількості повідомлень. Схожі боти вже давно існують і мають ще багато всяких цікавих функцій, але мені не хочеться пускати чужинця у свій чат, тому і написав свого. До того ж це просто програмування заради задоволення. Ви теж можете додати його собі: @chat\_keeper\_bot. Потрібно видати відповідні права: додавати адмінів, блокувати користувачів, видаляти повідомлення. Він буде реагувати тільки на команди тих учасників, які вже мають відповідні права. Нашо ж тоді бот, якщо можна це все робити через UI телеграму? Ну, я робив його для того щоб роздавати та видаляти навіть якщо я не є в чаті. Зараз це кастомна конфігурація у базі. А ще через команди зручніше. Поки я писав-робив-деплоїв, то мені вся ідея зі статусами вже перестала здаватися такою ж дотепною як і раніше, а "статистика"—просто безглуздою. Я хотів ще робити Web UI щоб можна було дивитися всіх учасників зі статусами і мати там кнопки щоб встановити/змінити, але посередині шляху зрозумів що то якась фігня і зупинився. Втім я вирішив що так просто лишати бота не годиться, треба доводити справи до кінця, тому я його доробив і презентую вам. ### Культура письма URL: https://www.rozhkov.me/daily/written-culture/ Last updated: 2022-07-21T05:30:00.000Z Час від часу я пишу про асинхронну комунікацію та труднощі, з якими стикається сучасна людина. Смартфони, нотифікації, постійна включенність в мережу та несвідоме ставлення до споживання контенту різко скорочує проміжок часу, в який людина може сфокусуватися. Відповідно страждає вся комунікація. Дедалі менше людей спроможні до змістовного формулювання думок більш ніж на одне речення. Короткі повідомлення у чатах, малозмістовні коментарі до комітів, пусті дескріпшени в мердж реквестах, постійні дзвінки, відсутність нормальних формулювань задач. Того тижня я натрапив на статтю 37signals про те [як в них в компанії відбувається комунікація](https://37signals.com/how-we-communicate) і мені знову захотілося проітерувати свої думки щодо цього. Ніхто не хоче занурюватися у культуру письма. Це потребує фокусу, зусиль, і люди—свідомо чи несвідомо, деградують разом з тік-током який вони переглядають. Змістовне листування маргіналізувалося. Навіть я за місяці війни помітив що тупію—бо почав активно читати новини, писати в чатах. Все це погіршило когнітивні функції. Зараз потроху відновлююсь, але справа йде повільно. Що з цим робити—неясно. Культуру письма просувають окремі фріки. У всіх інших нема на те часу. ### Game the system URL: https://www.rozhkov.me/daily/game-the-system/ Last updated: 2022-08-03T10:17:59.000Z Як тільки людям стає доступною система, через яку можна викачувати гроші, вони неодмінно будуть намагатися скористатися цим з максимальною ефективністю. Те, що задумувалося як більш-менш чесний маркетплейс, миттєво перетворюється на тотально комерціалізований продукт, який підтримує якість на мінімальному рівні. Коли я вперше скористався AirBnB щоб зняти хату в Одесі, то мене зустріла пані, яка явно там не жила. Зараз більшість оголошень—не від звичайних людей, що кудись поїхали на вихідні, а від [професіональних ріал істейт бізнесменів](https://www.dw.com/en/airbnb-dominated-by-professional-landlords/a-39972379), які мають десятки квартир і винаймають штат працівників, щоб пильнувати те господарство. Моделі які продають свої хтивки на сайті OnlyFans, часто віддають усю роботу крім мінімально необхідної (власне фото та відео-контенту) на аутсорс [спеціальним компаніям](https://www.nytimes.com/2022/05/16/magazine/e-pimps-onlyfans.html), а точніше радше навпаки—компанії та прудкі підприємці шукають моделей, а все інше—маркетинг, спілкування з клієнтами, smm і так далі роблять самі, забираючи собі левову частку прибутків. Ото платить якийсь одинокий багатій з америки купу грошей за приватний чат з гарною панянкою, а насправді з ним спілкується жіночка з південно-східної Азії, що працює за пару доларів на годину, в той час як справжня модель ходить по бутикам та займається своїми справами. Fiverr, маркетплейс для дрібного фрілансу, теж заполонили бізнеси а не люди. Я хотів замовити собі вичитку англійського тексту професіоналами і перша сторінка у пошуку видала профілі людей, які явно не займалися тим самі. Ясне діло що для таких нескладних задач краще винайняти штат коректорів а маркетплейс використовувати як канал продажів. Проте звичайній людині буде складно конкурувати з таким. Не дуже чесно. Історії коли на Upwork роботу роблять [фейкові акаунти](https://news.ycombinator.com/item?id=32096656) вже давно стали стандартом. Я думаю кожен з вас отримував на лінкедін повідомлення від якогось китайця, що пропонував здати йому в оренду свій акаунт на Upwork (ймовірно тому що американці або європейці мають більше шансів отримати замовлення) за відсоток. По посиланню вище ви можете прочитати як часто люди натрапляли на акаунти які відмовлялися вмикати камеру, погано виконували роботу та пропонували співпрацювати поза Upwork. Також стандартна для нашого дрібного аутсорсу історія, коли за одним акаунтом працює купка джунів, бо корпоративний профіль компанія не хоче оплачувати. Компанії які надають "інформаційні послуги" з пошуку таксі ніби дають можливість заробити пересічному громадянину з авто? Але значна частка машин належать автопарку який здає їх в оренду водіям за космічну таксу. І такі історії всюди, де є можливість якимось чином схитрувати та обманути систему—цим будуть користуватися. Корені цього тягнуться з глибини віків, коли, наприклад, картини писав не майстер, а його учні, але робота видавалась як оригінальна. Не те щоб це все викликало подив, але воно трошки нечесно і неавтентично. Хочеться щоб хату тобі здавали справжні люди які там живуть, модель на онліфансі відповідала особисто, роботу на апворку робив справжнісінський чесний китаєць а таксист був на своїй автівці. Нічого поганому в цьому немає, аж поки біля оголошення є відмітка "бізнес", а контора не прикидується людиною. ### 🇺🇦daily rozhok №9: три місяці війни🇺🇦 URL: https://www.rozhkov.me/daily-rozhok-9/ Last updated: 2022-06-10T06:00:00.000Z Вітаю, друзі! Сподіваюсь ви всі живі-здорові та в безпеці. Сьогодні ділюсь з вами десятком історій які трапились зі мною в перші місяці війни. [Если завтра война](https://www.rozhkov.me/daily/if-war-tomorrow/) — пост написаний за три дні до війни. У вечір перед нападом ми з колегами мирно сиділи в грузинському ресторані, їли та пили і обговорювали що «нє, ну на Київ точно не підуть, в цьому ж немає ніякого сенсу, максимум локальні сутички на Донбасі». Через 12 годин наше життя назавжди змінилось😢. [Засраные головы](https://www.rozhkov.me/daily/shitheads/) — пост для людей які думають ще це ок хуярити по нам ракетами, вщент знищувати наші (між іншим російськомовні) міста, та вбивати нас за те що «ущємляют права рускаґаварящіх» та «8 лєт бамбілі данбас». В коменти прийшла пара ватанів які почали рахувати відсотки російськомовних школ після 2014, а один навіть здивувався що я виявляється «підтримую націоналістів», лол. Бажаємо всім таким мишебраттям якнайшвидше потужної бавовни до вікна. [Бус](https://www.rozhkov.me/daily/bus/) — в перший тиждень ми вже почали волонтерити та допомагати людям. Дякую вам, мої любі читачі за фінансову підтримку у цій справі. Пост про те що було б непогано мати бус. [Дефіцит](https://www.rozhkov.me/daily/food-shortage/) — однакові товари на полицях супермаркетів як на початку дев'яностих. [Логістика](https://www.rozhkov.me/daily/waste/) — шукаю склад для гуманітарки. [Вихідний](https://www.rozhkov.me/daily/weekend/) — вперше за два місяці вийшов до міста. [Сердиті люди](https://www.rozhkov.me/daily/grumpy-people/) — всі на нервах і мої сусіди не виключення. [Новояз](https://www.rozhkov.me/daily/newspeak/) — обговорюємо тренди сучасної російської мови. [Озброєні люди](https://www.rozhkov.me/daily/armed-people/) — за ці місяці я мав справу з неймовірно великою кількістю людей з автоматами. Ділюся враженнями. [Двері](https://www.rozhkov.me/daily/doors/) — ще того грудня замовив двері, але їх не встигли зробити до війни. Без дверей в туалет складно коли в тебе живуть гості. [Світломаскування](https://www.rozhkov.me/daily/lightmasking/) — вимикаю світло в хаті щоб блєдіна у вікно не залетіла. [Тиша](https://www.rozhkov.me/daily/silence/) — радію коли не чути роботи артилерії та ППО. [Демілітарізація](https://www.rozhkov.me/daily/demilitarization/) — нецікава військова техніка. [Злякався](https://www.rozhkov.me/daily/scared/) — історія про ґонорового сусіда який не хотів ходити в бомбар. [Врятувати рядового Барсика. Ключ](https://www.rozhkov.me/daily/saving-private-barsik-key/) та [Врятувати рядового Барсика](https://www.rozhkov.me/daily/saving-private-barsik/) — як ми визволяли з закритої квартири кота одного з дописувачів. [PTSD](https://www.rozhkov.me/daily/ptsd/) — сіпаюсь від гучних звуків та машин з прямотоком. [Маски](https://www.rozhkov.me/daily/mask-off/) — остаточна перемога над коронавірусом. Хоч щось добре. [Робочі околиці](https://www.rozhkov.me/daily/working-class-real-estate/) — їздимо по маргінальним районам. [Сантехнік](https://www.rozhkov.me/daily/plumber/) та [Сантехнік. Історії](https://www.rozhkov.me/daily/plumber-cool-stories/) — дивовижні філософські бесіди з сантехніком з Троєщини під звук сирен. [Жора знову намагається таксувати](https://www.rozhkov.me/daily/zhora-taxi-2/) — чергові кулсторі про Жору. Не знаю як у вас а у мене досі люто горить срака від абсурдності, тупості, жорстокості, цинічності та нелюдяності цієї війни. Просто в голову не вкладається. P.S.: долучайтеся до каналу мого друга — [Військового Капелана](https://t.me/kapelan%5Fit). Нещодавно він їздив з гуманітаркою на Донбас, записав пару відосів з нашими захисниками. P.P.S.: [музичне відео в тему](https://www.youtube.com/watch?v=ows4RKuxh0g). Мене бере за душу. 🇺🇦Все буде Україна!🇺🇦 ### Жора знову намагається таксувати URL: https://www.rozhkov.me/daily/zhora-taxi-2/ Last updated: 2022-06-07T11:08:11.000Z З початком війни наш друг Жора залишився без роботи тому що будівництво об'єкту де він працював зупинилося. Минуло три місяці, у Києві потроху все почало відновлюватися, але конкретного його будівництво досі стоїть. Роботи немає, хочеться їсти. Жора лінивий і не захотів йти в Троєщинське ТРО до знайомого щоб принаймні мати що поїсти, іншу будівельну бригаду шукати теж не хоче. Незважаючи на [негативний досвід з таксі у минулому](https://www.rozhkov.me/daily/how-to-become-homeless-2/), він досі цим марить. Того тижня я їздив таксі. Натрапив на балакливого дядька з Херсона. Він сам вже давно живе в Польщі, а до Херсону приїхав щоб документи оновити і родичів провідати. Не пощастило—бо якраз попав на початок війни. Втім, через місяць окупації він таки зміг виїхати звідти і зараз живе в Києві. Так от, він мені сказав що за день який передував, заробив аж 100 гривень. Причина—ціни на пальне (газ) піднялися, а тарифи у агрегаторів—ні. В результаті люди таксують собі в збиток, бо амортизація машини з'їдає і ту нещасну сотку. Важливе уточнення—дядько їздить на орендованій машині. Там треба платити від обороту 40%, тому таксисти на своїх автівках мають шанси заробити більше. Але як нам відомо, в Жори своя машина то іржава дев'ятка, а таку в таксі не беруть. З такими перспективами ловити йому в таксі точно нічого. Бо якщо кмітливий дядько заробив такий дріб'язок, то наш недолугий друг, який може пустим їхати з Борисполя, точно піде в мінус. Дружина відмовляла його від тої дурної справи, але Жора є непереборним у своїй тупості та все-таки пішов таксувати. Результат—вчора, у перший день роботи, він «заробив» -400 (**мінус** чотириста) гривень... ### Сантехнік. Історії URL: https://www.rozhkov.me/daily/plumber-cool-stories/ Last updated: 2022-05-17T06:00:00.000Z За вечерею Юра почав травити нам історії, одна цікавіша за іншу. Коли ми закінчили зі смолл-толком про поточні події то він перейшов до філософії, та почав у стислому вигляді переказувати "трансерфінг реальності", типу треба уявляти що в тебе вже є гроші ~~і рухати тазом~~ і тоді вони в тебе з'являться. А якщо ти не готовий до багатства то в тебе його і не буде. Далі розповів як в нього кепсько йшли справи коли жив у селі на Вінничині. Він міг працювати на будівництвах у Києві, але через те що доводилося розлучатися з сім'єю то було йому недопводоби. Але і без грошей було жити не варіант—бо в селі роботи не було. Якось йому підвернулась можливість допомогти знайомим копати колодязь. Він впрягся, хоч і за дрібний прайс, і з часом почав займатися цим регулярно. Працюючи в наймі, він ретельно вивчив технологію та прошарив пошук води рамкою. Так він і працював, коли якось його сусідка попросила викопати колодязь. Він погодився, і це стало початком вже не роботи в наймі, а власного бізнесу. Наш Юра став професійним колодязекопателем. Викопав колодязі по всьому селу, мав свою бригаду і ставив кільця дуже точно. На 10 метрах казав відхилення було максимум пара сантимертрів. Воду знаходив завжди. Справи йшли добре, поки не сталося декілька інцидентів—обірвався трос і він впав з висоти семи метрів. Діставали його звідти добу. Серйозних травм він не отримав, але з колодязями вирішв зав'язати. Наскільки я зрозумів, зароблених грошей вистачило на будиночок на Троєщині. Юра переїхав і далі повернувся до роботи сантехніком. Замовлень було багато, вистачало на нормальне життя. Але працювати сантехніком йому не хотілося, бо грошей так багато не заробиш. Тому він почав шукати де ж його можна заробити. Далі Юра почав розповідати фантастичні історії: що він купує якісь курси то по маркетингу, то по дропшипінгу, то ще якусь інфоциганщину де люди вчать як заробляти. Ну і він відповідно намагається щось з того зробити. Розказав історію як шахраї-інфоцигани його розвели на бабки, пару тисяч баксів чи щось таке. Зараз він хоче сфокусуватися на інтернет-магазинах та дропшипі. Вже купив курс, ніби хороший і ось-ось має піти діло. Я ото все мовчки слухав, бо Юра виявився супер балакливим дядьком, і все більше дивувався як такі історії можуть відбуватися. Далі він почав говорити про сім'ю і про те що до дружини треба добре ставитися. Він ставився погано, ну тобто як погано—копіював поведінку батьків і мав сварки, а потім переосмислив, почав дружину поважати, приділяти увагу і робити всі інші штуки з гайдів по стосункам і все пішло догори. По розмові з дружиною було чути що справи в них ок. Врешті-решт коло другої ночі вдалося його покласти спати. Вранці Юра ще потравив трохи історій, але ми мали були десь їхати, тому сердечно попрощались. Отак з таким інтелектуалом-сантехніком ми познайомились. ### Сантехнік URL: https://www.rozhkov.me/daily/plumber/ Last updated: 2022-05-16T06:00:00.000Z Якось в перші дні війни©™ пізно ввечері ми поверталися додому після поїздок за кормами, та побачили що хтось є в нашому бомбосховищі. Спустився—дивлюся, а там в одній із кімнат мужик лупає стіну, намагаючись її розібрати. Зі стелі капає вода, на підлозі вже серйозні калюжі. Знайомимось, виявляється що це сантехнік. У нас в будинку є хостел на першому поверсі, його комендант викликала сантехніка бо в них забилась каналізація і був ризик затоплення приміщень лайном. Потрібно було дістатися до ревізії у стічні трубі та спробувати її прочистити. Чавунна труба вже давно проіржавіла тому протікала, і те що з неї виходило фільтрувалося через бетонні панелі та капало нам на голову. Я подивився та зрозумів що так діло не піде—запропонував принести перфоратор щоб пришвидшити вирішення питання. Він погодився, я швиденько зганяв догори, приніс пристрій і подовжувачі. Добре що в бомбарі була проведена електрика і працювала розетка, ми підключилися і почали працювати. Справа пішла хутко, цегли полетіли донизу, але нас очікувало розчарування—ревізії не було. Що робити? Сантехнік людина досвічена і вирішив зробити ревізію власноруч. Взяв перфоратора і просто пробив трубу. З дірки відразу ж фонтаном полилось те що зазвичай знаходиться в стічних трубах—рідина коричневої консистенції та характерного запаху. Коли тиск впав, то наш майстер продовбав там повноцінний отвір. Далі всередину пустили сантехнічний трос. Він все ніяк не хотів нормально прокручуватися, тому під'єднали його до перфоратора і потроху почали запускати в трубу. На це ми витратили досить багато часу, тому що кріплення тросу до перфоратора постійно злітало. Але врешті решт ми його нормально так засадили і потягнули назад. Здогадайтеся, що ми витягнули? Хтось зумів спустити в унітаз велику ганчірку для швабри! Такі знаєте, прямокутні, можна купити в Епіцентрі. Не уявляю хто здогадався таке зробити і як йому це вдалося, вона ж досить велика. Витягнули це, потім ще раз запхали троса і знову дістали здобич—цього разу пластикове кріплення для освіжувача на унітаз. Разом з ним був ще якийсь мотлох, але це були два основні об'єкти які власне і заважали руху рідини у трубі. Подальше травлення тросу не виявило перешкод, тому з наявних засобів—старої камери від колеса мотоциклу та якихось шматків пластику наколхозили для цієї "ревізії" "дверцята" і закріпили їх стяжками. Почекали деякий час, переконалися що воно не протікає. Вже була одинандцята година, а сантехнік—Юрій, виявився мешканцем Троєщини. До нас він добирався пішки(!!!), а це десь кілометрів 15, не менше. Я йому кажу—ви вже додому не будете йти, переночуєте в нас. Він спочатку відмовлявся, але врешті-решт погодився. Тільки сказав що піде відмиється від лайна до хостелу і повернеться до нас. За годинку він прийшов, я дав йому свій одяг а його закинув у пральну машину. Мама приготувала нам вечерю і ми сіли їсти та слухати історії. ### Робочі околиці URL: https://www.rozhkov.me/daily/working-class-real-estate/ Last updated: 2022-05-15T09:19:47.000Z В перші тижні війни©™ коли ми возили корм для тварин, то відвідали багато м'яко кажучи небагатих сімей. В Києві, як і по всій країні немає такої чіткої класової сегрегації як наприклад в Штатах. У будинку в центрі поряд можуть жити і бандит, і алкаш, і стара бабця і айтішник. Цей розподіл дещо погіршується на околицях, але і там є пристойні під'їзди а є засрані, захаркані, обмальовані графіті та засмічені. В такий будинок неприємно заходити. Видно що про нього не дбають і всім начхати на те що відбувається за межами квартири. Але і в квартирі не дуже чисто. Я не вважаю свою хату еталоном чистоти та порядку. В мене дуже багато речей досі просто лежать на підлозі бо ніяк не можу замовити шафу та зробити комору. Проте мінімальну чистоту я підтримую—щодня їздить робот-пилосмок, у раковині немає брудного посуду, в кімнатах немає килимів які би збирали бруд та пил. Коли заходиш до людей і бачиш там товстий шар пилу, поганенький лінолеум, захаращену всіляким непотребом кухню, прокурені кімнати, то хочеться запитати—люди вам взагалі ок жити в такому срачі? Були в одної бабці, а та піддалась якійсь маячні з телевізора і вся її квартира забита коробками з товаром який вона не може продати. Каже що займається "маркетингом" але справи йдуть не дуже. В інших людей просто нечисто. Пил, сміття, пакети пакетів, давно нікому не потрібні речі які "шкода" викинути. Не люблю по такому ходити. P.S.: а ще на околицях значно краще було чути роботу артилерії. Я про це минулого разу забув написати, але як ми на Борщагівку приїжджали то місцями було враження що гатять десь поряд з нами, і то постійно. ### Маски URL: https://www.rozhkov.me/daily/mask-off/ Last updated: 2022-05-14T06:00:00.000Z Безперечно, найкраще що сталося від початку війни це раптово переможений коронавірус. Вже буквально в перший день всі моментально забили на маски та протиепідемічні заходи. Через очевидні причини коронавірус зник з новин а віджети з графіками захворіло/одужало замінили на віджети з втратами людей і техніки росіян. Надзвичайно приємно ходити без маски. В магазині почуваю себе людиною. Не треба діставати «Дію» і показувати сертифікат. Що трапилось? Де омікрон? Де нові, більш важкі штами? Де переповнені лікарні та інше? Хтось знає? ### PTSD URL: https://www.rozhkov.me/daily/ptsd/ Last updated: 2022-05-13T19:29:37.000Z Я тут в Києві не дуже бачив війну. Тільки чув. С 24-го по перші числа квітня щодня гуркотіло. Колись більше, колись менше. Перші тижні мене сильно тривожили звуки вибухів. Сидиш такий, ніби тишина, а потім "гуп, гуп, гуп". Страшно. Спати лягаєш в позі ембріона і молишся щоб до тебе нічого не прилетіло. Пощастило—всього два рази ракетні удари було достатньо близько щоб будинок похитався. Але від того несвідомо починаєш до всього прислуховуватися. Біля мене дорога, там є нерівність, і коли через неї проїжджають машини то вони трохи гупають і звук цей дуже схожий на далекий вибух. Cіпаєшся щоразу коли хто їде на великій швидкості. Людина до всього звикає і я за пару тижнів вже ніби трохи звик. Але все одно грім артилерії на околицях не давав нормально спати. Та найбільше я очканув коли десь коло нас чи то ДРГ ловили, чи то френдлі фаєр влаштували. Стою на кухні дивлюся у вікно і бачу як до неба летять червоні трасери, ймовірно від крупнокаліберних кулеметів. Як в зоряних війнах. Ото чомусь мене досить сильно налякало. Зараз вже трохи відпустило. Останні вибухи коли поцілили поряд з Артемом я вже майже не чув і не відреагував на них. Не знаю як людям які були під постійними обстрілами. Заборону на феєрверки підтримую. ### Врятувати рядового Барсика URL: https://www.rozhkov.me/daily/saving-private-barsik/ Last updated: 2022-05-12T06:00:00.000Z Міст проїхали без проблем. А от біля Дарницького вокзалу на зупинці побачили багато людей які ловили машину. Ми зупинилися, до нас підійшли дід з бабою. —"Вам куди?" —"На Позняки" —"Ок сідайте" Салон в нас був завантажений кормом та клітками, я швиденько перекинув то до багажника, старі сіли і ми поїхали. Звісно нам треба було в інший бік, але в ті дні взагалі не робив ніякий транспорт, таксі не ходили тому в людей не було ніяких шансів доїхати. Не кидати ж їх. Відвезли. По ходу діла дід сказав що ми обов'язково переможемо клятих рашистів. Отак. За тим ми через купу блокпостів поїхали вже на Рембазу. Всю дорогу я думав чи нас зустріне кіт, чи ми будемо його відкачувати, чи він вже двинув коні від спраги. На дверях під'їзду не було домофону, ми миттю дісталися четвертого поверху та відчинили двері. В квартирі нас зустрів сморід котячих катяшків та кудлатий кіт. Живий 😅. Хазяйка поналивала йому воду в купу тазиків і понасипала корму. Води ще було вдосталь, але корм скінчився вже давно і кіт перейшов на чорний хліб. Ми трішки прибралися, зателефонували власниці, показали кота, запакували його в м'яку переноску. Потім пішли до сусідки та залишили їй ключа щоб поливала квіти. На годиннику було за десять дев'ята, тому ми швиденько зібралися і помчали назад. На блокпості Дарницького мосту ми були за дві хвилини до комендантської години, ну а далі додому. Кіт розквартирувався у нас дома. Хазяйка просила залишити його у нас поки вона не повернеться, бо в них там усі родичі один в одного на головах живуть і коту нема куди. Ми погодилися. Люди ніби мають вернутися після 9-го травня, сподіваюсь що так і буде. Весь цей час рядовий Барсік живе у мене. Перші три дні він нічого не їв—стресував. Зараз вже ±нормально себе почуває, спить та їсть. Типовий кіт. Не залишайте своїх тварин на призволяще. ### Врятувати рядового Барсика. Ключ URL: https://www.rozhkov.me/daily/saving-private-barsik-key/ Last updated: 2022-05-11T08:44:10.000Z В другий тиждень війни до мене мене звернувся один з дописувачів. Його мама виїхала з Києва на Тернопільщину і залишила у квартирі кота. Ключі звісно забрала з собою—сильно квапилась. Чоловік попросив мене визволити кота бо вже минуло 10 днів скоро в нього закінчилась би вода. Нажаль, закриті та покинуті тварини—це супер розповсюджена історія. Багато з них загинули не від снарядів а просто від того що не мали можливості попити. Якщо вже лишаєш тварину—то хоча би залиш її на вулиці, там в неї будуть ненульові шанси вижити. Ми вирішили що мені передадуть ключа від квартири бусом і я заберу звідти кота. Бус мав приїхати на Видубичі, але через те що на в'їзді в Київ стояли блокпости, то невідомо коли то мало бути. Ми домовилися з людиною яка везла ключа що вони зателефонують як будуть під Києвом. Зателефонували, ми потроху почали збиратися, я думав що в нас ще багато часу тому що блокпости ж! Виїхали з дому, і тут вони знову телефонують "ми на місці, ви де?". А нам ще 10 хвилин мінімум їхати, я кажу так і так, їдемо. Трубку бере водій буса і починає питати де ми є. Я кажу—10 хвилин. Він починає нервуватися і кричати що ми так не домовлялися, він вже їде назад і його нічого не цікавить. Ми ще трошки поговорили і ніби я так зрозумів що вони ще будуть там якийсь час. Я попросив пані яка мала ключа щоб вона залишила його десь на автостанції, але там все було зачинено. Ну ок, ми все одно їдемо. Під'їжджаємо, я телефоную, кажу "ви де", а вони такі "а ми вже на виїзді з Києва". В мене знатно підгоріло, ви що не могли сказати що ви виїхали? Реально в такі моменти коли маєш справу з людьми які взагалі ніяк тобі не допомагають, то дупа горить капітально. Я розумію що ми були винуватими, бо неправильно розрахували час і не знали що фактично немає запасу, бо вони відразу повертаються. Що війна, комендантська година, люди всі на нервах. Але можна якось трохи подумати і спробувати нам допомогти? Врешті-решт я вмовив панянку залишити ключа де-небудь, бо ми не встигали їх наздогнати тому що їхали на автостанцію Видубичі а не на Столичне шосе, а там складна розв'язка через яку ми втратили купу часу. Вона незадоволено погодилась та повідомила що її чоловік віддав ключ військовому на блокпості. Я сердечно подякував та десяток разів вибачився за незручності. Вже через 5 хвилин ми вже були на тому блокпості та забрали ключа. Тепер треба було їхати до кота, а кіт знаходився аж на Рембазі. Південний міст тоді був зачинений для проїзду, тому довелося об'їжджати по Дарницькому. Продовження завтра. ### Злякався URL: https://www.rozhkov.me/daily/scared/ Last updated: 2022-05-10T06:00:00.000Z У мене в під'їзді по дві квартири на поверх. Більшість сусідів виїхала, але ті що зі мною на поверсі—залишилися. А вони якісь не дуже привітні, ми практично не розмовляли. Ну і от, в традиційні перші дні війни ми перетнулися і я питаю "шо ви там, не боїтеся, в бомбосховище не будете ховатися", а він такий "та ні, тут навколо нас високі будинки, боятися нічого". Хорохориться. Ну нічого і нічого, ми з іншими сусідами потроху облаштовували сховище, зносили туди якісь речі. А одного вечору я вже лежав дрімав, як раптом—БАХ аж будинок захитався. То було коли ППО збило ракету над вокзалом. Чую—сусідські двері відчиняються і вся сім'я біжить у бомбосховище. Злякалися. ### Демілітарізація URL: https://www.rozhkov.me/daily/demilitarization/ Last updated: 2022-05-09T08:27:58.000Z В дитинстві мене надзвичайно цікавила військова техніка. В бібліотеці була радянська «книга будущіх командіров» з картинками зброї та танків, сучасна енциклопедія «Аванта+» з цілими розділами присвяченими засобам знищення, на свої дрібні гроші ще малим купив «довідник літаків спеціального призначення» який годинами гортав, роздивляючись фото та схеми всіляких U-2. Чим далі в ліс, тим більше я втрачав інтерес до того всього. Вже в інституті повністю переключився на роботу, тому що створювати цікавіше ніж руйнувати. Військові музеї вже не цікавили і навіть виставку техніки російсько-української війни яка проходила на Михайлівській площі десь у 2018 я відвідав без цікавості. Ну танки і танки, великі. Що там на них дивитися? Дитяче захоплення повністю вивітрилось. В школі ми мали стріляти з АК, але якраз перед нашою чергою стрільби скасували, тому весь мій досвід володіння зброєю обмежився дев'ятьма кульками до ТОЗу. Вже дорослим я мав нагоду поїхати постріляти з чого завгодно на полігон, але втратив до того інтерес. Тому до цієї війни я прийшов в абсолютному незнанні що там у нас у них на озброєнні, що то за ракети по нам б'ють тому терміново довелося читати вікіпедію про Іскандери, Калібри та Х-55—хоча користі від того що ти інформований звісно небагато. ### Тиша URL: https://www.rozhkov.me/daily/silence/ Last updated: 2022-05-08T06:00:00.000Z В перший тиждень війни ми допомагали врятувати алабаїв, яких кинули напризволяще десь на Нивках. Собак було двоє—самець та самка. Здоровенні як телята. Самець сторожив течну самку та не підпускав до себе нікого, тому приїхав спеціальний ловець який влучними пострілами поцілив у псів шприцами зі снодійним. Собаки заснули, але враховуючи їх вагу, в нас було менше години щоб доправити їх до людей, які погодилися забрати псів до до себе. Задача ускладнювалась тим, що їхати треба було аж до Українки—міста під Києвом на протилежному боці від того де ми знаходилися. Інша складність полягала в тому що в ці дні люди активно лишали Київ створюючі на виїздах довжелезні затори. Міст біля Стоянки вже зруйнували та й по Житомирській трасі їхати вже було небезпечно, тому всі ломанулися виїжджати по Столичному шосе. Ну і наостанок в нас було мало часу—бо комендантська година починалась о 20:00 здається, а ми виїхали десь о п'ятій. Отож, ловець з нашою допомогою завантажив туши собак до багажника і ми поїхали. Звичайно, за годину ми не встигли, і враховуючи затори та постійні блокпости, доїхали до місця призначення за дві. Це була навіть не Українка, а дачне містечко ще в десятку кілометрів за ним. Коли ми приїхали та вийшли, то мене вразила тиша. В Києві в той час мало не щодня прилітали крилаті ракети і працювало ППО, а з мого будинку було чути роботу артилерії на околицях. Ото сидиш і сіпаєшся від кожного схожого на вибух звука. Постійні вибухи та тривоги не давали нормально поспати та підтримували високий рівень тривожності. А на тих дачах була така тиша! Ні гуркотіння, ні вибухів, ні сирен. Я на хвилинку пошкодував, що нам потрібно буде знову повертатися до неспокійного Києва. Ще півтори години ми вивантажували собак. То окрема історія, але вчотирьох ми якось впоралися, облаштували їх у сараї та поїхали додому. Ми мчали до Києва як раптом помітили як на узбіччі хтось махав ліхтариком. Пригальмувавши, ми вчасно побачили прямо перед нами протитанкові їжаки—дорога була не підсвічена і їх дуже погано було видно. Ліхтариком махали люди які в темряві не побачили їжака та на великій швидкості врізалися в один з них. Нащастя ніхто не постраждав. В останній момент водій якось крутанувся і зачепило лише бік машини, пасажир вцілів. Хлопці потребували буксирування до Києва. Ось-ось вже мала розпочатися комендантська година і був ризик що в місто нас просто не пустять. Проте ми причепили машину і повільно сунули, розраховуючи на те що військові поставляться до нашої ситуації з розумінням. Саме так і сталося, нас навіть не журили за те що їдемо пізно. Ми успішно проїхали купу блокпостів та дотягли потерпілих додому, добре що нам було по дорозі. Наостанок чоловік дав на пару банок меду зі своєї пасіки. Ми повернулися додому та швиденько заснули під гуркотіння. ### Світломаскування URL: https://www.rozhkov.me/daily/lightmasking/ Last updated: 2022-05-07T06:00:00.000Z Пам'ятаєте, в перші дні була істерія щодо міток, ліхтариків на дахах, коригувальників авіації та ракет і тд? Не знаю, на скільки це правда, бо через місяць про то вже ніхто не згадував. Але два місяці поки орки стояли під Києвом то ми світломаскувалися. Після заходу сонця вимикали світло і сиділи з маленькими лампами. Блекаут-завіс на вікнах у мене немає, так само як і дверей. І от якщо логічно подумати то яка може бути авіація над Києвом і кому потрібно те світломаскування коли ліхтарі на моїй вулиці цілком собі світять, але якщо нічого крім цього не можеш зробити, то воно працює як заспокійливе. От ми і заспокоювалися. ### Двері URL: https://www.rozhkov.me/daily/doors/ Last updated: 2022-05-06T07:44:17.000Z Ще того року у листопаді замовив двері. В мене в квартирі всього 7 дверних прорізів і лише у двох з них встановлено нові двері. Ще в одній кімнаті на саморізи прикручені старі двері, а у всіх інших нічого немає. Особливо незручно що немає їх у туалеті та ванній—ми там зробили завіси, але коли приходять гості то некомфортно. Проблема замовити була не в тому що не було грошей або часу, ні. Проблема була вибрати виробника та власне зовнішній вигляд. Як відомо, коли задача передбачає безліч варіантів рішення, то мозок прагне прокрастинувати а не робити. Врешті-решт ми дійшли до замовлення і ніби все би мали зробити до середини лютого. Попереднього разу все було вчасно тому і цього разу я не непокоївся. Прийшла середина лютого і двері мали бути готові "ось-ось". А далі почалась війна. І ніяких дверей ми звісно не побачили. Це було супер незручно, бо до мене переїхала мама та Жора та час від часу ночували різні люди. Два місяці потому дверей у нас немає. Того тижня черговий раз зв'язувався з директоркою виробництва, то вона сказала що наші ніби вивезли і намагатимуться доробити (тому що ви не заплатили повну ціну наперед). Звісно гріх скаржитися що в тебе немає дверей коли бачиш наслідки російської навали в Ірпіні або ракетних ударів по Києву. Сподіваюсь що всі потерпілі отримають нові домівки а мені нарешті встановлять довгоочікувані двері. ### Озброєні люди URL: https://www.rozhkov.me/daily/armed-people/ Last updated: 2022-05-05T08:12:03.000Z В перші дні війни формували тероборону та видавали автомати усім бажаючим. Цю новину миттєво рознесли по російським зливним бачкам пророкуючи нам мародерство, вбивства та грабунки від своїх же людей. В цей час ми дуже активно їздили містом і в мене жодного разу не виникло проблем з озброєними людьми на блокпостах. Показувати паспорт та пояснювати куди їдеш щодвадцять хвилин стало звичкою. Одного разу я був трохи сонний і поліцейський запідозрив що я наркоман—попросив вийти з машини та чи то до носа доторкнутися чи то щось таке зробити, а коли зрозумів що я в адекваті, то відразу відпустив. Іншого разу після комендантської години їхали без перепустки і неправильно зрозуміли знаки які подавав військовий на блокпості—він показував "зупинись", а я думав "їдь до мене". Військовий дуже розсердився і пояснив що він уже був готовий стріляти і щоб ми так більше не робили. Потім звісно теж пропустив. А так, на всіх блокпостах озброєні люди вели себе максимально коректно, навіть після комендантської години. Ми безліч разів пізно поверталися додому але жодного разу не виникало проблем. Ну, окрім випадку у Ірпіні, коли довелося просити поліцію вивести нас з міста, бо військові на блокпості нас завернули. P.S.: у нас в чаті був чоловік який ще перед війною казав що боятися треба більше своїх співгромадян аніж росіян, маючи наувазі що як тільки маргінальний елемент отримає зброю, то відразу піде розкуркулювати своїх більш забезпечених сусідів. Добре що він виявився неправим. P.P.S.: звичайно нещасні випадки та інциденти траплялися та будуть траплятися—френдлі фаєр, неадеквати, але це не є масовим. ### Новояз URL: https://www.rozhkov.me/daily/newspeak/ Last updated: 2022-05-04T06:00:00.000Z Коли читав 1984 ще років 10 тому, то ніколи б не подумав що це стане справжньою реальністю. Не війна, а "спєцопєрация", не вибух а "хлопок", не загоряння а "задимлєніє", не цензура а "фільтрация нєжелатєльной інформаціи", не падіння а "отріцатєльний рост", не громадяни України а "нацисти" і так далі. Залишилося дочекатися, поки це нагромадження шарів із брехні не розвалиться під своєю вагою. Бо всьому має бути межа. ### Сердиті люди URL: https://www.rozhkov.me/daily/grumpy-people/ Last updated: 2022-05-03T06:00:00.000Z На днях сварилися з сусідом з приводу того що ми у підвалі (сховищі) розмістили частину нашої гуманітарки. Сусід людина літня та поважна, спочатку наполегливо переконував нас що пара квадратних метрів які ми займаємо у сховищі це неприпустиме нехтування правилами безпеки, а потім перейшов на крик і почав звинувачувати нас у всіляких неподобствах та в тому що ми ведемо бізнес та знецінюємо його роботу. Конструктивного діалогу не вийшло зовсім. Врешті решт ми перенесли деякі речі з "загальної кімнати" до ходів які не використовуються. Ніби це тимчасово заспокоїло нашого сусіда, хоча я по очах бачу що його в цілому дратує те що ми зайняли якісь приміщення своїми речами. З одного боку воно зрозуміло—ракети літають над головою (ото на днях прилетіло в парі кілометрів від нас), війна, незнамо що буде. Може щось десь завалить а там буде стояти бокс для собак через який ми всі і будемо поховані заживо. А з іншого боку—хай вам грець, давайте реалістично дивитися на справи і давайте розуміти що ми тут не для себе туди-сюди тягаємо, а для людей і що ці речі тут не на постійно, а потроху вивозяться. Можна ставитися нормально. Взагалі приємно мати справу з людьми які думають не тільки про свій комфорт, а й про інших. Нажаль таких небагато, але як приклад, коли ми переїжджали до іншого гаражу, то власниця особисто допомагала нам тягати речі та все складати і потім ще телефонувала казала що може допомогти з розвозкою. Це приємно. А конфлікти на отакому підґрунті, коли фактично ми не для себе а для когось робимо і ще маємо виправдовуватися за це—неприємно. P.S.: на днях сусід позвонив і сказав щоб ми ще й зі сходів прибрали пакети та ящики які збоку поскладані. Хоча він взагалі живе в іншому під'їзді, а тими сходами ходимо тільки ми і все. P.P.S.: для розуміння сховище у нас має площу десь 200 кв.м. і практично пусте. ### Вихідний URL: https://www.rozhkov.me/daily/weekend/ Last updated: 2022-05-02T09:07:09.000Z В неділю влаштував собі маленький відпочинок і вперше від початку війни вийшов до міста. Блокпости та ретардери майже всі прибрали, про них нагадують тільки сліди на асфальті, поскладані на узбіччях бетонні блоки та окопи. Трафіку та громадян на вулицях стало значно більше. Парками шпацірують люди, зумери ганяють на електросамокатах, кабанчики з губастими фіфами вигулюють собак дрібних пород. Заклади відчиняються. Під «п'яною вишнею» та «хлібним» натовпи молодих людей. Якщо не придивлятися то і не скажеш що десь йде війна. Але багато магазинів і досі зачинені, в багатьох видно що всередині нічого немає. На вулицях ходять військові зі зброєю. На вікнах часто можна побачити наклеєний скотч щоб осколки не розліталися від вибухової хвилі. Я теж заклеїв, не знаю чи воно помічне чи ні, бо якщо близько бахне то виносить вікно разом із рамою. З'їв біля синагоги фалафеля, сів на безкоштовного тролейбуса, та й поїхав додому. На середині шляху зайшов міський юродивий який коментував все що навколо а потім сказав що "долар будєт по 40 а евро (через тверде "е") по 50! от дожилісь". Місто повертається до життя. ### Логістика URL: https://www.rozhkov.me/daily/waste/ Last updated: 2022-05-02T09:03:27.000Z Є в теорії управління виробництвом така штука як накопичення запасів на складі. Я забув точно, який для цього використовується термін, але суть така: у вас на складі не повинно зберігатися речей, які не потрібні для виробництва прямо зараз, або чогось очікують. Такий пассив коштує грошей тому що забирає місце, псується, потребує догляду. Тому у кваліфікованого менеджера на складі завжди є рівно те що потрібно, і ні палетою більше. Зараз нам почали доставляти з Європи гуманітарку для тварин. В перші дні ми закуповували все на складах наших рітейлерів за донати, але разом з маховиком війни розкрутився і маховик гуманітарки. І от з логістикою у нас складнощі. По-перше, потрібен склад. В перші дні ми використовували для цього підвал нашого будинку, але туди супер незручно і важко. щось заносити і виносити. Потім намутили у сусіда гараж поряд з будинком і завозили з логістичного складу вже туди. Але сусід повернувся з Заходу і довелось терміново шукати новий гараж і не менш терміново все туди перевозити. Потрібен сильний програміст—це про нас в той день. По-друге, люди які відправляють гуманітарку хочуть щоб значна її частина була розподілена по якимось цілям які вони собі знають. Відповідно ми вже не можемо просто так завантажити машину і поїхати по області. Той корм не чіпай бо за ним заїдуть, це не можна брати бо то в притулок, а воно все звалено в купу бо мало місця. Доводиться постійно грати в тетріс, це виснажує. По-третє, нас мало і в нас немає [бусу](https://www.rozhkov.me/daily/bus/). А якщо нас мало, і на вхід подається більше, ніж на вихід, то починають накопичуватися запаси. А запаси—це погано, як вірно нас вчить теорія управління. Крутимося як можемо. А ще нам прислали багатенько просрочки. Але ми це помітили вже коли два раза перевезли з логістичного складу на перший гараж і потім на другий. І добре якщо б на пару місяців, так то ж на пару років! Довго воно лежало на нідерландських складах і чекало свого часу. А тепер його треба ще й відвозити кудись утилізувати. Отакі справи. ### Дефіцит URL: https://www.rozhkov.me/daily/food-shortage/ Last updated: 2022-05-02T09:01:49.000Z Зайшов на днях у Сільпо. А там, у кондитерському відділі, замість розмаїття цукерок стоять рівненькі рядки "Rafaello". Замість тістечок—коробки з протеїновими батончиками. Замість тортів—однакові коробки печива. Я чомусь відразу яскраво пригадав магазини часів кінця радянської доби—початку незалежності. Тоді на довжелезних полицях могли стояти банки березового соку в один ряд. Магазин ніби великий—а одиниць товару десять штук. З Сільпо зараз не порівняти звичайно. Тістечок немає, зате всього іншого вдосталь. Сподіваюсь, так буде і надалі. ### Бус URL: https://www.rozhkov.me/daily/bus/ Last updated: 2022-04-21T15:34:08.000Z З перших днів війни стало зрозуміло що без власного авто буде важко. В умовах, коли не працює громадський транспорт, таксі не ходить, рейсові автобуси та поїзди переповнені, людині яка не може самотужки нікуди поїхати, доводиться дуже складно. В перші тижні дістатися з одного берега на інший було справжнім квестом. Ми завджи намагалися підвезти людей, але таких "волонтерів" на всіх не вистачить. Коли ми почали закуповувати на зібрані кошти гуманітарку та розвозити, то також виявилося що легкова машина це добре, а вантажна—значно краще. Тому що одна справа завантажити 500кг в багажник та салон і розвезти це все за пару раз, а інша—прийняти десяток палет з Європи і забрати кудись її з логістичного складу на околицях Києва. В такий момент люди з бусами миттєво зростають у цінності. Якщо я і конкретно шкодую про щось, що не встиг до війни—так це про те що завчасно не купили буса. Доводилось шукати знайомих через знайомих, які б допомогли то перевезти два десятки вольерів з тваринами до кордону, то забрати гуманітарку. Останнього разу нас за один день виселили з гаражу де ми зробили склад, а хлопці з бусом були зайняті. Через трьох знайомих знайшли людей з вантажно-пасажирським віваро та джипом з кунгом і то робили три ходки щоб перевезти все з одного гаража в інший. А в спрінтер все би влізло за раз. Бус у господарстві завжди знадобиться, навіть не під час війни. Поїхати з роверами або лижами до Карпат, перевезти речі, людей або тварин. Завжди актуально, завжди потрібно. Тому зараз наші знайомі в Польщі шукають нам нормальну євробляху, які зараз можна завозити навіть цивільним. Будемо мати буса—заживемо! P.S.: і каністри. Бо ще за тиждень до війни в епіцентрах не було жодної каністри. ### Засраные головы URL: https://www.rozhkov.me/daily/shitheads/ Last updated: 2022-04-02T15:44:54.000Z Полгода назад я написал пост "[Пропаганда](https://www.rozhkov.me/daily/propaganda/)", про засранные россией головы моих дорогих родственников. В камментах телеграма немедленно объявились свидетели русского мира, которые заявили что "не всё так однозначно" и начали по методичке стандартно отрабатывать темы про ущемление русскоязычных, геноцид на Донбассе, нацистов и прочих бандеровцев. Тогда я пост удалил чтобы не продолжать срач. Очевидно, зря. Прямо сейчас мы можем воочию наблюдать кульминацию десятилетий антиукраинской доктрины рф—феерию говен изливающихся из гнилых ртов российских пропагандонов и простых обывателей, которые поддерживают войну. Во время протестов в Беларуси я написал пост о том что люди из диктаторских стран не могут себе представить что власть может быть выборной и сменяемой, президент может не прятаться в бункере, а люди могут ходить на протесты (e.g. майданы) не потому что им платит госдеп, а потому что они верят в то что могут изменить реальность. У них в голове нет для этого коробочки. Нет коробочки, в которую можно уместить понятия демократии, честности и свободы, зато есть много-много места для ненависти. Ненависти к америке, западу, нато и конечно же к воинствующим нацистам, которыми как оказалось полна Украина. Война окончательно расставила всё по местам. Если ты, читатель, думаешь что меня взяли в плен "нацики" (а в этом легко можно убедиться открыв телеграм канал минобороны рф, в котором утверждается что "националисты удерживают в заложниках 4.5 миллиона людей в Киеве" где я сейчас нахожусь), и что российская орда убийц, мародёров и насильников пришла тут кого-то освобождать—милости прошу вслед за русским военным кораблём—нахуй. ### Война URL: https://www.rozhkov.me/war/ Last updated: 2022-03-08T20:10:09.000Z От поздневечерних новостей очень тревожно засыпалось. Хотелось верить и надеяться на лучшее. Но уже в \~5 утра меня разбудили звуки взрывов. Тут же позвонила наша подруга которая живет в пригороде возле военной части—там тоже что-то взорвалось. Открываю укрправду—«Путин начал войну». Мы ±были готовы, поэтому без паники оделись и поехали за мамой на левый берег. У неё всё было собрано. На дорогах города уже ездило много машин для такого раннего часа, к заправкам выстроились огромные очереди, у банкоматов тоже самое. Забрали маму и двух котов и поехали ко мне, на правый берег. Я живу недалеко от центра, в плотной застройке. Надеюсь что сюда ничего прилетать не будет. В нашем доме есть укрытие. Ещё на прошлой неделе мы предусмотрительно сняли кеш, купили продуктов, закупили корма для животных. Набрал воды. Ехать из Киева пока не собираюсь—учитывая что авиаудары нанесли по всей стране, не уверен что где-то безопаснее. Сохраняю спокойствие. Если у вас есть животные то не бросайте их, а подготовьтесь. Инструкцию можно прочитать на канале FreeAnimals: На всякий случай для читателей из РФ: никаких «неонацистов» у нас нет, «военной хунты» тоже, русскоязычных никогда не угнетали, нападать мы ни на кого не собирались, ядерное оружие никто делать не собирается, и «освобождать» нас не надо. Фантазии Путина которые он озвучивал в своих обращаниях комментировать даже не буду—бред поехавшего деда который не стал придумывать очередных распятых мальчиков для объявления войны а просто подло напал потому что может. Держимся 🙏 ### Личные облака: Nomad URL: https://www.rozhkov.me/private-clouds-nomad/ Last updated: 2022-02-23T10:20:21.000Z Чтобы разгрузиться от тревожных новостей, на прошлых и этих выходных я плотно засел за реализацию личного облака для проектов. Суть такова: я хочу удобный и понятный способ деплоить приложения, не теряя простоты Heroku но получив расширенную гибкость, лучше производительность и снизив расходы. На практике это означает что мне нужна инфраструктура с менеджед базой данных, https, масштабированием, приватным докер реестром и не за дорого. Сейчас все мои личные проекты работают на Heroku, а клиентские раскиданы по куче разных облачных провайдеров. Своё решение мне нужно как для того, чтобы снизить косты на Heroku, так и чтобы унифицировать инфраструктуру клиентов и упростить её эксплуатацию. ## [Nomad](https://www.nomadproject.io/) Я уже давно облизывался на Hashicorp Nomad как легковесную альтернативу тяжёлому и сложному Kubernetes и завендорлоченному ECS. Полтора года назад я даже поднял полу-продакшн кластер для одного из клиентских решений, но проект схлопнулся и на том мои эксперименты закончились. В экосистеме Hashicorp ([Nomad](https://www.nomadproject.io/), [Consul](https://www.consul.io/), [Vault](https://www.vaultproject.io/)) есть всё, что мне нужно, и когда подвернулся новый проект, где менеджед кубер обошёлся бы слишком дорого, я взялся за прототипирование. План был такой: сделать терраформ модуль в котором описать стандартную структуру веб-сервиса (приватная сеть, бастион, балансировщик, менеджед база, автоскейлинг группа, докер реестр) которая бы в один клик подымалась и разворачивала Consul+Nomad кластера. Дальше с помощью GitLab туда уже бы деплоились нужные джобы. На эту историю я потратил около 2 дней возни, но в конце-концов всё одолел. Благодаря [cloud-init](https://cloudinit.readthedocs.io/en/latest/) удалось решить задачу автоматической установки всех нужных сервисов и соединения их в кластер, так что можно легко реплицировать и масштабировать эту инфраструктуру. Дальше я задеплоил туда своё приложение и навернул сверху ингресс в виде [Traefik](https://traefik.io/) с LetsEncrypt конфигурацией. По незнанию я поднял кластер траефиков и некоторое время разбирался почему у меня не генерируются сертификаты, пока не дошло, что каждый запрос к LetsEncrypt генерирует свой challenge, а так как траефиков много, то они соревнуются друг с другом и отдают не те ответы. Хотите решить эту проблему—покупайте enterprise-edition или оставляйте только один инстанс. Не high-available, но пока так. Вся эта связка: Nomad+Consul+Traefik круто заинтегрирована друг с другом, в интернете есть туториалы на всё и фактически, после того как я поднял железо, то джобы заработали с пол-пинка. У всех продуктов есть приятный и отзывчивый UI в котором легко получить нужную инфу. У меня осталось несколько нерешённых задач: Vault для хранения секретов (сейчас я просто сложил их в Consul) и нормальный CI/CD. Из-за того, что кластер находится внутри приватной сети, подключиться к нему можно только по VPN, поэтому мой GitLab не имеет туда доступа чтобы дёрнуть редеплой. Есть несколько способов решить эту задачу (GitLab Runner или [Waypoint](https://www.waypointproject.io/) внутри сети), но я пока не дошёл до реализации. Часть работы после полного пересоздания инфраструктуры приходится делать вручную—создание секретов и конфигурацию vpn, но для остального уже есть готовый шаблон. Собрал Dockerfile, нажал кнопочку и оно поехало куда надо. Nomad мне прям зашёл своей простотой и скоростью работы. Конечно, готовых решений по нему намного меньше чем по куберу, но у Hashicorp очень крутая документация и синергия между своими продуктами. Поэтому в планах у меня большая миграция разбросанных тут и там по облакам сервисов в свой nomad-кластер. Позже я подготовлю подробный мануал как и что конфигурить, потому что в интернете есть только куски информации, и чтобы собрать всё в кучу и сделать работу от начала до конца, надо крепко запотеть. Ну а на этих выходных я занимался уже подъемом такого же прототипа, но на базе Kubernetes. Об этом в следующей части. ### Личные облака URL: https://www.rozhkov.me/private-clouds/ Last updated: 2022-02-21T07:00:00.000Z Уже много лет меня беспокоит проблема понятной и удобной инфраструктуры. В каждом проекте, где я работал, так или иначе приходилось решать эту задачу, каждый раз по-разному и каждый раз недостаточно хорошо. Что я понимаю под личным облаком и удобной инфраструктурой? - приватная сеть с балансировщиком, VPNом внутрь, фаерволами - легко масштабируемые вычислительные ресурсы - managed базы данных с автобекапами, автообновлениями, горизонтальной и вертикальной масштабируемостью - мониторинг и алёрты - объектное хранилище и CDN, очереди - единый, простой и понятный способ развернуть новое приложение в облаке, независимо от того на чем оно написано - service discovery чтобы сервисы могли общаться друг с другом - https снаружи и внутри, автогенерация сертификатов - полностью автоматизированный blue/green, canary деплоймент - хранение секретов и изоляция сервисов друг от друга - понятный CI/CD, интеграция с тулзами - дашборд чтобы медитировать на метрики загруженности кластера - не за все деньги мира - всё полностью автоматизированно, так чтобы [если завтра война](https://www.rozhkov.me/daily/if-war-tomorrow/), датацентр взорвали, а человек, который всё разворачивал, пропал, то любой другой боец мог подхватить пачку терраформ шаблонов и поднять всё в новом месте одной командой Да, все эти задачи решаются, для большинства из них есть вендорские решения. Менеджед базы данных есть почти у всех, кубернетес кластер тоже, VPC и друзья тоже есть, миллион пресетов для графаны и прометеуса и так далее, и так далее, и так далее. Проблема в том, что никто до сих пор не собрал это в кучу. Есть те или иные куски—там сеть, сям облачные ресурсы, тут сервис дискавери и сервис меш, здесь гора баш скриптов для автодеплоя. Но единого, и главное, простого решения нет. Я вижу здесь разрыв. Или мы берём хероку и деплоим один сервис, или мы нанимаем двух девопсов по $8k каждый и строим кубер в амазоне который стоит столько же. Нет решения посредине, которым могли бы пользоваться разработчики, и которое не было бы запредельно сложным. Везде, где я работал, такое решение пришлось делать самому и никогда оно не было хорошим. Конечно, у каждого PaaSа (а то что я предлагаю это именно PaaS) есть фатальный недостаток—он написан не той командой, которая его использует. Все команды так или иначе будут упираться в ограничения платформы, а если делать её слишком универсальной—то мы получим кубернетис. Однако я не покидаю надежд, и хотя эта идея беспокоит меня уже много лет, недавно я наконец-то добрался до практической реализации. ### Если завтра война URL: https://www.rozhkov.me/daily/if-war-tomorrow/ Last updated: 2022-03-11T19:50:01.000Z ...то я к ней не готов. Мы провели минимальную подготовку: - сняли достаточно кеша - купили хороший запас корма для животных - собрали тревожный рюкзачок с документами и деньгами - держим полный бак в машине - купили небольшой, но достаточный запас круп и макарон - примерно определились, куда будем эвакуироваться Ещё нужно затариться газовой горелкой, фонариками и прочей туристической атрибутикой. В очередной раз думаю о том, что «готовиться» надо было ещё в 14-ом году. Уезжать в те места, где риск военной угрозы низок. Иначе это всё полумеры. Пока что я в Киеве и не собираюсь никуда ехать. Не паникую. Чтобы не скроллить новости целый день, загрузился работой и в будние и на выходные. Даже записался на CS:GO турнир вастрик клуба, катаем с ребятами по вечерам, тренируемся. Но спится тревожно. Стратегические планы, когда все успокоится: - получить права, а то машину купил, а ездить не купил - купить оружие и записаться в стрелковый клуб. Читатель сразу верно заметит про "спили мушку", но склоняюсь к тому что лучше быть вооружённым - броник каска и тд - думаю про тероборону, но если ты комбатант то как только начнётся движуха шансы выжить резко уменьшаются, прям совсем резко - закинул на патреон "Повернися живим". Вы тоже [закиньте](https://dou.ua/forums/topic/36494/), если ещё нет. Я не представляю себе если начнётся. Конечно же логически нет никакого смысла ни в войне, ни в разрушении города, но когда подумаю что в мою хату попадёт карандаш или чего похуже, становится не по себе. Я уже потерял одну хату, и терять ещё одну, в которую вложено много времени и усилий ох как не хочется. Не радует и соседство со стратегическими объектами которые обязательно попадут под удар. Я менее чем в километре от них. Не хочется терять и город. Мне здесь нравится, я люблю Киев, знаю тут каждый уголок. Не могу представить его разрушенным, это просто ужасно. Ещё больше не хочется терять жизнь. Осложняют дело животные. У нас 6 кошек (из них двое инвалидов, которых на улице нельзя оставлять—погибнут), 1 собака, +2 кошки у мамы. Их всех нужно будет забирать. Уже сейчас часть людей которые поддались панике побросали своих питомцев. Хорошо что у нас большая машина и все влезут. Думали превентивно увезти их к родственникам в Тернополь, но пока сидим. Руководство [databand.ai](https://databand.ai/) тоже беспокоится и готово оказать нам всяческую поддержку но мы все пока никуда не уезжаем. Радует что даже если я потеряю всё, но сохраню жизнь, то благодаря голове смогу вернуть и приумножить. Не пропаду. Верю что всё будет хорошо и чёрный лебедь пролетит мимо нас 🙏 ### Ищу лопату URL: https://www.rozhkov.me/daily/looking-for-shovel/ Last updated: 2022-01-21T11:56:22.000Z Во время золотой лихорадки больше всего зарабатывает продавец лопат (и кирок). Некоторое время назад на форуме HLTV посвящённом соревновательному контр-страйку, я прочитал [пост](https://www.hltv.org/forums/threads/2378661/machine-learning-predictions) человека, который утверждал, что разработал довольно точную модель для прогноза исходов матчей. Мне эта идея показалась интересной, по матчам есть очень много статистики и можно было бы что-то придумать. Но дальше возникает вопрос—как это применять? Если делать ставки самостоятельно, то рано или поздно все букмекеры меня бы заблокировали—потому что им неинтересно иметь дело с профессионалами. Какой же может быть выход? Верно, продавать лопаты. Вместо того, чтобы ставить самому, надо подняться на уровень абстракции выше, и продавать прогнозы другим лудоманам—а те пусть уже сами выкручиваются. Если модель совсем хороша и позволяет переиграть конторы на длинной дистанции, то можно продавать аналитику и им. Когда это понимаешь, то везде начинаешь видеть лопаты. Маркетплейсы, SaaSы, курсы. Везде лопаты. Кто из Украины и выходит на улицу, наверняка заметил большое количество магазинов "Дніпро-М". Я уже полгода наблюдаю как они открываются и открываются буквально везде, и всё никак не могу взять в толк—зачем людям столько шуруповёртов и дрелей? Ну ладно там, расходники типа гвоздей и дюбелей. Но неужели торговля ними настолько выгодна чтобы держать так много точек? Пошёл в интернет, и оказывается, что "Дніпро-М" это франшиза. Хозяин продаёт лопаты, а доходность каждого магазина должен обеспечивать франчайзи. Если он вылетит в трубу—ну что ж, другие уже стоят в очереди попробовать заманчивую бизнес-модель. Заезжал к себе в Тернополь, встречался с одноклассником. Он держит магазин запчастей. Разговорились как можно автоматизировать его бизнес. Мы уже [общались на эту тему](https://www.rozhkov.me/daily/niemasshtabiruiemyi-biznies/) но тогда ничего не придумали. В этот раз я предложил ему сделать чат-бота, который будет обрабатывать простые заявки. Слово за слово, пришли к выводу что лучше всего будет сделать чатбота а потом продавать его другим предпринимателям как пакетное предложение. Торговать лопатами, а не искать золото самому. Сейчас я к сожалению копаю сам с помощью чужих инструментов. Фоново думаю о лопатах, которые можно было бы продать другим. Получается не очень, но без этого [гелика](https://www.rozhkov.me/daily/g-klasse/) не будет, как не крутись. Поэтому надо искать лопату. ### Маленький заряд URL: https://www.rozhkov.me/daily/enlarge-your-charge/ Last updated: 2022-01-21T11:53:06.000Z Мой первый телефон—Siemens M35—держал заряд наверное неделю. Второй—Samsung X100—чуть меньше. Третий—Motorola RAZER—опять неделю. Первый смартфон—Jiayu G4—уже поменьше, дня три. Сейчас у меня OnePlus 3T и он едва ли держит сутки. Удивительно, как выросла ёмкость аккумуляторов и уменьшилось время автономной работы. Сегодня я словил себя на мысли что думаю "так, телефон почти сел, надо его подзарядить будет", хотя ещё утром он показывал 100%, а за день поработал пару часов навигатором. Когда я только купил телефон то он кажется держал дольше, потом приехала обнова на андроид и стало хуже. Я даже купил себе специальную программу BetterBatteryStats чтобы вычислить кто триггерит wakelocks и не даёт телефону спать. Оказалось, что оптимизировать там нечего и я забил. А потом со временем свыкся с мыслью что телефон не держит и даже не бугурчу по этому поводу. Хорошо хоть быстрые зарядки изобрели и не надо ждать пол-дня, как в начале нулевых. ### Лайки вместо комментов URL: https://www.rozhkov.me/daily/meaningless-likes/ Last updated: 2022-01-19T06:30:00.000Z [Доступность](https://www.rozhkov.me/easy-peasy/) это мощная тема. Если вместо того, чтобы написать "автор молодец, хороший креатив" или "автор не молодец, плохой креатив", можно нажать одну кнопку чтобы выразить свою одноклеточную эмоцию—человек будет это делать. С появлением реакций, соцмедиа сделали ещё один шаг к полной фастфудизации. Никто не будет спорить или вести содержательную дискуссию. Поставил сердечко или какашку—и перешёл к другому посту, а про тот и забыл. Нет времени думать—целая лента впереди! А если реакция ещё и анонимная то процесс "волеизъявления" поощрается ещё больше—никто не узнает кто поставил "большой палец вниз", и за это не надо будет нести отвественность, азаза. Суть реакций мне не нравится, куда приятнее прочесть "автор молодец" написанное лично (так же как и куда неприятнее прочесть "дизлайк отписка" вместо какашки), но убирать их пока не буду. Вообще вся эта суета со смайликами, стикерами и прочими фонтанирующими баклажанами как-то обесчеловечивает общение. Я и сам замечаю что начал деградировать и вместо содержательных сообщений отправлять людям стикеры с Гретой. Надо прекращать. ### Молоко URL: https://www.rozhkov.me/daily/milk/ Last updated: 2022-01-18T09:07:00.000Z В детстве прочитал в научно-популярном журнале статью про молоко. Там было написано, что у детей выше такого-то возраста нет фермента, который расщепляет казеин. Поэтому когда человек пьёт молоко, то у него в кишках собирается жуткая клейковина. *Не знаю насколько это научно и соответствует действительности, фактчекинг не делал, оставлю это любопытному читателю.* В этом месте я представлял себе кадры из фильма «Чужой» с соответствующей слизью, которая образуется у меня в животе после употребления молока. Эта картина настолько меня впечатлила, что молоко мне больше никогда не лезло, и я на всю жизнь заработал к нему отвращение, чем неизменно расстраивал заботливых родственников, которые норовили напоить ребёночка парным молочком. Кисломолочные шли норм, потому что про них была заметка что там нет плохого казеина и его можно употреблять. Так же ±заходила овсяная кашка на молоке, а вот гречка или вермишель в молоке (традиционные советские блюда) уже никак. Вот так пугающая статья в рандомном журнале может на всю жизнь определить особенности питания человека. ### Места, где победили коронавирус URL: https://www.rozhkov.me/daily/places-without-coronavirus/ Last updated: 2022-01-17T16:10:26.000Z [Ездил давеча на Синай](https://www.rozhkov.me/daily/all-exclusive/). И что вы таки думаете? Выйдя за пределы аэропорта, я сразу почуствовал давно забытый ~~воз~~дух свободы—снял намордник и не одевал его аж пока не вернулся обратно в аэропорт через 10 дней. Коронавируса в стране нет. Люди толпятся на раздаче олл инклюзива, едут в набитых маршрутках, хотяд по базарам, сидят на пляже. Всем плевать на ограничения, которые придумали тоталитарные власти в странах "первого" мира. Прекрасные ощущения! И вот сейчас, посещая горнолыжный курорт уже в родной Украине, с удовольствием узнал что тут тоже нет коронавируса! На дверях заведений сиротливо ютятся маленькие наклеечки с содержимым примерно такого толка: «посещая это место вы подтверждаете что у вас есть прививка или пцр-тест. Мы вам верим!» Вот и всё! Ни единой души в маске, никаких Дій или ковид-сертификатов. И дым отечества (*не отфильтрованный маской N95*) нам сладок и приятен! Машина времени в 2019\. Если вам надоело парить лицо мерзким намордником и охота снова почувствовать себя свободным человеком—вы знаете, что делать. *Тем временем в соседнем номере подозрительно кашляют* 🤔 ### Встреча выпускников URL: https://www.rozhkov.me/daily/graduates-meetup/ Last updated: 2022-01-14T07:11:08.000Z Никогда не был на традиционной встрече школьных выпускников. Частично потому что забивал и не доезжал, частично потому что не особо дружил с некоторыми людьми, а точнее очень даже неплохо получал по шапке и подвергался психологическому давлению до десятого класса. В десятом классе у всех появились другие интересы—девочки, алкоголь, табак, компьютеры, и былым обидчикам стало не до меня а мне не до них. Те травмы я до сих не прожил, и хотя умом понимаю, что люди уже давно изменились, мозг рептилии чот не особо хочет будить старые воспоминания. Нужно это прорабатывать. С парой старых товарищей я немного поддерживаю связь и узнаю как дела у других, но не могу сказать что мне это особо интересно. А вот с кем бы я действительно хотел повидаться—так это с университетскими выпускниками. Нас настолько заряжали учёбой, что на буллинг и другие глупости не оставалось времени, и такие случаи вообще были редким исключением. Почти все мои одногруппники—олимпиадники, светлые головы, умнее меня, кто сейчас в фаанге, а кто большой менеджер на местной галере. Университетских встреч выпускников у нас не было—всем пофиг. Больше половины людей уехало заграницу и их просто не соберёшь. Кому нужно, тот поддерживает связь сам. С третьего-четвёртого курса большинство уже начало работать, поэтому прям сильной сплочённости у нас не было, о чём я конечно несколько жалею. Это вам не fraternity как в лиге плюща. Социальный капитал, о котором вещают апологеты высшего образования, я как-то не сумел заработать, потому что работа всё поглотила. Выводов нет. Немного завидую тем у кого были тесные и полезные социальные связи во время учёбы. ### Ассимиляция URL: https://www.rozhkov.me/daily/assimilation/ Last updated: 2022-01-14T07:17:14.000Z Я родился и вырос на Тернопільщині, области с [самым высоким процентом украиноязычного населения](https://web.archive.org/web/20130430170638/http://2001.ukrcensus.gov.ua/regions/reg%5Ftern/). Несмотря на это, в школе я учился в русском классе. Обучение всем предметам у нас велось на русском языке, кроме української мови та літератури. Мои одноклассники были в основном приезжими из России—Сахалина, Норильска, Мурманска, Сургута. Был парень из Молдовы, был сын священника РПЦ, были просто местные дети которых родители по какой-то причине отдали обучаться на русском, как я. За всё время обучения и жизни я лишь единожды подвергся "дискриминации"—забирал мамины сапоги с ремонта и забыл слово "чоботи", а меня за это начал оскорблять другой клиент—взрослый дядька. В чём прикол наезжать на ребёнка, я так и не понял, впрочем речь не об этом. Большинство моих одноклассников остались в Тернополе. Кто-то уехал в Россию, пара человек в Киев, ещё кто куда, но в основном люди остались. И вот те кто остались—из числа с кем я встречался—полностью перешли на украинский язык. Ассимилировались. Очень непривычно слушать тех, кто раньше не мог два слова связать, а сейчас считай и не говорит на русском в повседневной жизни. Я таким похвастаться не могу, потому что из моего окружения в Киеве единицы говорят на украинском. Не с кем практиковать. ### Старая пластинка лучше новых двух URL: https://www.rozhkov.me/daily/old-records-better/ Last updated: 2022-01-12T07:47:05.000Z В книге "Психология влияния" рассматривается такая особенность людей как склонность отдавать предпочтение хорошо знакомым вещам, например музыке. Если крутить одну и ту же запись по радио, то со временем люди начнут запоминать её и она им будет нравиться всё больше. По этой причине в девяностых была популярна "дискотека восьмидесятых", а сейчас — "девяностых-нулевых". Люди, которые в детстве и молодости заслушали до дыр каких-то исполнителей, сейчас скорее отдадут предпочтение им, нежели современной музыке. Так и я, заметил, что перестал интересоваться и слушать новую музыку. Я себя считаю вообще опен-майндед гусём, [слушаю разнообразную музыку](https://www.last.fm/user/XunsuccX) и раньше угорал по [музыкальному плюшкинизму](https://www.rozhkov.me/daily/music-and-hoarding/). Но сейчас заметил что новое музло уже давно не прёт, и нет особого желания его слушать, качать новинки, интересоваться сценой. Моей любимой музыкой осталась та, что я слушал в период 18-22 года, особенно золотой 2007 год. Время от времени я пытаюсь перебороть эти старые привычки, ставлю на репит какой-то новый альбом, чтобы он мне "понравился", но когда включаю старьё то сразу ноги пускаются в мысленный пляс. Старую музыку молодости ничем не заменить. ### Одноклассница URL: https://www.rozhkov.me/daily/classmate/ Last updated: 2022-01-11T06:30:00.000Z В школе со мной училась девочка которая постоянно болела. У неё был какой-то серьёзный порок сердца. Из-за этого ей была противопоказана физическая нагрузка, и довольно часто нужно было ложиться в больницу (что там делали—не знаю). Девочка конечно же "училась" очень плохо, учителя и дети её не трогали, а сама она была довольно тихой. Ближе к завершению школы она начала движевать в разных компаниях по-старше, курить и употреблять алкоголь. Не знаю, как это сочеталось с болезнью, но от такой жизни я бы и сам наверное начал пить. Здоровье накладывало ограничения не только на учёбу но и на работу. Те кто общался с ней по-ближе, рассказывали, что девочка хотела пойти учиться на парикмахера в технарь, но так как там надо целыми днями стоять, то желанию не было суждено сбыться. Дальнейшая судьба её мне неизвестна—я мало общаюсь с одноклассниками и не в курсе кто где. И вот я узнаю что в середине декабря она умерла. Последние годы жила в селе под Тернополем с каким-то мужчиной и продолжала вести не очень здоровый образ жизни. Выводов нет. Царствие небесное. F. ### Оплата за результат URL: https://www.rozhkov.me/pay-per-task/ Last updated: 2022-01-10T09:07:24.000Z Пять лет назад я был сильно увлечён идеями Егора Бугаенко о по-задачной оплате программисту. Закрыл тикет—получил деньги. Есть целая методология, с ролями, процессом, поощрениями и наказаниями. Всё тщательно продумано. Подробнее почитайте на [странице проекта](https://www.zerocracy.com/toc.html) который это всё реализует. На бумаге звучит это всё как мечта менеджера и заказчика—оплата идёт только за закрытые задачи а не за жопочасы, за счёт чего получается существенная экономия средств, исполнители мотивируются самым непросредственным образом—больше задач закрыл—больше заработал. Для программиста тоже всё неплохо—можно получать фиксед прайс за хорошие простые задачи, балансировать нагрузку и менять проекты как угодно. Позже на базе этой методологии был сделан коммерческий продукт Zerocracy, куда мог совершенно спокойно подключиться любой программист и получать деньги за закрытие тикетов. Однако прошло уже несколько лет и судя по низкой активности в чате сообщества, большой популярностью эта схема не пользуется, и скорее всего, что в деле где высокая доля неизвестности (разработка), активно использоваться не будет. *Хотя если прикрутить смарт-контракты к закрытию тикетов и автоматизировать всю цепочку то можно получить утопию апологетов крипты.* Оценивать труд и вклад программиста так нигде и не научились. До сих пор лучшее что может нам предложить рынок—это почасовая ставка и надежда на то, что человек будет хоть как-то работать. В некоторой степени акции и опционы позволяют получить немного лавэ если компания успешна, но вклад каждого конкретного человека в такой системе сильно размывается. Мы работаем в гугле. Я работаю в отделе адтеха а ты делаешь гугл драйв. Моя работа приносит колоссальную прибыль, а твоя—убытки. При этом у нас одинаковый грейд и зарплата. Добро пожаловать в социализм и уравниловку! Казалось бы умный разработчик должен был бы стремиться к позадачной оплате в целях максимизации прибыли. Но пока на рынке есть традиционные компании, то в этих же целях значительно проще устроиться на высокооплачиваемую работу и перформить там на минимально допустимом уровне получая деньги просто за то что сидишь. Эффективному пирожку на заметку—нет никакого смысла оверперформить. Ваши усилия не будут вознаграждены, а поднять зп лучше всего старым добрым образом—перейти через дорогу. Когда у меня была своя шлюпка то я поначалу тоже хотел сделать позадачную оплату, но быстро понял что сильно проще людям платить за жопочасы и контролировать, потому что если я начну платить за задачи, то они быстро сбегут в компании где платят почасово. В повседневной деятельности я миксую позадачную и почасовую оплату, но заметил что часто задачу просто оцениваешь примерно в часах а в не в том, сколько за неё можно получить. Это плохо, и надо стремиться каким-то образом привязать свою оплату к финансовому результату, который будет получен. Хорошо если например ты говоришь "я срежу ваш счёт AWS за 10% от экономии за год". А если надо делать что-то сложное, что не поддаётся точной оценке, то мозг имеет тенденцию якориться на жопочасы. Так на [гелик](https://www.rozhkov.me/daily/g-klasse/) не заработаешь. ### Книгочеи URL: https://www.rozhkov.me/daily/book-readers/ Last updated: 2022-01-10T06:30:00.000Z Есть некоторые люди которые целенаправленно читают много книг. Занимаются саморазвитием, составляют списочки и читают-читают-читают. Я у Талеба в «Антихрупкости» прочитал идею о том, что прочитанная два раза одна и та же книга вероятно принесёт больше пользы нежели две разных книги. Интересно, что сам Талеб в этой же книге хвастает тем, сколько он прочёл и какая была большая библиотека у его отца. И в этом есть смысл. Если читать книгу второй раз то мудрости которые там записаны надёжнее заедут в голову. Конечно, может люди, которые много читают, на самом деле тут же применяют всё прочитанное, а я просто слишком туп. Знания из [«12 правил жизни»](https://www.rozhkov.me/daily/12-rules-for-life-review/) и [«Тонкое искусство забивать на всё»](https://www.rozhkov.me/daily/the-subtle-art-of-not-giving-a-fuck-review/) уже почти выветрились из моей головы, оставшись там в виде общих концептов типа "думай про себя" и "каждый день делай небольшое улучшение". Поэтому я решил не гнаться за количеством а брать качеством. Например, я уже по второму кругу начал читать «Путь джедая» Дорофеева, в котором кстати и написана рекомендация читать книгу несколько раз. По второму кругу пойдет и Питерсон и другие книги. А "списки книг от Билла Гейтса" оставим более умным. ### Просрочка URL: https://www.rozhkov.me/daily/expired-food/ Last updated: 2022-01-07T06:30:00.000Z Наши супермаркеты выбрасывают огромное количество еды с заканчивающимся или уже законченным сроком годности. Кому надо знают про это и договариваются с магазинами о том, что будут забирать продукты. Таким образом у нас например кушают большие приюты для животных. У жены тоже есть выход на такую движуху и она ездит время от времени забирать стафф, набивая под завязку свой внедорожник. Потом развозит добро по нуждающимся ну и нам кой-чего забирает. Например на той неделе подогнали целую кучу кроличьих тушек и другого мяса, вагон каких-то деликатесных осьминогов и кальмаров, тонну молочки и дорогих сыров, прорву сладостей. Каждый день выбрасывается огормное количество еды. Каждый раз мы просто офигеваем: какая маржа у супермаркета если даже при таком количестве отходов он зарабатывает кучу денег? Почему же ритейлеры не будут давать больше скидки на подуставшие товары? Потому что тогда люди будут ждать скидок и не будут покупать продукты по высоким ценам. Прямо как с всякими сумочками луи виттон которые уничтожают если коллекция не распродалась, чтобы поддерживать высокую стоимость и препятствовать инфляции. Добро пожаловать в капитализм! ### Срач на улицах стран третьего мира URL: https://www.rozhkov.me/daily/trash-on-the-streets/ Last updated: 2022-01-06T06:30:00.000Z Смотрю время от времени программу Дмитрия Комарова "Мир наизнанку". Сейчас я дошёл до [выпусков о Пакистане](https://www.youtube.com/playlist?list=PL4YcmB6duia-x0sjA%5Fb0l6a1h6mGAMYnA). Одной из характерных особенностей пакистанского быта является срач. Везде бардак, горы мусора, дома слеплены кое-как и неакурратно, внутри домов тоже бардак. Меня этот срач здорово триггерит. Ну как можно жить в таком говне? Я не лютый чистюля, но кошачьи лотки чищу два раза в день. Комаров заночевал с погонщиками верблюдов на пляже и [спросил у них](https://youtu.be/Qs5zKkiPAtQ?list=PL4YcmB6duia-x0sjA%5Fb0l6a1h6mGAMYnA&t=1056)—а чё у вас тут такой бардак? Челы не нашли что ответить, хотя и согласились что когда чище то лучше. Не могу сказать что у нас в Киеве прям чисто-чисто, но уж точно намного чище чем в Пакистане. Интересно, что первопричина: желание человека навести порядок и следующее за ним увеличение благосостояния или наоборот, благосостояние позволяет больше думать об окружении и человек наводит порядок? 🤔 Есть ли нищие страны в которых на улицах чисто? Есть ли богатые страны где на улицах бардак? Но этот срач это просто жесть. Поэтому советую себе и вам последовать рекомендациям [Джордана Питерсона](https://www.rozhkov.me/daily/12-rules-for-life-review/) и прибраться в своей комнате. ### Размер аудитории URL: https://www.rozhkov.me/daily/audience-size/ Last updated: 2022-01-05T06:30:00.000Z Памятка себе и другим авторам. Когда мне кажется, что у меня мало читателей, зрителей или слушателей, я представляю себе аудиторию в которой сидят все люди, которые прочитали какой-то пост. Например, примерно 500 человек прочитают этот пост. И вот я представляю себе огромную аудиторию, в которой сидят 500 человек и слушают меня в течение десяти минут. Кто-то внимательно, кто-то не очень, кто-то выходит во время доклада, кто-то приходит. Немногие потом остаются задать вопросы или пообщаться. Но всё равно это огромная аудитория и огромное количество людей! На конференциях где я выступал максимум было человек 100 наверное, вроде немного но на самом деле это просто толпа людей! На каких-то стримах или онлайн-митапах даже если пришло "всего лишь" 50 человек — то это уже половина большой лекционной аудитории университета! Конечно, есть и те у кого аудитории по несколько десятков тысяч людей. Но даже сто это очень много. Спасибо, что читаете ❤️ ### Отпуск за свой счёт URL: https://www.rozhkov.me/unpaid-vacation/ Last updated: 2022-01-04T07:00:00.000Z Интересно как работает логика отпусков в наёмной работе. Большинство людей из моего окружения принмают лимиты, навязанные нанимателями. Если тебе выдали 20 дней — вот эти 20 дней и планируются, не больше. Очень нечасто я слышу чтобы люди превышали установленные лимиты, наоборот, почти всегда отпуск "экономят" и стараются уместить между праздниками, таким образом пополняя толпы одинаково мыслящих туристов. Вместо того, чтобы отдыхать в те дни, когда все работают. А отпуск "за свой счёт" чаще всего берут когда только сменили работу, планы уже есть, а дни ещё не накапали. Хотя эти ограничения только у нас в голове. И в здравом смысле. Сомневаюсь, что ваш босс обрадуется, если вы будете отсутствовать 3 месяца в году, но думаю что никто не напряжётся если аккуратно превысить лимит в два раза. Во всяких американских конторах популярная тема "безлимитных отпусков". Я не уверен как это работает, но у меня есть ощущение что никто ними не пользуется. Но самый топовый способ потратить отпуск, который я никогда не встречал, это взять 5 дней и растыкать их на пятницы, таким образом обеспечив себе четырёхдневную рабочую неделю. Что-то мне подсказывает что к этому руководство тоже отнесётся с подозрением, хотя тема абсолютно легальная! Попробуйте! Я сам почти никогда не работаю в пятницу, но и денег за это естественно не получаю. Да и вообще, не видел оплачиваемого отпуска уже лет 5 🤣 А если посчитать отпуск в денежном эквиваленте, то получатся совсем небольшие деньги. Почему же люди так мало отдыхают? Я уже писал об этом два года назад: [«Отпуска»](https://www.rozhkov.me/vacation/) ### Гелік URL: https://www.rozhkov.me/daily/g-klasse/ Last updated: 2022-09-01T21:09:51.000Z Один з моїх сталих виразів це «купити гелік», «їздити на геліку» або просто «гелік». Більшість людей невірно сприймають цей вираз як позначку конкретного авто. В коментарях обов'язково знаходиться людина що кине посилання на відео популярного автоблогера, де гелік розносять, інший скаже “фу, бобік якийсь”, третій зробить зауваження про якість на зручність та запропонує мені туарег. Цю поведінку чудово ілюструє вираз **“ніщо так не видає належність людини до нижчих класів суспільства, як вміння розбиратися в дорогих годинниках, автомобілях”**©«Generation П». Це про нас, мої дорогі жебракуваті друзі. Я сумніваюсь, що людина яка виклала двісті-триста тисяч баксів за відро з болтами на колесах, розбирається в тому що вона купила. Це спосіб сигналізувати статус. Не має значення як їздить гелік, скільки він жере палива, як часто ламається і наскільки зручно у ньому сидіти. Він вартує як квартира і в цьому його суть. Коли ти їдеш містом то говориш іншим: “агов, невдахи! в мене машина коштує більше ніж ваш net worth з усіма бабциними хрущами разом узятими!” З раціональної точки зору гелік немає ніякого сенсу. Він жахливо дорогий, незручний, ненадійний. Жодна адекватна людина цю машину не купить. Тому що рахує гроші. Це абсурдна покупка, яка, повторюю, не має ніякого сенсу. А це значить що гелік може купити тільки той, кого це все не хвилює. Тобто, достатньо багата людина. І саме тому я мрію про гелік. P.S.: вживаний гелік з дев'яностих-початку нульових за 50 тон, це не той гелік про який я говорю. P.P.S.: замість геліка міг бути ролс-ройс, але «гелік» коротше та зручніше. ### Праздничный стол URL: https://www.rozhkov.me/daily/christmas-dinner-table/ Last updated: 2022-01-03T11:03:49.000Z В девяностые Новый Год и другие движухи были настоящими праздниками. В том числе, потому что стол наполнялся яставми, которые в обычный день я не ел — сыр, ветчина, соки, фрукты, сладости. Поэтому Новый Год, Рождество, Пасху я всегда ждал с нетерпением. Сейчас праздничный стол сделать по-настоящему праздничным я уже не могу. Всю еду которая раньше считалась деликатесом или кушалась нечасто, я ем постоянно: фрукты, сыры, тортики и так далее и так далее. Поэтому, когда поднялся вопрос о продуктах на этот Новый Год, я даже как-то впал в ступор—ведь всё, что мы бы хотели, мы и так кушаем каждый день. Я не ем мяса, поэтому всякие хамоны и жареные бараны мне не подойдут, но если бы ел, то вероятно я бы ел стейки на постоянной основе а не только в значимые даты. Так же не пью алкоголь, поэтому виски или вино многолетней выдержки мне бы тоже не подошло, но если бы пил—я бы пил регулярно, а не пару раз в год. Праздничный стол серьезно утратил свою значимость, и я думаю что это отлично! ### daily rozhok №8: 🎄итоги года🎄, книжки, бумажки и отдых на море URL: https://www.rozhkov.me/daily-rozhok-8/ Last updated: 2021-12-31T13:42:34.000Z Друзья, спасибо что были со мной весь год, надеюсь он у вас был лучше предыдущего, несмотря на все карантинные невзгоды! В новом году всем желаю самое главное мирного неба над головой. Ну и жить так чтобы через год можно было подвести чёткие итоги. А у нас свежий выпуск [@daily\_rozhok](https://t.me/daily%5Frozhok/): 🎄[Итоги года 2021](https://www.rozhkov.me/daily/2021/)🎄 — всё не так уж и славно; но это отличный повод сделать следующие итоги намного круче! [Прочитал «Одураченные случайностью»/«Fooled by Randomness»](https://www.rozhkov.me/daily/fooled-by-randomness-book-review/) — обзор первой книги Нассима Талеба. Талеба я люблю, поэтому рекомендую. [Жизненные установки на бумажке рядом с монитором](https://www.rozhkov.me/daily/starting-principles-retrospective/) — как я повесил рядом с рабочим монитором бумажки с мотивационными лозунгами и что из этого получилось. [Мне норм](https://www.rozhkov.me/daily/norm/) — поговорил с коренным синайцем. Притча о богаче и рыбаке на бедуинский лад. [All exclusive](https://www.rozhkov.me/daily/all-exclusive/) — небольшая рефлексия об отдыхе в странах третьего мира. В этом году я первый раз в жизни поехал южнее Турции, мне всё в новинку. [Переосмысливая офис](https://www.rozhkov.me/daily/rethinking-office/) — начал немного ходить в коворкинг чтобы совсем не одичать, делюсь впечатлениями. [Дырка в зубе](https://www.rozhkov.me/daily/hole-in-a-teeth/) — держите зубы в порядке а то будете как я потом ходить раз в неделю к докторам. Впрочем на самом деле ничего вы держать в порядке не будете; про это и пост. [Помнить всё](https://www.rozhkov.me/daily/total-recall/) — хвастаюсь отличной памятью и сетую на её выборочность. [Информационная перенасыщенность](https://www.rozhkov.me/daily/information-overload/) — на читалей вываливается всё больше и больше инфы и захватить внимание человека сейчас труднее и труднее. Весёлые картинки и тикток — всё что мне нужно. --- 🎄Всем счастливого Нового Года!🎄 P.S.: Я еду в [Подобовец](https://snig.info/uk/Podobovets/3) на лыжи, с 10-го по 17-е января. Присоединяйтесь, затусим 🎿 ### Підсумки 2021 року URL: https://www.rozhkov.me/daily/2021/ Last updated: 2022-12-29T18:41:47.000Z Коли сів за пост, то зрозумів, що писати нічого. Для того, щоб «підбивати підсумки», потрібно щоб було що підбивати. Потрібно цікаво жити. Якщо людина цікаво живе, то вона молодець. Є про що писати, є чим ділитися щодня. Підсумки року великі та красиві — бо людина зростала. А якщо життя не дуже цікаве, або прогрес відсутній, то ласкаво просимо до нормісів, які неспішно працюють роботу, дивляться серіали та ходять покурити кальян. Зростання немає, або воно незначне. Але щорічну ретроспективу проводити потрібно — щоб зрозуміти, скільки проїхав, куди їдеш, та чи є прогрес у порівнянні з попереднім роком. Інакше є ризик продовжити тягнути вола і наступний рік проїхати так само нецікаво. ### Цей рік так собі Рік затьмарив непростий кіт, якого ми підібрали ще в жовтні 2020\. Про це буде окремий пост. На щастя, до середини року ми все ±розрулили, і якщо у 2021 я заходив в абсолютно чорному настрої, так що навіть підсумки писати не хотілося, то у 2022 я йду та дивлюся значно позитивніше. Декілька петпроектів, які почав ще позаминулого року — генератор інвойсів та тулзу для постингу в телеграм, не зміг завершити на рівні достатньому для публікації. Не зміг реалізувати декілька чудових можливостей по комерційним проєктам. Хотів би сказати що не вистачило часу, але насправді не вистачило мотивації. С іншого боку, кількість цікавих можливостей виросла у порівнянні з попереднім роком. Професійно не зростав — не зробив жодного проєкту складніше ніж ті що були, не вирішив жодної задачі складніше ніж ті, що вже вирішував. Майже не брав до рук гітару та не придумував музику. Не поїхав на лижі зимою і не поїхав на даунхіл влітку. Не написав хорошого лонгріда. Не взявся за реалізацію крутих ідей, що крутяться в голові вже другий рік поспіль. Не розвивав тему зі стрімами й взагалі забив на блог. Заробив на 30% більше ніж минулого року, але все одно дуже мало, тому що мало працював (менше ніж у 2020!). Про гелік мова не йде. Взагалі заробляти гроші якось не маю мотивації. На все вистачає. ### З хорошого Повністю закрив касовий розрив і взагалі став більш пильно ставитися до оплати праці клієнтами. Перестав працювати безплатно, якщо можна так сказати. [«Джедайські техніки»](https://www.rozhkov.me/jedi-techniques-review/), «Шлях джедая» та селф-хелп література допомогли навести порядок у справах. Вже другий місяць тестую роботу через туду-програму. До цього півтора року вів справи у зошиті. --- Така ретроспектива — привід задуматись. Вам, шановні читачі, дякую за те що в цей рік були зі мною, бажаю бути норм тіпами і не клацати дзьобом, а хапати вдачу за хвоста, і наступний рік зробити кращим за попередній, так, щоб можна було сказати — «ого, а я непогано попрацював, так?» і написати шикарні підсумки. 🎄🎄🎄 ### Информационная перенасыщенность URL: https://www.rozhkov.me/daily/information-overload/ Last updated: 2021-12-30T07:00:00.000Z Количество медиаресурсов, блогеров и изданий выросло за последние годы просто в разы. У меня есть ощущение, что среднестатистический читатель слишком перегружен новостями, полезностями, развлекухой, по самые помидоры просто. Заинтересовать человека становится всё труднее и труднее—ведь каждому автору нужно конкурировать с топовыми создателями со всего мира, а не только со своей локальной районной газетой, как до расцвета информационной эпохи. У людей в инбоксах копятся тысячи непрочитанных сообщений оставленных "на потом". Это легко можно отследить сравнив показатели подписчиков и реальных просмотров—хорошо если там соотношение хотя бы 50%. Достигаторы спрашивают в сообществах "как вы организовываете свои подписки" а прошаренные типы просто отписываются от всего подряд и садятся на инфодиету. Несколько моих знакомых давно завели телеграм каналы, но несмотря на то, что пишут интересно, едва ли могут набрать хотя бы 1000 людей: [@bitethebyte](https://t.me/bitethebyte), [@psyson](https://t.me/psyson), [@dmytrostriletskyi](https://t.me/dmytrostriletskyi). Кажется, три года назад, когда я начинал, такого перенасыщения ещё не было. Кликбейт уже не работает. Я помню времена, середину нулевых, когда статьи про релокацию на Хабре были чем-то "вау" и собирали вагон плюсиков. Сейчас каждый второй—эмигрант и уже никого не удивишь историями из разных стран. Гайды по трудоустройству в фаанги уже стали рутиной. Истории о прохождении кучи собесов—тем более. Статьи про выгорание и психотерапевтов не вызывают ничего кроме скуки. В такой среде непросто вывозить на середнячке. Людям нужен качественный материал, с хорошим полезным действием. Полезное действие, согласно [Ильяхову](https://www.maximilyahov.ru/blog/all/red-apple/), это микс из: решить проблему читателя, развлечь читателя, дать читателю почувствовать себя крутым. Я ищу полезное действие в тех материалах, которые читаю. Таким образом я оставил в подписках ноль каналов и перестал читать твиттер кроме выборочных аккаунтов. Да и те развлекательные а не полезные. В ноябре-декабре от информационного голода вернулся в чтению HackerNews но сейчас опять вспомнил что там ничего полезного нет и перестал читать. Но вообще надо интересно жить. Если интересно живешь то тогда и писать есть о чём, и люди тянутся, и вообще всё хорошо.На чтение медиа и комментирование не остаётся времени. А вот если сычевать, то и толку никакого не будет. Так что друзья [желаю себе и вам всем интересной жизни](https://en.wikipedia.org/wiki/May%5Fyou%5Flive%5Fin%5Finteresting%5Ftimes)! ### Помнить всё URL: https://www.rozhkov.me/daily/total-recall/ Last updated: 2021-12-29T07:00:00.000Z У меня хорошая выборочная память. Я могу вспоминать события и людей которые были давно, запоминаю рандомно прочитанные статьи так что потом при случае могу их найти и предъявить. А ещё я перевариваю всю информацию которую слышу и вижу. В магазине я слушаю рекламу и запоминаю её. На дорогах вижу и запоминаю бигборды. В метро смотрю в телевизор и скоро кажется буду помнить все футбольные команды которые спонсирует "единственный легальный букмекер". Когда кто-то рядом разборчиво говорит, я не могу сосредоточиться и пропускаю через себя этот разговор. Я не могу одновременно слушать музыку и работать. Я не могу работать когда на фоне бурчит какой-нибудь подкаст. Я помню множество кринжовых ситуаций из жизни. Почему-то их больше чем хороших. Так же помню когда люди пересказывают одну и ту же историю. Они наверное забыли что её рассказывали, а я всё помню. Я так и не смог найти большой ценности в программах записи знаний. Roam Research которым я пользуюсь лежит почти не тронутым. Я складирую туда ссылочки и всякие заметки, но редко к ним возвращаюсь—потому что и так всё помню, а то что не помню оно и не надо. При этом у меня трудности с запоминанием конкретных цифр (например дат), имён людей, вещей которые мне кажутся бесполезными (например экзаменационных билетов в университете). Мозг рандомно выбирает то, что ему нравится, но если уж выбрал, вытравить это оттуда становится совершенно невозможным. У Олди есть цикл книг, «Ойкумена», в одной из них протагонистом был "психир"—человек который удалял воспоминания. Вот мне был такой психир не помешал бы. И адблокер еще, чтобы баннеры и аудиорекламу в реальном мире резать. Завидую людям которые умеют работать под ютуб. ### Докер для разработки URL: https://www.rozhkov.me/docker-in-real-life/ Last updated: 2021-12-28T07:00:00.000Z Непопулярное мнение—не использую докер в разработке. Исключения—когда нужно сделать хитрый образ и протестировать сборку локально намного быстрее чем мучать заведомо медленный CI/CD. А так то случаи когда мне пригождался докер, можно пересчитать по пальцам руки. Пару раз делал фичу которая требовала поднять кухню из прометеуса-графаны и на этом всё. Девелоперские окружения, например python, java, node или руби ставлю локально с помощью [pyenv](https://github.com/pyenv/pyenv), [rvm](https://rvm.io/), [sdkman](https://sdkman.io/), [fnm](https://github.com/Schniz/fnm). Базу данных (pg, mysql и redis) использую либо ремоутную либо подымаю полноценно локально (`sudo apt install postgresql-12`). А больше вроде как ничего и не надо. Г-дь уберёг от микросервисов, но на предыдущих проектах я подымал всё локально без контейнеров. Удобство докера понимаю, но в работе не применяю. Это конечно не касается деплоя. Там всё контейнеризировано и оркестрировано. Истории о куче докеров которые люди зачем-то подымают читаю с содроганием. А вам нужен докер? Поделитесь в комментариях. ### Дірка в зубі URL: https://www.rozhkov.me/daily/hole-in-a-teeth/ Last updated: 2023-01-11T22:01:12.000Z Всім відомо, що потрібно стежити за здоров'ям, правильно харчуватися, займатися спортом, лягати спати в один й той самий час та не сидіти в туалеті зі смартфоном. Всім також відомо, що для того, щоб щось зробити треба це взяти й зробити. Щоб перестати прокрастинувати, потрібно просто почати працювати. Ось так просто. Однак на практиці з'ясовується, що не можна просто «взяти й зробити». Книжкові полиці майорять різноманітними мануалами по наведенню порядку і справах, інтернет гуру розповідають про методи підвищення продуктивності, мобільні апки де потрібно вирощувати дерева і працювати помідорками встановлені у кожного досягатора. Півтора року тому один з моїх корінних зубів почав боліти. З'ясувалося що там уже все, процес пішов у нерв. Лікарка сказала „зараз пролікуємо“ та хутко заклала у канал миш'як. Я не зразу зрозумів що «пролікувати» фактично значить «видалити», але там вже була погана ситуація. Врешті мені видалили з зуба нерви, та запломбували канали. Але зуб не перестав боліти. Біль був слабкий, але помітний. Найцікавіше що боліти там було нічому, адже нерви були видалені! Рік я відчайдушно терпів, поки після корони процеси не загострилися, і мені не стало зовсім погано. Знову пішов до лікарки, розсвердлили все що було зацементовано — з'ясувалося що під зубом пішов запальний процес, який не міг розрулитися сам по собі, без доступу кисню. Коли зуб розколупали та фактично залишили від нього одну оболонку, відкрив доступ повітря до кістки, біль відразу пройшов. Маю сказати, що з «відкритим» зубом жити дуже неприємно. Його потрібно закладати коли їси, полоскати та стежити, щоб туди не набилась їжа, бо потім не вичистиш. Так я і ходив пару тижнів. Потім заклали ліки та поставили тимчасову пломбу. Потім знову відкрили. Потім знову пломба. Зараз стало зрозуміло що процес можна виправити й видаляти зуб не будемо, заклали нові ліки та знову поставили тимчасову пломбу. В результаті я вже близько двох місяців ремонтую зуб, добре хоч що це недорого. Як можна було цього уникнути? Ну, регулярно ходити до стоматолога, слідкувати за зубами й так далі. Однак це елементарне знання чомусь не перетворюється у дії. Знати ≠ робити. Поки людину не дзьобне смажений півень, вона не почне рухатися, але вже може бути пізно, як в моєму випадку. Як розв'язати цю проблему? Наприклад, мати особистого стоматолога, який раз на рік буде сам вас пушити та записувати на огляд та дрібний ремонт. Зазвичай людина забуває або знижує пріоритет таких речей коли знаходиться в повсякденній рутині, але якщо тобі зателефонують та запропонують час, то відмовитися буде складніше. Ну, мені б так було зручно. А ще мені треба ставити брекети. Зуби в мене криві, і це провокує карієс на місцях стиків. Їх треба було ставити ще дуже давно, але я прокрастинував та відкладав це питання, в тому числі через те що потрібно було видаляти зуби мудрості, які ростуть не туди. Але зараз подумав — я видалення зубів буду прокрастинувати нескінченно, аж поки не піде запалення. Тому якщо вже поставлю брекети, то там якось розберусь. Коротко кажучи, поремонтую зуб та піду ставити дуги. А ви теж пильнуйте за зубами. Коронки та імпланти свій зуб не замінять. ### Переосмислюю офіс URL: https://www.rozhkov.me/daily/rethinking-office/ Last updated: 2022-11-11T13:31:25.000Z Минуло уже кілька тижнів, як я стабільно почав ходити працювати до коворкінгу. Ще два роки тому, коли віддалена робота буда швидше вийнятком аніж трендом, я написав пост [«Навіщо ходити до офісу»](https://www.rozhkov.me/why-go-to-office/), де негативно писав про офіс. З того часу основна моя проблема—відсутність соціалізації, так і не була вирішена. Пандемія ще більше зіпсувала ситуацію, тому як тільки вийшла нагода відвідати офіс, я цим відразу скористувався і мені це сподобалось—вирішив що хоча б раз на тиждень буду ходити у коворкінг. Раніше я лаявся на час витрачений на дорогу. Я користуюсь громадським транспортом та ходжу пішки свідомо, щоб розвантажити голову. Я не затикаю вуха музикою, аудіокнигами чи подкастами, не дістаю телефон з кишені у метро, щоб почитати книжку або соцмедіа. Величезна кількість змарнованого на споживання контенту часу привело мене до думки що просто йти та нічого не робити це не так вже й погано, хай навіть на це витрачається півтори години на день. Цифровий детокс. Раніше я лаявся на опенспейси. Напевне ця лайка буде актуальною і зараз. В коворкінгу я маю кабінет де ми сидимо з декількома колегами. За стіною шумні сусіди які деколи заважають але загалом це краще ніж опенспейс. Я працював в командах по 20 людей, звичайно вони генерували більше шума ніж двоє. Раніше я лаявся на постійні переривання контексту. Напевне ця лайка буде актуальною і зараз, але оскільки в мене лише пара колег з якими я нечасто взаємодію, то я не зовсім не відчуваю цього. Для нарад є окремі кімнатки, тому ми тихо сидимо та працюємо, раз на годину обмінюючись кількома фразами. Я екстраверт, тому мені дуже не вистачає спілкування, особливо живого. Навіть якщо я просто дивлюся на людей довкола, то це мене заряджає. Тому я люблю ходити з колегами на обід і щось обговорювати, якось взаємодіяти. Я дещо неорганізований, а офіс допомагає мені зосередитися на невеликій кількості задач і не відволікатися на домашні справи. Тут у кожного своя міра самоконтролю. Хтось перебирається у робочий одяг, в когось дома є окремий кабінет, кожен будує собі кордони сам. Не можу сказати що я став радикально більш продуктивним у офісі, швидше все залишилося як було, але фокуса стало більше, а відволікань—менше. Зміна середовища також допомагає перемикнутися з режиму «робота» в режим «дім». Останні пару років я мав дуже змішаний графік і ніби як не виходив з роботи цілу добу. Звичайно це можна вирішити і дома, аби було бажання і воля. Головне, що дозволяє мені отримувати переваги описані вище—це опціональність. Як тільки б мене загнали працювати 5x8 як у 2015, то я відразу б перетворився на антиофісного повстанця, дорога почала б дратувати, а спілкування не таким надихаючим. Все стало би буденним, і задоволення від прогулянок і дороги зникло. Тому застосовувати цей засіб я буду дозовано. Не виключено що через кілька місяців мені це набридне. P.S.: значну роль в цьому зіграло те що у мене чудовий коворкнг (Creative Quarter), в якому *приємно* знаходитися. ### Линукс на лептопе. Чем я заменил макбук URL: https://www.rozhkov.me/linux-on-a-laptop/ Last updated: 2021-12-25T11:59:57.000Z Больше двух лет прошло с тех пор, как я переехал на линукс. Для тех кто пропустил, начало: [«Как я съезжал с macOS после 5 лет работы за макбуком»](https://www.rozhkov.me/moving-from-macos-to-linux-after-5-years/) и промежуточная ретроспектива: [«Линукс на десктопе год спустя»](https://www.rozhkov.me/linux-on-desktop-year-later/). До конца этого лета в качестве мобильного средства разработки я пользовался MacBook Pro 2015\. На моих задачах он уже давно тормозил и совершенно меня не устраивал, поэтому я ограничивался там мелкой разработкой. Новые макбуки мне покупать так и не захотелось, поэтому я вяло смотрел на то, что есть на рынке. Полноценной альтернативы макбуку с точки зрения качества сборки и тачпада как не было так походу и нет (кроме [frame.work](https://frame.work/), см. ниже). Но так как лептоп у меня дополнительный, а не основной рабочий инструмент, то я решил что согласен мириться с недостатками существующих решений. Длительное время я пассивно посматривал обзоры разных ноутов. Так как я собирался установить Linux, то список несколько сужался—известно что Lenovo отлично поддерживается и не вызывает проблем. У меня образовался шорт-лист из ThinkPad X1, T14 и T490\. По характеристикам и цене они примерно одинаковы, отличаются весом и ремонтопригодностью. Официальный ноутбук за фулл прайс я покупать не собирался, поэтому пошел на OLX и начал рыть там. После двух недель ленивого поиска и отсева нашёл отличного кандидата—американский T14 пользованный пару часов (видно по смарту) с 3+ годами международной гарантии. Core i7-10610u, 16 GiB RAM, 256 GB NVMe, IPS Full HD всего лишь за 1000$. T14 довольно ремонтопригодны—можно добавить памяти, заменить NVMe, батарею, всё разбирается и собирается стандартными отвёртками. Вначале я хотел сразу апгрейднуться до 32/512, как на десктопе, но потом передумал. Ноут был куплен у продавана на Позняках и привезён домой. Дома я поставил на него Linux Mint. Всё завелось без дополнительных настроек, кроме сканера отпечатка. Его кажется тоже можно завести, но я не разбирался. Засыпание по закрытию работает, батарея держит не знаю сколько, если просто браузер смотреть то наверное более 7 часов, если вебпак гонять то меньше. Это можно подтюнить но я не занимался. В интернете пишут что проц троттлит, возможно это так, но мне не мешает. Всё работает очень быстро, я не замечаю никаких тормозов и свои задачи (IntelliJ, докеры, браузеры) решаю без каких-либо проблем. Я эпизодически работаю за этим ноутом с августа и весьма доволен. На макбук возвращаться желания нет. Из вещей которые лучше в макбуке: 1. Тачпад. Хотя тачпад моего синкпада очень хорошо меня весьма и весьма радует (а я помню тачпады еще с t410), до макбука ему далеко. 2. Если подключать-отключать внешний монитор, то gnome не сохраняет положение окон. ~~Возможно, это как-то решается, но быстрый поиск ничего не нашёл.~~ Это [решается](https://github.com/johannesjo/linux-window-session-manager). 3. Экран Full HD конечно будет хуже чем ретина, но у меня глаза не вытекают, вполне ок. Всё это некритично, жизнь не портит и неудобств не доставляет. Итог: я для себя решил проблему мобильного устройства для работы и весьма-весьма доволен соотношением цена/качество. Моё мнение неизменно и укрепилось—Linux полноценно пригоден для работы программиста. P.S.: пока верстался номер, ребята из [frame.work](https://frame.work/) сделали крутейшее решение. Если бы я подождал, то взял бы его—там лучше экран. Поэтому если ищете замену макбуку—настоятельно рекомендую обратить внимание. ### All exclusive URL: https://www.rozhkov.me/daily/all-exclusive/ Last updated: 2022-08-13T10:38:40.000Z Туристичний винахід країн третього світу полягає в хибній дешевизні, обмеженні проінформованості а також штучному стимулюванні попиту. В країні, де 40 мільонів людей живуть на пару доларів у день, заробити на вас будуть хотіти всі та все. Наприклад, ми йдемо на гору, але ніхто не попереджає що підйом довгий, а на горі дуже холодно. Тому, для непідготовленої людини місцеві з задоволенням дадуть в оренду накидку за 2$, за 10$ дадуть сісти на верблюда коли втомився, за 3$ дадуть в оренду одіяло щоб зігрітися, тому що організатори дбайливо підібрали час так, щоб тусити годину в темряві до світанку, а ще за пару $ продадуть вам гарячий чай. Корупційні ланцюжки роблять неможливим існування у цій системі звичайних роботяг. Скільки б ти не заплатив оператору, до кінцевого співробітника що наливає чай, дійде пара копійок, тому людям доводиться придумувати як створити попит самому, щоб вижити. Перед «сафарі» на квардроциклах, яке по суті є годинною поїздкою колоною один з одним по дорозі через пустелю, вам наполегливо запропонують купити арафатку за 3$ тому що “багато пісок”. Що характерно, супроводжуючі їдуть без арафаток, а пісок заважає не диханню а очам, тому ці арафатки не мають ніякої користі. Мотокросові маски поки що ніхто продавати або здавати в оренду не здогадався. Ну і само собою всім завжди і всюди треба давати чайові. Культура така, що поробиш. Як людині, що любить все явне і прописане, мені хотілося би щоб термін «все включено» означав би саме це, а не «плати за всі зручності крім зовсім базових». Втім, я приймаю цей контракт і погоджуюсь бути обдуреним, тому чайові даю та справно доплачую де треба. Крім тих випадків, коли мене намагаються вже зовсім нагло обдурити, наприклад «немає здачі». Прямий обман дуже неприємний. Pro tip: везти з собою сто баксів по одному долару для захисту від таких нахаб. Від накинутих зверху 100$ в сумі за весь час я не збіднію, а для когось це може бути смачна вечеря. ### Мне норм URL: https://www.rozhkov.me/daily/norm/ Last updated: 2021-12-23T07:00:00.000Z На той неделе отправился смотреть красоты Синая и Красного моря в компании бодипозитивных пролетариев из Сибири. Одной из таких красот является одноимённая полуострову гора Синай, на которой, согласно преданию, пророк Моисей (он же Моше, он же Муса в зависимости от того, в кого вы веруете) получил скрижали с десятью заповедями. Рядом с горой Моисея находится гора св. Екатерины, а у подножия располагается православный монастырь св. Екатерины с легендарным неопалимым кустом, из которого Б-г обратился к Моше. Кроме куста этот монастырь славен тем что в нём жил преподобный Иоанн Лествичник, автор "[Лествицы](https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%86%D0%B0)", мощнейшей книги по саморазвитию которая даст просраться всем "бестселлерам нью йорк таймс"™ вместе взятым. Читал сам, рекомендую и вам. Мы подымались на гору и встречали там рассвет. На гору водит местный гид, хотя сама дорога очень простая, просто длинная. Обычно идут ночью, добираются наверх под рассвет, отогреваются в хижине торговца чаем за 2$, час смотрят на солнышко и горы вокруг после чего спускаются вниз. Процессию сопровождают местные кошки и собаки а так же погонщики верблюдов, готовые за 10$ предложить проехаться паломнику, который не рассчитал свои силы. Должен сказать, что горы тут очень красивые. Мне зело понравилось, а в кое-каких моментах я даже ощутил себя киногероем, такие монументальные красоты были вокруг. По пути расспросили гида о его жизни и вообще как тут. Знакомьтесь, Масуд. Он всю жизнь прожил в этой местности. Первый раз на гору поднялся в 9 лет, с 15 лет начал профессиональную деятельность. Сейчас ему 34 года, 19 из которых он несколько раз в неделю, а то и два раза в день водит туристов на гору. По его словам, он подымался на гору более 5000 раз. Когда туристов нет, работает в магазине. Живёт в посёлке рядом. Дома ждёт жена Иман и шестимесячная дочка Дженна. За один подъем Масуд получает 15$, в магазине можно заработать 100$ за месяц. После революции доллар поднялся, поэтому сейчас говорит всё дорого. Образования у него нет, но за годы работы он неплохо выучил русский, английский и другие языки. Масуд вполне ок живёт. Он нигде не был, в Каир переезжать не хочет потому что не любит городскую суету и особо ни к чему не стремится. Ходит каждый день на гору туда-сюда, общается с туристами и своими коллегами, чиллит. "Здесь горы, тут спокойно, мне тут нравится, я никуда не хочу". Выглядит он старше своих лет, всё таки постоянно на солнце и ветру, да и медицина тут не очень. Масуду норм. Общаясь с ним я вспомнил [притчу о богаче и рыбаке](https://pritchi.ru/id%5F1179) и внутренне проорал. Напоследок мы оставили ему еще 10$ и попрощавшись, уехали обратно в царство вечного праздника и отдыха. ### Как я оставил коллегу без отпуска URL: https://www.rozhkov.me/how-i-screwed-colleague-vacation/ Last updated: 2021-12-22T19:33:12.000Z На моей первой работе постоянно была нехватка ресурсов. Проектов было слишком много, а людей, которые что-то соображали во внедрении сложных вещей—слишком мало. Однажды возникла ситуация, когда на какой-то проект очень-очень сильно нужен был специалист по модулю, разработкой и поддержкой которого я занимался. Обычно в этом случае боссы шли ко мне, так как я руководил отделом где работали люди которые шарили этот модуль. Я давал фамилии и дальше начинался политический процесс "давайте поймём какой проект важнее". Обычно человек дёргался со своего проекта, затыкал дыру на другом и потом возвращался обратно. Но в этот раз все проекты оказались важными. И мой босс потребовал от меня список людей которые хоть что-то слышали о нашем модуле. Я такой список подготовил и внёс туда всех ребят со всех проектов о которых я знал что они хоть чуть-чуть трогали соответствующую часть функциональности. Дальше босс пошёл с этим списком по линейным менеджерам и как-то надёргал людей, временно потушив проект. Через пару дней от коллег из соседнего отдела я узнаю, что оказывается я сильно подставил одного сотрудника. Он был одним из списка, который я составил, по счастливой случайности не занят на критичной задаче и именно его взяли на тот критичный проект. Беда была в том что у человека уже были куплены билеты в тёплые края и запланирован отпуск. Менеджеры в той компании умели быть настойчивыми, а наш герой не смог отстоять свои границы, поэтому он согласился сдать билеты и перенести отпуск. Мне коллега лично ничего не сказал, ведь в том что он согласился, был виноват он а не я, который "сдал" его, но мне стало немного не по себе. Я конечно же извинился и сказал что не предполагал что из моего большого списка попадут именно на него и именно во время отпуска. Но осадочек остался. Работать в компаниях где есть постоянные овертаймы и пожары, а менеджеры прессуют людей заставляя жертвовать своим личным временем не нужно. Никакая работа [никогда не является настолько критичной](https://www.rozhkov.me/overtimes-are-bad/) чтобы не быть отложенной на недельку-вторую. А сама необходимость "аппрувить" отпуск перемещает меня в средние века, когда крестьянин имел ограниченную сводобу и зависел от феодала. Вроде умом и понимаешь что синхронизация отпусков нужна для управления проектом, тебя никто не привязывает и чуть что—через дорогу на +500, а душой всё равно чувствуешь что остаешься рабом. ### Жизненные установки на бумажке рядом с монитором URL: https://www.rozhkov.me/daily/starting-principles-retrospective/ Last updated: 2021-12-22T06:30:00.000Z Полгода назад я писал о прочитанном способе [как применять мудрости из книг и статей на практике](https://www.rozhkov.me/daily/vanity-metrics-mental-models-life-values/). Материал интереснейший, если вы вдруг пропустили его—обязательно прочите. *И тут же примените, а то информация просто вылетит из другого уха без пользы*. У меня на рабочем столе есть второй монитор, которым я почти не пользуюсь и я прикрепил на него несколько бумажек с жизненными установками: «через год пожалеешь что не начал сегодня», «сделать наполовину—значит не сделать вообще», «удача—это функция от количества попыток», «веди общение с помощью любопытства а не критики», «занимайся "своей" работой», «начинай с предположения о хороших намерениях». Почти все эти установки я взял из вышеупомянутого материала. Итак, вопрос, помог ли мне этот магический ритуал? Есть исследования которые доказывают что если в аудитории где проводится экзамен повесить портрет человека который "смотрит" на сидящих, то они менее склонны к списыванию и обману (пруфов не будет), сработает ли это для лозунгов? Рапортую. Лучше всего зашла самая видимая бумажка: «сделать наполовину—значит не сделать вообще». Эта установка прямо заехала мне в мозг и я действительно начал субъективно тщательнее относиться к завершению дел и задач. Если раньше я очень часто многое позволял себе делать "на отвали" то сейчас как минимум думаю о том что неплохо бы всё-таки добить дело до конца. Вердикт—работает. Две других установки были связаны с моим давним бичом—комментированию в интернете. Они предлагали мне ввязываться в срач с позиции любопытства и не гореть с комментариев а вести дискуссию цивилизованно. В результате я просто стал меньше отвечать на комментарии и больше думать перед тем как писать. Несколько раз я пробовал вывести собеседников на нормальный разговор, но не встречал ответного желания и дискуссия заканчивалась флеймом. В результате я пришёл к выводу что нет никакого смысла вести дискуссии в интернете. Максимум—конкретные вопросы или профессиональные сообщества типа github issues. На самом деле, такой вывод я сделал еще давным-давно и написал на эту тему пост [«О срачах в интернетах»](https://www.rozhkov.me/flame-wars/), но применять на практике мне его крайне сложно. Вердикт—работает на половину. Вместо того чтобы вести дискуссию "с позиции любопытства а не критики", я просто не веду её вообще. Остальные мантры: «удача функция от количества попыток», «через год пожалеешь что не начал сегодня», не работают, видимо потому что слишком абстрактны и я не знаю куда их присобачить пока что. «Занимайся "своей" работой» работает на четверть или осьмушку. Под "своей работой" понимается работа которая развивает, продвигает в карьере, бросает вызов. Под "чужой"—соответственно наоборот, то что слишком просто, понятно, не продвигает в карьере, не приносит денег. Я действительно стал больше задумываться когда что-то делаю и субъективно уменьшил количество "чужой" работы или стал брать за неё больше денег, но сказать что использую совет в полной мере не могу. Пока что больше думаю как мне решить вопросы [вендор-лока наоборот](https://www.rozhkov.me/reversed-vendor-lock/). Кроме указанных установок я добавил себе несколько напоминалок: «нет смысла читать твиттер» (работает частично), «нет смысла читать телеграм чат» (работает частично), «нет смысла смотреть статистику просмотров» (не работает), «можно почитать книгу» (не работает) и несколько других. Вот такие итоги, если вам интересно что-то поменять или немножко улучшить в своей жизни, рекомендую применить этот способ. Найдите ценности которые вам подходят, повестье бумажку рядом, а через пол-годика проведите ретроспективу—помогло вам или нет. ### Прочитал «Одураченные случайностью»/«Fooled by Randomness» URL: https://www.rozhkov.me/daily/fooled-by-randomness-book-review/ Last updated: 2021-12-21T07:00:00.000Z Некоторые обвиняют Талеба в графомании и мне это было не совсем понятно, пока я не добрался до «Одураченных». Он зачем-то снадбил его огромным количеством малозначимых деталей, таких как названия фирм-производителей дорогих костюмов и часов, описаниями ситуаций, которые кажется вообще не несут смысловой нагрузки, многократным повторением одних и тех же утверждений ("я не уважаю людей с MBA"). В результате текст кажется максимально перегруженным а несколько главных идей всё время приходится мучительно выуживать в болоте. Несмотря на это, книга годна. Главная мысль—люди склонны очень сильно преувеличивать свой вклад в успех какого-либо дела и недооценивать фактор случайности. Талеб иллюстрирует это примером успешного трейдера, который торгует высокорисковыми бумагами потому что недостаточно умён чтобы оценивать риски, богатеет год за годом, а потом в один момент лопается и проигрывает больше чем мог себе позволить когда рынок внезапно пошёл в другую сторону. Этому человеку просто повезло попасть на период роста и совершить серию удачных сделок, что люди склонны ретроспективно объяснять "чутьём" и квалификацией, хотя это просто случайность и на длинной дистанции этот трейдер всегда был бы в проигрыше. Дальше эта идея жуётся на протяжении сотен страниц, где автор рассматривает её с разных сторон и приводит разные примеры по ходу дела вспоминая древних философов, поэтов, учёных и наливая кучу воды. Самый сок как по мне собран в конце книги, где Талеб сделал небольшую главу "пока версталась книга". Одна из них—человек который живет по графику испытывает больше стресса, чем человек без графика. Люди у которых расписана каждая минута подвержены стрессу больше нежели те у которых есть некоторая гибкость. Небольшая случайность идёт на пользу человеку, иначе мы бы пропали в бесконечном цикле оптимизаций своей жизни и позволяет жить по принципу "разумной достаточности". Это очень сильно со мной резонирует, поэтому я не люблю синхронность, работаю когда захочу, а вместо доставки курьером на дом предпочитаю прогуляться в магазин лично. Ещё одна интересная мысль—комментарий какого-либо человека о чём-либо, например отзыв о книге, или комментарий к этому посту, или обсуждение на форуме, намного больше говорит об этом человеке, нежели о предмете обсуждения. Поэтому Талеб не читает отзывы на свои книги и не вступает в полемику с людьми, которых он не знает, предпочитая общаться с теми, кого он знает и чьё мнение уважает. Человек эмоционально реагирует на любую агрессию и это не подавить никакой рациональностью, поэтому он использует некоторые приёмы чтобы обходить этот механизм и не стрессовать лишний раз. Я регулярно горю с комментариев и хотя за последние два года сделал существенный прогресс, советы Талеба помогут мне ещё лучше справляться с этим. В книге полно отсылок к разным трудам и персоналиям, поэтому если вы до сих пор не читали Канемана, или вам интересен например стоицизм или философия науки, но не знаете откуда начать, то Талеб даст направление. Книгу к прочтению я рекомендую. Несмотря на неприлично большое количество воды (хотя вероятно я недостаточно умён и образован для того чтобы понять что это не вода) там есть хорошие идеи которые стоит взять на вооружение. Если вы не читали "Чёрный лебедь", то обязательно прочтите его после "Одураченных", а следующая книга в серии—"Антихрупкость". Я уже к ней приступил. ### Рабочая почта URL: https://www.rozhkov.me/work-email/ Last updated: 2021-11-17T07:00:00.000Z Когда я работал в большом энтерпрайзе, то основным средством коммуникации у нас была электронная почта. У меня в аутлуке были настроены десятки папочек, специальные фильтры и метки. Администраторы создавали группы по интересам, у всех были красивые корпоративные подписи, "Доброго времени суток коллеги" и так далее. В день могло приходить по пятдесят-сто писем и все они аккуратно разгребались и складывались. Особенно мне нравилась древовидное преставление переписки—сразу понятно, кто кому куда на что ответил. Кто помнит что такое NNTP или видел старые форумы тот оценит. Дерево решает. Время моего перехода в другую компанию—маленький стартап как раз попало на рост популярности слака, который полностью заменил нам почту. Емейл остался только для сервисных писем и каких-то системных нотификаций. В качестве основного средства коммуникации использовался слак и видеозвонки. В дальнейшем история повторялась. Никто больше не использует почту. Слак, ms teams. Для документации notion. Недостатки у этого дела очевидные: нет нормальной асинхронной коммуникации, нет хорошего поиска и каталогизации информации, в общем всё это перетиралось сто раз. Считаю что это плохо для культуры. Мечтаю поработать как-то в [настоящей асинхронной команде](https://www.rozhkov.me/why-async-remote-not-working/), без звонков на каждый чих и километровых переписок в чатиках, а с использованием вдумчивой коммуникации и соответствующих инструментов (Basecamp/Twist/phpBB/тикеты гитлаба). Но так уже не будет, потому что синхронные чаты развратили людей своей доступностью и легким допамином. Сейчас когда отправил емейл, то вообще нет никаких гарантий что человек его прочитает. Особенно учитывая что обычно у людей супер-захламленные инбоксы в которых ничего не понятно. Поэтому если уж отправил письмо то надо дублировать в чат "эй, я тебе там письмо написал, прочти. Безумие, не так ли? Интересно, у кого-нибудь до сих пор активно используется почта? ### daily rozhok №7: апдейты по Жоре, коронавирус, обзоры автомобилей, ресторанов, сериалов и бытовой техники URL: https://www.rozhkov.me/daily-rozhok-7/ Last updated: 2021-11-12T07:00:00.000Z Трям коллеги, поздравляю всех с пятницей! Это дайджест канала [@daily\_rozhok](https://t.me/daily%5Frozhok). [@daily\_rozhok](https://t.me/daily%5Frozhok) — канал где я пишу на рандомные темы. Подписывайся, если тебе интересны дорогие автомобили, крутые тусовки и настоящая лакшери жизнь! Давно дайджестов не делал, поэтому постов целая куча, главные из которых это конечно же апдейты о моём товарище [Жоре](https://www.rozhkov.me/daliy-rozhok-4/). Интересные посты отмечены эмодзи 👉👌 [Рациональная духота](https://www.rozhkov.me/daily/rational-snobism/)—все врут, никому нельзя верить, каждое утверждение должно быть подкреплено пруфами из пабмеда иначе нет вообще никакого смысла в разговоре. [Против социального дарвинизма](https://www.rozhkov.me/daily/against-social-darvinism/)—дисс на позицию "моя хата с краю, мне на всех плевать, если что уеду в Грузию". Почему играют они а проигрываешь ты. [Объедки](https://www.rozhkov.me/daily/waste-food/)—подгораю от того что другие не доедают свою порцию в ресторане. Приглашаю в комментарии людей которые оставляют несъеденными бортики от пиццы🍕 [Кража](https://www.rozhkov.me/daily/steal/)—купил краденую запчасть для велосипеда. [Окно овертона и сексизм в старой фантастике](https://www.rozhkov.me/daily/overton-window-old-fiction/)—рассматриваю Стругацких через призму современной повестки. [Неосознанная жизнь](https://www.rozhkov.me/daily/non-awareness-life/)—каждый день я не замечаю маленькие вещи которые мешают мне жить и это очень-очень плохо. [Невкусные помидоры](https://www.rozhkov.me/daily/tasteless-tomatoes/)—рассуждения о том почему люди кушают пресную пищу и никого это не беспокоит. [Не смотрю сериалы](https://www.rozhkov.me/daily/sitcoms/)—уже посмотрели игру в кальмара? А я не посмотрел. И не буду смотреть. А если вы еще не смотрели то не советую, бесполезное это дело. [Компьютерный мастер](https://www.rozhkov.me/daily/service-man/)—как я чинил незагружающийся виндовс 7. [Ламеры](https://www.rozhkov.me/daily/lamers/)—кто-то ещё помнит такое слово? [Вечный двигатель](https://www.rozhkov.me/daily/perpetuum-mobile/)—дилетантские рассуждения на тему низкого качества современного автопрома. [Пропаганда](https://www.rozhkov.me/daily/propaganda/)—съездил к родственникам, послушал Киселёва (или Соловьева, хрен их разберешь), сразу же вспомнил ["Тридцатую любовь Марины"](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D0%B4%D1%86%D0%B0%D1%82%D0%B0%D1%8F%5F%D0%BB%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C%5F%D0%9C%D0%B0%D1%80%D0%B8%D0%BD%D1%8B). В комментариях моментально начался срач прямо по [канонам](https://www.rozhkov.me/how-to-light-a-flame-over-internets/), поэтому пост пришлось удалить, а найти его сможет только самый любопытный. [Тупой антиспам гмейла](https://www.rozhkov.me/daily/stupid-gmail-antispam/)—жму на письме спам, а когда приходит новое письмо от этого же адресата, оно не попадает в спам, ну как так можно? Бугурчу на гугл. [Раммштайн](https://www.rozhkov.me/daily/rammstein/)—как прийти к *реальному* успеху послушав песню "зонне". [Интернет-бездуховность](https://www.rozhkov.me/daily/internet-soulless/)—раньше трава была зеленее и ходить за покупками в настоящий магазин приятнее. Теперь везде бездуховная доставка которая убивает социальные взаимодействия. 🦠[Коронавирус](https://www.rozhkov.me/daily/coronavirus/)—заболел коронавирусом, делюсь впечатлениями. [Атлант заправляет штаны](https://www.rozhkov.me/daily/atlas-losing-grip/)—не хочу видеть нищих и обездоленных на улице. [Go big or go home](https://www.rozhkov.me/daily/go-big-or-go-home/)—motivational talk, посредственности миру не нужны. Кто не рискует тот не ездит на гелике🚀 🌤[Жора находит работу и светлое будущее](https://www.rozhkov.me/daily/poor-man-bright-future/)—продолжение истории Жоры. [Краткое содержание предыдущих частей](https://www.rozhkov.me/daliy-rozhok-4/). 💉[Антиваксер Жора](https://www.rozhkov.me/daily/antivaxer/)—Жора делает норматив Iron Man благодаря своим стойким убеждениям. 💩[Феерия говен](https://www.rozhkov.me/daily/shit-happens/)—обзор робопылесоса Roborock S5 в стиле Владимира Сорокина. [Как рано просыпаться](https://www.rozhkov.me/daily/how-to-wake-up-early/)—как рано просыпаться без регистрации и смс, нечего и добавить. Кто не может настроить сон—бегом читать! [Конструкторы и механики](https://www.rozhkov.me/daily/constructors-and-servicemans/)—все программисты на самом деле неинтеллектуально и безыдейно крутят гайки и это плохо. Такие дела, добавляйте в закладки ASAP, читайте кулстори, коллеги всем хороших выходных увидимся в понедельник. ### Конструкторы и механики URL: https://www.rozhkov.me/daily/constructors-and-servicemans/ Last updated: 2021-11-12T06:30:00.000Z Механик на СТО—работа не особо творческая. Сиди, изучай мануалы, крути гайки. Хотя механик может например обучиться хорошо диагностировать неполадки, подбирать запчасти, и даже самостоятельно делать инструменты для ускорения работы, полёт его мысли довольно сильно лимитирован. Механик не может позвонить на завод и сказать чтобы поменяли расположение каких-то деталей, из-за которых часто возникают поломки или износ. Механик не может радикально модифицировать например двигатель—ведь его уже отлили на заводе, максимум поменять расходники да цилиндр расточить. Механик не может написать программу управления машиной и вынужден полагаться на ребят которые предоставляют готовые прошивки. Или менять некоторые параметры в некоторых интервалах. Короче говоря, по-большому счёту, мехник ничего не может. То ли дело конструктор—тут и сплавы новые, и конструкции другие, и кузова и всё остальное. Сиди и делай. Конечно "конструктор" это команда из десятков и сотен людей, но им всё равно повеселее. Программист который использует готовые фреймворки подобен механику. Только в отличие от механика он часто еще и не имеет вообще никакого представления о том, что происходит под капотом его системы, и часто неспособен ничего исправить, полагаясь на авторов библиотек. Оно конечно разделение труда, и если дженерик программиста посадить разрабатывать реакт то рано или поздно он одуплится и разберётся как оно там внутри работает на достаточно хорошем уровне. Но большинство всё равно остаются механиками годами крутя гайки на написанных другими библиотеках, не изобретая вообще ничего нового. Выводов нет. ### Як прокидатися рано? URL: https://www.rozhkov.me/daily/how-to-wake-up-early/ Last updated: 2022-08-29T12:33:50.000Z Нещодавно робив цікаву задачу. Настільки цікаву, що вона захопила усю маою увагу, і я ходив та думав як би так все зробити. Ця справа мене так затягнула, що наступного разу я прокинувся без будильника, і взагалі без нічого, на декілька годин раніше свого звичного часу підйому і хутко побіг дороблювати задачу. Такі пробудження в мене були і раніше. Коли вранці щось важливе або цікаве, то будильник не потрібен і лежати в ліжку не хочеться. Причиною порушеного режиму сну часто є фізіологія та зламана хімія тіла, але щось мені підказує що найважливіший фактор для вчасного підйому—це щоб було навіщо прокидатися і хотілося б швидше доступитися до справи. Мені складно уявити собі працівника конвейєра, який щоранку встає і радісно біжить на завод. Здається що лайфхаки усіляких ефективних і продуктивних людей в першу чергу складаються не з спеціальних режимів, біодобавок, медитацій, вимкненні синього кольору та іншому мотлоху, а просто в тому що вони живуть насиченим та цікавим життя. Я б теж так хотів, але поки не виходить. ### Продуктовое мышление URL: https://www.rozhkov.me/product-engineering-mindset/ Last updated: 2021-11-10T10:00:38.000Z Есть категория разработчиков, которые не хотят выходить за пределы своих технических компетенций. Они говорят "мне за это не платят" и довольствуются перекладыванием джсончиков из одного места в другое. На всех работах где я работал была такая схема: вначале ты берешь ответственность, доказываешь что можешь с этим справляться, потом получаешь лычку и бабос. Хочешь стать тимлидом → берешь пару человек → показываешь что можешь с ними работать → ... → бабос и лычка тимлида. С подходом "мне за это не платят" трудно развиваться. Я не призываю работать бесплатно и тащить на себе кучу обязанностей за мелкий прайс, но надо разумно смотреть на вещи и рассматривать такие ситуации как инвестиции в себя. Если конечно это вам интересно. Другой вопрос — это способность разбираться в предметной области и интерес к бизнесу. На всех работах где я работал, самый резкий рост (всего) происходил тогда, когда я в своей деятельности приближался к решению проблем клиентов. В самом грубом описании цепочка денег от клиента к вам проходит так: у человека есть проблема → он приходит в вашу контору → босс вашей конторы смотрит как решить его проблему → делегирует её большому менеджеру → тот делегирует еще одному по менбше → тот ваще маленькому (жесть!) → тот бизнес аналитику → тот вам. Размер цепочки может меняться в зависимости от размера компании и вашего положения в ней. Логично предположить, что на каждом этапе часть информации и боли клиентского запроса теряется. Теряются и деньги :) До конечного программиста задача доходит в виде перекладывания джосничка в нужное место за миску риса, но что самое интересное, это может быть не совсем то что нужно! Может быть там вообще не надо было ничего никуда перекладывать. В этом месте и оказывается полезным продуктовое мышление. Наша работа состоит не в том чтобы писать код, а в том, чтобы решать проблемы, и желательно не создавать новых. Чем больше программист вовлекается в процесс решения проблемы клиента, тем большую ценность он приносит компании, тем больше он двигается по цепочке в сторону клиента и денег, тем лучше он растёт. В моей карьере самый лучший рост происходил именно когда я приближался к клиенту. Когда ты отдаляешься — за тебя решают другие люди, твой импакт маленький, ты просто исполнитель, деньги дают неохотно. Когда приближаешься — ты решаешь сам, твой импакт большой, ты уже не просто исполнитель, деньги дают охотно потому что видят как ты помогаешь конторе зарабатывать. Это не просто красивая история, которую продают вам руководители чтобы вы работали мотивированнее и за меньше денег. Без этой истории человек обречен всю жизнь стоять за кодостанком, он может быть очень эффективным, но просто исполнителем в руках других. Что делать и куда смотреть — ваш выбор. Но я лично стараюсь как можно больше вникать в потребности бизнеса. Если даже у меня не будет возможности принять решение, по крайней мере я точно буду понимать *что* и *зачем* я делаю, и таким образом пытаться повысить свою ценность, что в итоге материализуется в большей сумме денег на моем счету. Ну а можно не париться и фокусироваться на способах перекладывания и отрисовки джсончиков, за это тоже хорошие деньги платят. ### Феерия говен URL: https://www.rozhkov.me/daily/shit-happens/ Last updated: 2021-11-10T16:37:49.000Z Полгода назад я купил робопылесос Roborock S5 или что-то такое. У меня дома на данный момент находится 6 кошек и 1 собака и они генерируют приличное количество грязи: коты разносят наполнитель с лотков, с собаки сыпется шерсть. Ежедневная уборка обязательна, иначе пол покрывается смесью из деревянных пылинок и шерсти. Всё это время пылесос работал без особых эксцессов и отлично помогал поддерживать чистоту в доме. У одного из моих котов не работают задние лапы. Вот он—[Карбоша](https://www.adopt.com.ua/pets/3521). Из-за этой особенности, он, во-первых не может сам пописать, и его нужно особым образом сцеживать (давить на мочевой пузырь), а во-вторых, не чувствует, когда какашка подпирает и не может в нужное время залезть в лоток. Благо, перистальтика работает автоматически, поэтому когда накапливается нужный объем, всё выходит само собой. Есть нюанс—время испражнения непредсказуемо. Это создаёт определённые неудобства, но за полтора года жизни особых эксцессов не было—Карбоша откладывает личинку или когда его сцеживаешь, потому что в этот момент массируется живот, или когда кушает, поэтому всё ±контролируемо. Обычно моё утро начинается так—я встаю, иду гулять с собакой, по возвращению сцеживаю Карбошу, запускаю робопылесос, чищу кошачьи лотки, подготавливаю еду животным. Пока еда готовится (запаривается), сажусь за компьютер и смотрю что там сегодня надо делать. Именно так и начался мой день вчера. Я сел смотреть на список входящих, начал чинить какой-то мелкий баг как вдруг почувствовал сильный запах кала. Посмотрев в коридор источник мгновенно стал понятен—робопылесос наехал на чьи-то какашки и с удовольствием начал их возить. Я моментально подбежал и перевернул его чтобы остановить процесс рисования, но было уже поздно. Пылесос скушал полный комплект каках, изговнякался сам и загадил небольшое пространство в коридоре. Настоящая говеная феерия, просто лютая жесть. Я конечно же громко расстроился этому факту. Уже были похожие ситуации, но тогда объем каках был сильно меньше и урона практически не было. В этот же раз днище было в говне, щётка в говне, пол в говне, всё в говне. Неприятно. От криков проснулась жена и мы принялись вдвоём отчищать всё это безобразие. Мораль такая—если дома есть животные которые могут нагадить в непредсказуемой локации, то надо брать пылесос с камерой и детектором какашек. ### Антиваксер Жора URL: https://www.rozhkov.me/daily/antivaxer/ Last updated: 2021-11-09T11:22:34.000Z Здравомыслящий и допропорядочный гражданин, Жора, не доверяет вакцинам, не верит в коронавирус и пандемию. Поэтому Жора не собирается вакцинироваться никакой вакциной. С 1-го числа в киеве для непривитых ввели ограничения: нельзя ездить в транспорте, ходить в торговые центры, рестораны, магазины кроме продуктовых. Как я говорил ранее, Жора устроился работать на стройку. До работы ему идти примерно 7 километров. Жора достаточно стоек в своих убеждениях, и пока вишнёвая девятка ожидает варки, ходит на работу пешком. Но настоящий характер он проявил в другом. Сейчас его машина находится на СТО в пригороде. Расстояние от дома до СТО—35 километров. Жора решил зайти к товарищу и проверить как там дела, а так как публичный транспорт недоступен, то он пошел пешком. Ну а чо, утром встал и неспеша потопал. Я даже невольно проникнулся уважением к выдержке и крепости убеждений. Обратно мы ему помогли и отвезли на своей машине. По дороге Жора хвастался купленными в кредит умными часами где есть и пульс, и GPS, и оксиметр, и всякие приколюхи. Часами Жора очень доволен. Про коронавирус аргументация примерно такая: "вакцина не работает, а они хотят людей подсадить на иглу, ни в коем случае себе не буду колоть ничего, я что, дурак? И вообще люди и раньше болели пневмонией, а сейчас раскрутили в медиа этот коронавирус, не было бы паники, всё бы было нормально". Вот такая история. Жора не унывает, рад своим часам. Вскоре пойдет на авторынок купить пороги на девятку—старые сгнили, надо менять. Мы поможем отвезти ему пороги на СТО. ### Жора находит работу и светлое будущее URL: https://www.rozhkov.me/daily/poor-man-bright-future/ Last updated: 2021-11-08T09:14:01.000Z После неудачного опыта таксования, Жора вновь на некоторое время вернулся к работе курьером за копейки. *Для тех кто еще не знаком с Жорой: [Кто такой Жора?](https://www.rozhkov.me/daliy-rozhok-4/)* Вскоре после тех событий его собаке начало становиться хуже, вначале она отказывалась есть, потом у неё началась одышка. В 4 утра Жора звонит к нам с вопросом "что делать?". Делать понятно что—нести пса в клинику. Пока решали что к чему, собака испустила дух. Вот так молодой отличный пёс за несколько лет закончил своё жалкое существование. Баба з возу—коням легше. Один из товарищей Жоры предложил ему работать на стройке. Тот вначале мялся но под нашим давлением согласился. На стройке пообещали неплохую зп — коло 15к грн. В общем Жора впрягся в работу и вскоре получил первую зп. Таких больших денег он не видел уже очень давно. Появились деньги—можно чинить девятку. Мы помогли Жоре и отбуксировали его корыто на СТО под Киевом. СТО держит товарищ Жоры и ремонт обещает быть недорогим, пусть и долгим. Днище сгнило, резина не менялась 15 лет, куча других деталей тоже пришли в негодность. Жора понемногу начал отдавать долги за коммунальные услуги. Точную сумму долга я не знаю, но Жора утверждает что регулярно платит. Жора снова ездит на рыбалку и даже катнул в Одессу с палаткой (это было еще летом). В Одессе он через знакомых узнал что у кого-то есть щенок-метис лабрадора и уже было собирался взять его себе. В этом месте вы должны поразиться его необучаемости. Чел, у тебя только что умерла собака которую ты не выгуливал и кормил непонятно чем, а ты уже хочешь новую?! К счастью, от этой затеи Жору нам удалось отговорить. Вначале Жора сильно жаловался что устает работать на стройке и подумывал бросить это дело, но со временем втянулся. Он работает в бригаде электриков—прокладывают кабеля. Работа с его слов напряжная, но по крайней мере платят. Немного переживаю как бы жора не перепутал клеммы, но у них в бригаде есть люди с допусками и уповаю на их адекватность. Вот такие у Жоры дела, идёт на поправку, смотрит в светлое будущее с оптимизмом. ### Платный интернет URL: https://www.rozhkov.me/paid-internet/ Last updated: 2021-11-08T12:26:15.000Z В книге ["Предсказуемая иррациональность" ](https://www.rozhkov.me/daily/predictably-irrational-review/)описывается эксперимент когда людям предлагали выбрать между бесплатной обычной конфетой и платной вкусной. Люди всегда выбирали бесплатную конфету, даже несмотря на то что она была ни о чём. К сожалению наш мир так и работает—если есть возможность не платить, то люди будут пользоваться сервисом похуже или с ограничениями, но бесплатным. На том и держится реклама. Кому нужен сервис с платной подпиской если есть такой же, но с рекламой? Поэтому интернет превратился в рекламную помойку, а самые крупные корпорации зарабатывают исключительно на рекламе. Пашка Дуров держался до последнего, но после того как [TON не взлетел](https://telegra.ph/What-Was-TON-And-Why-It-Is-Over-05-12), выхода у него не осталось. Поэтому теперь вы вынуждены лицезреть на этом канале скам-рекламу мерзких криптопомоек и инфобизнеса, а я на это никак не могу повлиять. Обратите внимание что рекламируются каналы с крошечным количеством подписчиков, созданные буквально на той неделе. Кто-то сделал сеть из каналов и хочет быстро заработать денег на скаме, ну а Дуров и доволен, хотя обещал жесткую модерацию. Впрочем так же он обещал что телеграм будет навсегда бесплатным и без рекламы. Слово джентельмена—захотел дал, захотел—забрал. С моей точки зрения это плевок в лицо авторам и пользователям. Я принципиально не размещал рекламы, но Пашке всё равно, ведь платформа принадлежит ему, а за хостинг надо платить. Очень надеюсь, что скоро появится возможность занести Дурову лично, чтобы канал был чистым. Вместо того чтобы сделать нормально—одновременно с рекламой запустить премиум акки для пользователей и возможность отключить рекламу для авторов, сделали через жопу начав с рекламы зашкварных каналов. Ну, им виднее, а деньги не пахнут несмотря на заявления Дурова о том что "богатство переоценено". А идея платного интернета, где пользователь честно платит за сервис которым пользуется, и нет никакой рекламы и продажи персональных данных так и останется утопией. В Британии, за BBC люди платят бабки и там [нет рекламы](https://en.wikipedia.org/wiki/TV%5Fadvertisements%5Fby%5Fcountry#United%5FKingdom). К сожалению, человеческая психология делает эту затею невозможной на большом масштабе. Поэтому дальше будет только хуже. upd: [подробный разбор](https://vc.ru/marketing/310957-reklamnaya-platforma-telegram-tekushchee-sostoyanie-i-prognozy) текущих возможностей рекламной платформы, аудитории и цен. Вывод из статьи такой—даже если загрузить рекламой телегу по полной программе, при текущих раскладах Дурову всё равно не хватит средств чтобы закрыть долговые обязательства. ### Go big or go home URL: https://www.rozhkov.me/daily/go-big-or-go-home/ Last updated: 2021-11-05T07:00:00.000Z Кто у нас молодец? Спортсмен-рекордсмен, популярный музыкант, артист из блокбастера, успешный бизнесмен. Кто у нас не молодец? Работяга всю жизнь отбатрачивший на заводе, кассир в атб, программист в коворкинге. Следуя терминам из Нассима Талеба первые ребята живут в "крайнестане", где работает закон вероятностей и экспоненциального роста, вторые—в "среднестане", где всё предсказуемо, соответствует нормальному распределению. Первые ребята рискуют своей шкурой, ставят на кон карьеру, гибнут. Вторые ничего не делают и плывут по течению. Первые ребята достойны уважения и почитания. Вторые—ничего не достойны, и никому неинтересны. Программист, который вырос в семье советских инженеров, без особых напрягов отучился в школе и институте, дальше как-то нашёл работу и едет по карьерным рельсам—не достоин уважения. Он получает крупный прайс за мелкие усилия, просто потому что фартануло родиться в нужное время и нужном месте. Он ничем не рисковал, не приложил никаких усилий. Вайтишник, который рискнул деньгами и временем, смог обучиться параллельно работая или живя на сбережения, превозмог и нашёл работу—молодец и достоин уважения. Конечно, это мелкое уважение, совсем не такое которое должно оказать успешному известному человеку, но уже получше кассира или потомственного программиста. Вывод из этой истории такой: "кто не рискует, то не ездит на гелике". Go big or go home, посредственности этому миру не нужны. ### Code retreat URL: https://www.rozhkov.me/code-retreat/ Last updated: 2021-11-04T10:55:13.000Z Пару недель назад ребята из Databand организовали активность под названием Code Retreat. Я впервые принимал участие в такой движухе. Code retreat — это нечто вроде хакатона. Суть такова: разработчики не занимаются рабочими задачами, вместо этого практикуя программирование в чистом виде. Как это проходило: была выбрана задача—игра ["Жизнь"](https://en.wikipedia.org/wiki/The%5FGame%5Fof%5FLife) и мы программировали её разными способами: вначале как получится, потом используя только объекты, потом чисто функционально, потом иммутабельно, потом на TDD но так что ты пишешь тест а твой коллега пишет реализацию и еще несколько разных вариаций условий и ограничений. Каждая сессия длилась час, после неё мы собирались и обсуждали что у кого получилось и ротировали команды. Можно было брать язык программирования на котором ты обычно не пишешь. Важно! Ивент проходил в *рабочий* день. Всё это очень интересно, драйвово и весело. Сплошные профиты: можешь чуть лучше изучить другой язык, попробовать возможности которые раньше не использовал (из-за привычек или стиля кода), сделать что-то реально работающее (очень прикольно было запустить симуляцию и увидеть летящий глайдер), более плотно познакомиться с коллегами, с которыми обычно не общаешься, попрактиковать парное программирование, посоревноваться. В общем очень круто, я прям зарядился. Знаю, что некоторые компании проводят такие хакатоны по разработке новых фич для своего продукта, но это немного не то. Мне кажется, что лучше абстрагироваться от работы полностью и просто покодить интересные задачи. Несмотря на то что у нас был довольно лайтовый вариант, несложная задача, мне всё равно очень понравилось. Как может выглядеть хардкор-вариант на максималках можно почитать например в [отчетах Никитонского о ICFPC](https://tonsky.livejournal.com/325818.html). Мне кажется что рядовому программисту часто не хватает встряхнуться и отвлечься от клепания фич. Можно в соляного проходить [Advent of Code](https://adventofcode.com/) (или вообще делать каждое задание на [новом языке](https://www.benkraft.org/2017/12/26/advent-of-code/)) но компанией будет веселее. Когда у меня будет своя компания, то я обязательно сделаю такие код-ретриты частью культуры. ### Атлант заправляет штаны URL: https://www.rozhkov.me/daily/atlas-losing-grip/ Last updated: 2021-11-04T06:30:00.000Z Шёл давеча по улице, спешил по делам. Навстречу мне вначале прошёл карлик, а потом проехал на каталке мужик без ног, судя по состоянию—попрошайка. Пришёл в офис-коворкинг, там стойка с кофе чаем, ну и тут как тут уборщицы в форме. Только значится работник интеллектуального труда изволил выпить кофэ и поставить чашку в мойку, тут же материализовалась тётя, заботливо помывшая эту самую чашку. Ну и ходют, за порядком следят. Меня ужасно расстраивает такая социальная несправедливость. Почему значится я должен пользоваться благами цивилизации и стоять на плечах других людей? Прогресс и бабос давно позволяет обеспечить всем безусловный доход, а на низкоквалифицированную работу посадить роботов. Уборщица в гламурном коворкинге напоминает своим существованием что есть куча людей, которые платят за наш комфорт. Мне от нахождения с ними рядом становится неловко и неудобно. Оно-то конечно каждый кузнец своего счастья, ~~у кого какие родители~~ кто на что учился, как говорится, но сути вопроса это не меняет. Как убрать социальную несправедливость я не знаю, а все предыдущие попытки человечества исправить эту ужасающую ошибку как известно закончились провалом. Делать нечего, или скрываться за маской безразличия, или не выходить на улицу. Пытаться помочь всем этим людям к своему стыду я не хочу, хотя и могу. ### Коронавирус URL: https://www.rozhkov.me/daily/coronavirus/ Last updated: 2021-10-30T12:02:51.000Z Неделю назад вечером в пятницу почувствовал что поднялась температура. За несколько дней до этого заболела жена. Симптомы стандартные—температура под 39, ломота, общая усталость. С третьего дня начал упарывать ибупрофен потому что с 38.5 сидеть неприкольно. На четвертый день болезни потерял нюх и вкус. Сделал ПЦР-тест—положительный. Пошел к врачу, очень содержательно пообщались. Выписал капли в нос. Пошел домой пить водичку и мерять сатурацию. Первые 4 дня были самые напряжные, почти не мог работать, дальше стало получше. На шестой день начало попускать, седьмой уже почти как огурчик, сегодня восьмой—из симптомов присутствует только эпизодический сухой кашель и легкая прикукуренность в голове. Нюх и вкус самую малость восстановились. Заболел я несмотря на вакцинацию из-за длительного и близкого контакта с больным (женой). Как известно, никакая вакцина не защитит вас от заболевания если вас будет бомбить ударными дозами вируса. А у меня еще и китайская вакцина, она, как известно, похуже православных американских. Помогла ли мне вакцина—вероятно да, хотя есть анекдоты от людей привитых коронаваком и перенёсших болезнь тяжело. Считаю что легко отделался. Среди знакомых куча анекдотов когда люди болели посерьезнее. Сосед по участку вообще настолько тяжело слёг что чуть не двинул кони, а сейчас перемещается на каталке с кислородным аппаратом. Самый неприятный симптом для меня—потеря вкуса. Есть безвкусную еду очень неприкольно но ты понимаешь это только когда теряешь, лол. За четыре дня до появления симптомов я как раз ходил работать в коворкинг где плотно общался с коллегами. К счастью никого из них я не заразил, но там из 5 трое людей уже болели, один с пфайцером и один с модерной. Анекдотический вывод—вакцины работают. Хотя и так понятно что они работают, данных уже выше крыши. По поводу [пост-ковида](https://en.wikipedia.org/wiki/Long%5FCOVID) пока сказать нечего, одышки нет, но brain fog немного присутствует. Когда только заболел то чот начал очковать + еще родственники как обычно начали нагнетать ~~гроб гроб кладбище~~. Инфа по болезни какая-то противоречивая, гугл выдает статьи на новостных сайтах, непонятно что делать, одни пишут сбивать температуру, другие не сбивать, третьи советуют какие-то припарки, хер проссышь короче что происходит вообще. Вот инструкция для себя из прошлого: 1. При появлении симтомов делаем ПЦР-тест и покупаем пульсоксиметр 2. Записываемся к врачу 3. Выполняем рекомендации врача, пьём водичку, сычуем дома 4. .... 5. PROFIT! Такие дела. Прививайтесь, не болейте. Если заболели, не занимайтесь самолечением—это может быть опасно для вашего здоровья. ### Интернет-бездуховность URL: https://www.rozhkov.me/daily/internet-soulless/ Last updated: 2021-10-15T06:00:00.000Z Проходил на днях на андреевском спуске и заметил раскладку с пластинками. Сразу подумал ну ёпт, кто будет пластинки покупать на улице? Сейчас есть discogs, форумы и тд, где коллекционеры активно меняются редкими записями, ведут дискографии, и главное где можно найти всё что угодно и по адекватному прайсу. Какой смысл ваще идти к непонятному челу на улице чото перебирать если можно дома на комплюктере все что надо найти заказать и слушать. Но вся эта доступность и интернет-торговля убирает полностью взаимодействие между людьми и душу. Раньше как—идешь в магазин, денег ограниченное количество, смотришь на диски-кассеты, думаешь что взять, выбираешь-слушаешь-общаешься с продаваном. Нормально, по-православному, по-нашенски. А сейчас всё через интернет, нажал кнопку получил, какой-то рафинированный экспириенс, полностью исключающий человека из уравнения. Кто этот человек который продал мне пластинку? Что он слушает на самом деле? Что ему интересно? Чем он живет? Нету больше человека, только байты на серверах. ### Раммштайн URL: https://www.rozhkov.me/daily/rammstein/ Last updated: 2021-10-13T06:00:00.000Z Моя одноклассница любила слушать раммштайн. Настолько любила что решила выучить немецкий, дальше каким-то образом уехала на обучение в Германию, получила там образование юриста (а для этого надо ого-го как шарить язык!), натурализовалась и сейчас держит свою юридическую практику где-то во франкфуртском уезде. Я же, после первого урока английского в школе, понял, что мне не нравится учительница, и попросил, чтобы меня перевели на немецкий, так всю школу и учил немецкий. Из школы я запомнил только слово Sehenswürdigkeiten, а английский [как-то выучил сам](https://www.rozhkov.me/english/) уже в институте. Мораль такая—нужно на позитиве follow your passion, а не идти на негативе от противного. ### Тупой антиспам гмейла URL: https://www.rozhkov.me/daily/stupid-gmail-antispam/ Last updated: 2021-10-12T06:00:00.000Z Уже довольно длительное время я вместо ответов на письма рекрутёров отправляю их в спам. Для тех, кто никогда не работал с e-mail рассылками: по нажатию кнопки на почтовый сервер откуда пришло письмо уходит т.н. "bounce", сообщающий о том, что с вашим письмом что-то не так: отсутствует получатель, ящик получателя переполнен, жалоба на спам и [другие типы](https://mailchimp.com/help/soft-vs-hard-bounces/). Сервисы рассылок очень внимательно следят за этими баунсами и формируют "репутацию" домена. Если вы получаете много отбивок с пометкой спам, или массово шлёте письма на несуществующие адреса, вам могут заблокировать отправку и придется идти к другому провайдеру. Когда-то я делал для клиента рассылку и получилось что часть прошла по уже умершим адресам. Нас сразу же заблочили и пришлось писать объяснительную что больше так не будем. Написал лямбду которая убирает адреса, с которых приходили баунсы и вопросик порешался. Теперь к рекрутёрам. Когда я жму кнопку "спам" то я понижаю рейтинг домена. Если достаточное количество людей нажмёт эту кнопку то письмо будет попадать в спам в других ящиках а сервисы рассылок будут блочить этот домен. Сплошные неприятности, всё так и должно быть. Но это история серверная стратегическая, а теперь поговорим о клиентской тактической. Когда я нажимаю "спам", то ожидаю что все письма от данного адресата будут уходить в спам и не тревожить мою тонкую натуру. В гугле сидят орды олимпиадников, но как богу-императору терры недостаточно десятков тысяч жертвоприношений в день для того чтобы наконец встать с золотого трона, так и гуглу недостаточно десятков тысяч выдроченных литкодом людей, чтобы письма которые я отметил как спам попадали в спам в дальнейшем. Поэтому фоллоуап от рекрутера через неделю "ау, я на прошлой неделе вам писала, наверное письмо затерялось" каждый раз с упорством всплывает вверх и появляется в моем инбоксе несколько раз подряд. Та же история с рассылками от которых невозможно отписаться—по какой-то причине они регулярно всплывают, я жму "спам" а глупый machine spirit гугла всё никак не может одуплиться и понять чего же я от него хочу. А вот хорошие и нужные письма, например от интернет магазинов с подтерждением заказа у меня по какой-то причине пропадают. *Што, сынку? Помогли тебе твои алгоритмы?* P.S.: телеграм в этом плане работает адекватно, там пара жалоб и досвидос. Пользуюсь сам, советую вам. ### Performance-first URL: https://www.rozhkov.me/performance-first/ Last updated: 2022-10-26T13:21:10.000Z В дискусії про [телеграм клієнти](https://www.rozhkov.me/why-comment-commits/) підняли важливе питання: як вийшло, що Slack пише ціла команда по найкращим практикам і в них виходить глючне гальмівне лайно, а Телеграм зроблений однією людиною і чудово працює? *(мається наувазі "[один телеграм клієнт—один розробник](https://github.com/DrKLO/Telegram/pull/76#issuecomment-36391939)")* Чи вірно те що Телеграм робить геніальний програміст, тому він значно кращий? Що по іншому софту? Майкрософтівські скайп та teams надзвичайно жалюгідні, гальмівні та глючні, хоча ви ще спробуйте влаштуватися у Microsoft. Як і у всіх великих західних корпораціях, вас чекають сім кол співбесід з олімпіадними задачами. Але схоже що на якісь продуктів це ніяк не впливає. Як гімно робили, так і продовжують робити. Я припускаю що причина якості Телеграму в тому, що одна з фіч це швидкодія. А якщо не фіча, то частина культури розробки, але швидкість точно закладена як базова цінність продукту. Ані в Teams, ані в Slack такої цінності немає. А раз її немає, значить в розробників не буде мотивації працювати над цими задачами—адже вони не отримають за це підвищення. Продукт менеджери теж просуваються за зроблені фічі, а не за непомітні покращення. Звичайно, якщо серйозно зайнятися швидкодією та зробити це однією з маркетингових переваг, то можна відвоювати шматочок ринку або зробити продукт більш привабливим. Але схоже на те що або ставки занизькі, або це просто нікому не спадає на думку. Чи гірше програмісти у Slack/MS ніж в Телеграмі? Навряд. Чи вони керуються іншими цінностями та цілями? Абсолютно точно так. Відомо що Twitter теж тормозний та глючний. В компанії працюють сотні талановитих інженерів за [серйозні гроші](https://www.levels.fyi/comp.html?track=Software%20Engineer&search=twitter), але вони вже багато років не можуть обрізати картинки по висоті, а "реактивний" інтерфейс у мене регулярно некоректно показує нотифікації. Хтось може сказати "твітер—надзвичайно складний продукт і не можна просто так взяти і показати всю картинку". Ця маячня легко спростовується альтернативним клієнтом, наприклад [Nitter](https://nitter.net/), який і картинки нормально малює, і завантажується значно швидше. Не думаю що розробники телеграму це геніальні люди, або розробники слаку це жахливі програмісти. Впевнений, якщо посадити середнього розробника і скзати йому "роби щоб було швидко", то він сяде і зробить. Все що завгодно можна оптимізувати і зробити як треба. Просто ніхто не мотивований для цього. Тому ми живемо в часи тормозних js-апок і далі буде гірше. ### Навіщо потрібні коментарі до комітів? URL: https://www.rozhkov.me/why-comment-commits/ Last updated: 2023-01-30T10:25:37.000Z Де-факто стандарт в індустрії вимагає писати коментарі до кожного коміту. Часто ще потрібно також вказувати номер тікету, в рамках якого був зроблений цей коміт. В [попередньому пості](https://www.rozhkov.me/why-you-need-to-move-tasks-in-jira/) ми обговорили чому потрібно дотримуватися внутрішніх порядків компанії (tl;dr: бо інакше ви станете проблемою та вас позбудуться), але мотивація робити це чисто KPI-на — якщо вас оцінюють за критерієм «пересування тасок», то логічно цей показник тримати високим. А якщо компанія не має регламенту? Чи має бути в інженера мотивація писати грамотні коментарі до комітів і працювати з системами управління проєктами? Найяскравіший приклад такої ситуації це клієнти Телеграму: в [андроїд клієнті](https://github.com/DrKLO/Telegram/commits/master) ви не побачите жодного коментаря до коміту. Раніше це були просто «fixes», зараз більш пристойні «Update to X.X.X». Автор апки [написав коментар](https://www.rozhkov.me/daily/sila-odnogho/), що він не має наміру витрачати час на коменти, бранчі, теги та інше: «**I don't want to waste time to writing tags, commit comments, etc.**» Коментар був зроблений 7 років тому, і тоді він виправдовував це тим, що не знав, що код заопенсорсять, але ситуація не змінилась. macOS клієнт теж [не радує](https://github.com/overtake/TelegramSwift/commits/master) зрозумілими дескріпшенами. Лаконічне «fixes», втім, деколи змінює «video calls» або «audio player». Наступного разу, коли в компанії вам вкажуть на пустий дескріпшн, покажіть їм ці репозиторії, скажіть „ось люди роблять найкращий у світі месенджер і не пишуть коментарів, шах і мат, джиропівні”, та сміливо пуште свої зміни прямо в мейн. Головне пам'ятати: [correlation ≠ causation](https://en.wikipedia.org/wiki/Correlation%5Fdoes%5Fnot%5Fimply%5Fcausation). Те, що розробник телеграму не пише коментарів, не значить що завдяки цьому телеграм клієнт хороший. Якщо ви перестанете писати коменти, то це не значить, що ваш софт стане кращим. Швидше навпаки. Мотивація писати коментарі в розробника одна — якщо над кодобазою працює декілька людей. В наведених прикладах абсолютну більшість комітів зробила [одна](https://github.com/DrKLO/Telegram/graphs/contributors) [людина](https://github.com/overtake/TelegramSwift/graphs/contributors). Як тільки ви додаєте у проєкт ще когось, відразу виникає питання, як зрозуміти, які зміни були зроблені. Дивитися діфф кожного коміту — високе когнітивне навантаження, а опис хоч приблизно дає зрозуміти що відбувається. Також не знаємо, скільки часу змарнували люди з телеграму через пусту історію. Можливо, ніскільки, тому що коли працюєш над одним проєктом, то він постійно знаходиться в голові, а може й багато — цього ми не дізнаємося. Гаразд, з описом розібралися, але навіщо потрібні номери тікетів в історії комітів? Припустимо, у вас є тікет, як зрозуміти, він зроблений у версії X? Якщо номер тікета в коменті не зафіксований в коміт меседжі, то про відповідну відмітку на багтрекері має подбати програміст, але це можна забути. А от якщо вказати номер тікету в коміті, то він автоматично підтягнеться в багтрекер і по історії відразу буде зрозумілим, що й куди потрапило. Часто в мене була ситуація, коли я знаходжу проблему в опенсорсній лібі й попадаю на багтрекер. Якщо баг вже виправили, то там з високою ймовірністю буде вказана версія де це відбулось, або через коміт, або через коміт та коментар у тікеті. Якби замість історії я бачив «fixes», то мені залишалося б тільки оновлюватися на останню версію та сподіватися що нічого не зламається. Якщо працювати одному, то уявіть що в майбутньому до вас додасться людина, або ви передасте кодобазу в інше місце. У ваших же інтересах зробити артефакт репозиторію максимально зрозумілим для інших. Хороша історія комітів, тікети й так далі чудово допомагають. Тому я пишу історію навіть на пет-проєктах, які нікому не показую. Раджу вам робити те саме. P.S.: [інші](https://github.com/telegramdesktop/tdesktop/commits/dev) [телеграм](https://github.com/TelegramMessenger/Telegram-iOS/commits/master) [клієнти](https://github.com/Ajaxy/telegram-tt/commits/master) ведуть ±нормальну історію, хоча там [теж](https://github.com/telegramdesktop/tdesktop/graphs/contributors) [майже](https://github.com/TelegramMessenger/Telegram-iOS/graphs/contributors) [всюди](https://github.com/Ajaxy/telegram-tt/graphs/contributors) 1 розробник. ### Зачем двигать таски в джире URL: https://www.rozhkov.me/why-you-need-to-move-tasks-in-jira/ Last updated: 2021-10-01T06:00:00.000Z На днях увидел [заметку от Ильи Климова](https://mobile.twitter.com/xanf%5Fua/status/1436610074680700933) как он уволил джунов за то что те "не двигали таски в джире". В камментах оказалось что многие не понимают, почему двигать таски это важно. В своё время когда у меня была своя команда то я тоже требовал, чтобы люди двигали таски. Это нужно было в первую очередь мне—чтобы понимать прогресс работы. Двигание тасок—отличный асинхронный способ понять что происходит на проекте в любой момент. Что будет если их не двигать? Тогда менеджеру придется ходить и пушить разработчиков, спрашивая чем они занимаются, что делали вчера, когда закончат и есть ли какие-то блокеры. Собственно чаще для этого и есть утренние стендапы—для доклада менеджеру что кто делает. *Не считаю это правильным, но маємо те що маємо и это норма в индустрии.* Мне трудно было добиться от людей, чтобы они фиксировали прогресс и коммитили тикеты с номерами. Причина простая: я плохо объяснил зачем это нужно человеку, а человек сам не сообразил почему это в его интересах. Ранее я уже подброно писал почему [лучше быть проактивным и пушить всех самому](https://www.rozhkov.me/push-pull/). Редуцировать этот пост можно до утверждения "**будьте решением, а не проблемой**". Не подвинул тасочку? Жди тогда назойливого менеджера в гости с вопросом "какой статус?" Можно сколько угодно жаловаться на то что джира плохая, двигать таски вам неинтересно и неполезно, но надо понимать одно—если вы не соблюдаете принятые на проекте ритуалы, то вы являетесь проблемой для своего менеджера. В корпорациях в силу размеров всегда большой объем бюрократии, иногда просто чудовищный. Часто какая-то деятельность действительно кажется бессмысленной, а может быть даже и является такой лично вам, но может быть довольно важной для вашего руководителя или других людей. Можно конечно [ссать против ветра](https://www.rozhkov.me/no-piss-against-the-wind/) и заявить "я вольная птица а тикеты для корпоративных рабов", но тогда не удивляйтесь что вы можете стать проблемой для кого-то и это приведет к последствиям. Мне например вообще никому не надо тикеты показывать, никто не смотрит в мой таск-трекер. Но несмотря на это, под каждую задачу у меня есть тасочка хотя бы с названием, все коммиты пронумерованы и содержат нормальное описание, в репозитории и на досках гитлаба полный порядок, написаны редми, всё сделано по бест практисам. Я привык так работать, история хоть пригодждается мне крайне редко, но во-первых я люблю порядок, а во-вторых, ко мне в проект может легко ворваться любой человек и чувствовать себя как будто бы в компании среднего размера, где налажены все процессы. Времени это занимает ровно нисколько, быстро входит в привычку. Так что не будьте для других проблемой, пушьте всех сами и это быстро окупится карьерным и профессиональным ростом. ### Чистый код URL: https://www.rozhkov.me/clean-code/ Last updated: 2021-09-29T09:56:07.000Z Недавно попал на [обсуждаение](https://news.ycombinator.com/item?id=27276706) [критики](https://qntm.org/clean) книги "Чистый код". Книга известная, у меня даже в каких-то списках "на прочитать" довольно долго висела, а тут оказывается что уже и читать ничего не надо. На своих проектах я использую [RuboCop](https://rubocop.org/), это линтер-форматтер-статический анализатор кода для Ruby. Вот на днях писал метод для класса, и после прогона рубокоп ругнулся на Method Length и Average Branch Condition Size метрики. Типа метод сильно длинный да еще и сложный. Вот метод, суть такая—есть чек, за чек даём приз, не больше 50 на пользователя, общее количество призов ограничено (они заранее созданы): ```ruby def create_prize return unless state == 'APPROVED' if prize Rails.logger.info("Prize for receipt #{id} and user #{user.id} was already created") return end user.with_lock do # count prizes and check per-user limits total_prizes = Prize.where(user_id: user.id).count if total_prizes >= 50 Rails.logger.info("User #{user.id} already received 50 prizes") return end # find available prize new_prize = Prize.lock.where(user_id: nil).first if new_prize.nil? Rails.logger.info("No prizes left") return end new_prize.with_lock do new_prize.update(user_id: user.id, receipt_id: id) rescue ActiveRecord::RecordNotUnique Rails.logger.info("Prize for receipt #{id} and user #{user.id} was already created") end end end ``` receipt.rb Все просто, открываем транзакцию и едем по условиям. Но рубокопу и (очевидно дяде Бобу—автору чистого кода) такой код не нравится. Слишком много строк. Слишком много условий. Вот я смотрю на этот код и не понимаю как его сократить так чтобы не потерять читабельность. Нет, можно вынести какие-то блоки в отдельные методы, но от этого потеряется целостность. У меня перед глазами готовый алгоритм, конкретные условия. Как его уменьшать? Раньше я заморачивался по размеру функций (не больше 9 строк!) и просто делал extract method, но сейчас постарел и просто не понимаю зачем это делать. Можно выковырять функцию типа `limit_reached?` где проверить условия по лимитам и еще одну функцию `create_prize` (тогда придется базовый метод переменовать в `grant_prize` и оставить там одну строку `create_prize unless limit_reached?`. Будет отличный метод из одной строки (чистый код!), но мне кажется что от этого потеряется читабельность, возрастёт когнитивная нагрузка на переходы между методами и понимание что происходит. Пока нет нужды переиспользовать эти блоки нет смысла городить абстракции. Сокращать условия в односторчники, например схлопнуть первое условие в `return if state != 'APPROVED' || prize.present?`, убирать дебаг информацию мне кажется тоже усложнением а не упрощением. Scala код очень компактен но я не могу его читать из-за своей глупости и предпочитаю когда всё маскимально разжёвано. Вот и получается что рубокоп ругается на все методы которые что-то делают и мне приходится его вручную попускать. Начинаю подумывать, а оно мне вообще надо—проверка на длину методов? Если сильно длинный то и так видно, спасибо, кэп, сам поправлю. А как у вас с длинными методами? Что делать с этим? Фигачить еще или рефакторить в однострочник? Переписать на го? Переписать на раст? Перестать программировать? ### Пропаганда URL: https://www.rozhkov.me/daily/propaganda/ Last updated: 2021-09-28T06:00:00.000Z Гостил недавно у тётушки в [Приднестровье](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B4%D0%BD%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%5F%D0%9C%D0%BE%D0%BB%D0%B4%D0%B0%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%5F%D0%A0%D0%B5%D1%81%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0). Население там практически всё пророссийское, пропутинское и проедровское. На госучреждениях и в маршрутосах висят российские флаги, заводы работают на бесплатном российском газе, все говорят на русском языке, смотрят российские каналы, получают российскую пенсию, голосуют на российских выборах а в регионе расположены военные части РФ. Все ждут присоединения. Или воссоединения. Впрочем, почему-то перед местным педагогическим университетом стоит памятник Гарри Поттеру. Ну, про Приднестровье я ещё напишу. Наученый опытом, я не завожу разговоры про политику, но раз на раз не приходится. Когда тётушка начинает говорить на эти темы, то как будто разверзаются одновременно песков, лавров, симоньян, первый, россия 1, rt и прочие источники государственной пропаганды. Во всех бедах винятся проклятые американцы которые ловко обворовывают честных русских людей. Европа загибатся из-за мигрантов. Из Украины выкачивает деньги госдеп и байден лично. Все указания нам идут из Вашингтонского обкома. России не дают жить проклятые олигархи которых никак не может победить Путин, а кругом враги народа которые стремятся сокрушить могучую страну—последний оплот демократии в мире. В общем полный набор всех штампов. Тон разговора меняется, ненависть к Америке чувствуется физически. Милейший в обычной жизни человек превращается в карикатурного эксперта на политических дебатах. Сегодня на повестке: "Америка теряет могущество и скоро загнётся". На вопрос как размер госдолга США влияет на её жизнь лично, конечно же ответа я получить не могу. Критическое мышление не получается включить совершенно никак. Применяю последний приём: "А вы знаете, что зарплаты разработчиков в РФ ниже чем в Украине? Да, после 2014, потому что там зп фиксировалась в рублях и работа на внутренний рынок а у нас в долларах и на экспорт? Щас чуть выровнялась конечно, но всё равно пока ниже" —"Нет, не может такого быть! Невозможно! Хочешь сказать что на Украине жить хорошо?". Тётушка на полном серьёзе скорее поверит первому каналу и говорящим головам из телевизора, нежели собственному родственнику который сидит рядом. Бороться бесполезно, поэтому я предпочитаю не реагировать, но иногда всё таки жопа подгорает от того как засраны головы и людей и как ничего с этим нельзя сделать. Некоторое время назад я читал книгу Владимира Сорокина "[Тридцатая любовь Марины](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D0%B4%D1%86%D0%B0%D1%82%D0%B0%D1%8F%5F%D0%BB%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C%5F%D0%9C%D0%B0%D1%80%D0%B8%D0%BD%D1%8B)". Она написана в начале 80-х и там есть большой набор цитат из газет того времени. Собственно вся книга посвящена тому что главная героиня буквально превращается в текст советской пропаганды. И вот эти цитаты, они просто один-в-один то что я слышу прямо сейчас от живого человека. Погостили, а обратно увезли вкусных [помидорок](https://www.rozhkov.me/daily/tasteless-tomatoes/) и винограда. Помидорки успешно пережили 500 км дороги и потихоньку кушаются. Тётушка у нас очень хорошая. Главное про политику не начинать. ### Бум зарплат URL: https://www.rozhkov.me/saralies-boom/ Last updated: 2021-09-29T22:06:54.000Z Заметил что в последнее время заметно вырос объем обсуждений зарплат разработчиков в моём инфопузыре. В чате канала, на форумах, в твиттере, что не день то обсуждение денег-денег-денег. Козуля официально [меняет свой курс](https://twitter.com/vkozulya/status/1441005370420379650). Анонимные разработчики [хвастаются как они вышли на 20к](https://dou.ua/lenta/interviews/developer-career-20k/). Реакт разработчик с тремя годами опыта уделывает 5к джава-деда закрыв грудью вакансию на 8к. Макс Ищенко [подогревает жопки на линкедине](https://www.linkedin.com/posts/maksim%5F%D1%82%D0%BE%D0%BF-5-%D1%81%D0%B0%D0%BC%D1%8B%D0%B9-%D0%B4%D0%BE%D1%80%D0%BE%D0%B3%D0%B8%D1%85-%D0%BD%D0%B0%D0%B9%D0%BC%D0%BE%D0%B2-%D0%BD%D0%B0-%D0%B4%D0%B6%D0%B8%D0%BD%D0%BD%D0%B5-%D0%B2-%D0%B8%D1%8E%D0%BB%D0%B5-activity-6828197865056210944-8gUA) постами про небывалый спрос и небывало высокие зп. Все сошли с ума и наверное если бы можно было менять работу раз в месяц то это стало бы распространённой практикой. Не то что бы я был против обсуждения зарплат. Нет ничего плохого в том, чтобы хотеть получать больше или стремиться к максимальному уровню компенсации нет. Наоборот, это даже хорошо. Вопрос только в том, какую пользу несут эти разговоры. Есть зарплатный виджет ДОУ, есть какие-то статьи, есть хорошее правило «ты стоишь столько за сколько сможешь себя продать». Это очень хорошо что тот чел смог найти большую зп, а сможешь ли ты? А то окажется как с [анекдотом](https://ru.wikipedia.org/wiki/%D0%90%D1%80%D0%BC%D1%8F%D0%BD%D1%81%D0%BA%D0%BE%D0%B5%5F%D1%80%D0%B0%D0%B4%D0%B8%D0%BE#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B) где Абрам миллион выиграл. Я в таких обсуждениях участия не принимаю. Чем искать где продать свою жопу подороже, я предпочитаю думать думы о том, [как разорвать связь между жопочасами и прибылью](https://www.rozhkov.me/time-is-money/). Пока не могу похвастаться реальными успехами на этом поприще, но процесс медленно идёт. Конечно, мне тоже хочется больше денег, мне интересны деньги. Но мне хочется *качественно* других денег а не скакать по работодателям. Не знаю как у других, но у меня бы все это общение вызывало сильную тревожность. Я только что устроился на 5к а тут пишут что уже оказывается можно на 7к. Что делать? Увольняться? Нет, блин так придется же ждать полгода чтобы не было дырки в резюме. Просить больше? Может свалить? Ох чёрт, пишут уже про 8к! Паника-паника, это же получается что я недозаработаю 18к за полгода! Всё, завтра ухожу. Ох, а ведь в фаангах можно лупить миллион в год! Завтра же сажусь за литкод! Мне кажется что в нашем обществе всё еще есть табу на обсуждения зарплат конкретных людей. То есть вроде как где-то на джинни закрывают большие вакансии но вот лично человек вам вряд ли скажет сколько он лупит. Как секс у подростков—все говорят про высокие доходы но ни у кого их нет. Разговоры о зарплатах везде. Никому неинтересны срачи о языках или технологиях. Всех беспокоят деньги. Никто даже не обсуждает куда их будет тратить, только приумножить. Второй по популярности вопрос—как вывести доллары и какой банк выбрать. Третий—как закупать ETF и квартиры. Мыслю так: вместо обсуждения лучше подготовиться и получить оффер на обсуждаемую сумму. Если получил—молодец, можно просить выше. Не получил—извлёк урок и пошёл работать над собой чтобы получить. А перетиранием косточек 20к-шному человеку пусть занимается телевидение. ### Вечный двигатель URL: https://www.rozhkov.me/daily/perpetuum-mobile/ Last updated: 2021-09-28T14:25:07.000Z *upd: Ничто не ново под солнцем. Большинство моих наивных аргументов озвучиваются и обсуждаются уже много лет. Вот видео которое отвечает на вопросы о надежности старых авто: . Автор строит свои доказательства на противопоставлении заявлениям о надёжности Волги, что на мой взгляд не совсем корректно, стоило бы сравнить с западным автопромом. Однако даже несмотря на это его аргументы звучат валидно.* Вместо просмотра сериалов некоторое время смотрел на ютубе видео разборки-сборки двигателей внутреннего сгорания. Как чисто залипиательные типа [Hagerty](https://www.youtube.com/watch?v=5favUrm597k), информационные вроде Теория ДВС или вообще безумные типа [ремонта тепловозных дизелей](https://www.youtube.com/watch?v=t3c5Psm6NA0). Очень увлекательно. Увлекательнее только смотреть как украинец [Дмитрий Шевченко](https://www.youtube.com/c/shurap77/) бесконечно куёт ножи из дамасской стали. В основном из увиденного делаю вывод что современные двигатели ненадёжные и ломаются, да ещё и ухудшаются с каждым годом благодаря эко-стандартам. А вот раньше делали—ого-го! Просто и надёжно, меняй масло да катайся. Причины этого понятны—никому не интересно делать вечные вещи—ведь тогда никто не будет покупать новое и экономика схлопнется (нет). Ремонт двигается в сторону крупноблочной замены и государствам приходится щемить производителей чтобы те делали ремонтопригодные устройства, потому что иначе скоро вместо телефона вы будете получать кусок запеченного стекла который в случае поломки только выбросить. Всё это тыщу раз обсуждалось, но меня беспокоит другое. Ведь сто процентов есть рынок для качественных надёжных товаров. Люди бы точно покупали такое. Сделали же как-то автомат калашникова—пожалуйста, весь мир пользуется и просит еще. Недавний [успех](https://news.ycombinator.com/item?id=28606962) модульных ремонтопригодных ноутбуков [frame.work](https://frame.work/) подтверждает это. Так вот, почему нет массовых производителей автомобилей или хотя бы двигателей которые бы были собраны в первую очередь с идеей надёжности, простоты и ремонтопригодности в голове? Конечно, это сложно, машину сделать это вам не шутка, даже двигатель—сложнейшее устройство. Но ведь и говно-то не сразу начали клепать, а постепенно, по чуть-чуть, когда смекнули где бабки а не счастье пользователей. Почему в автомире не было аналога [Fairchild](https://en.wikipedia.org/wiki/Fairchild%5FSemiconductor#1950s), когда люди просто взяли, ушли и сделали новую компанию? Конечно конкурировать с существующим автопромом было бы сложно, но если взять за девиз "делаем надёжно" то свою нишу бы однозначно получилось бы занять. Только не говорите про цену. Лакшери-автомобили стоят космических денег а ломаются точно так же как и дешевые. Значит не в цене дело. Я так понимаю что есть нишевые производители всяких гоночных обвесов и прочие тюнинг-ателье, но почему нет такого же для обычных потребителей? Для начала взять какое-то достаточно хорошее шасси ~~(девятку)~~, научиться выбрасывать оттуда всё и заменять своим качественным, потом наладить штамповку в Китае—и всё, дело в шляпе! Готовая бизнес-идея, берите и делайте. Ранее я уже писал что у меня есть мечта [сделать производство вечных лампочек](https://www.rozhkov.me/daily/viechnaia-lampochka/). Прогресс не стоит на месте и поехавший беларус уже вполне себе их [делает](http://sunlikelamp.com/). Значит неравнодушные люди есть. Может и на нашем веку будут делать хорошие вещи. ### Ламеры URL: https://www.rozhkov.me/daily/lamers/ Last updated: 2021-09-26T06:00:00.000Z Интересно, как незаметно изменился сленг околокомпьютерных людей. Еще всего лишь 20 лет назад были довольно распространены термины "юзер", "хакер", "ламер" и вариации типа "ламо". Когда пытался завести виндовс то вспомнил о временах когда вместо флешки я носил жесткий диск на 2 гигабайта, ставил знакомым виндовс, заморачивался по отключению системных служб чтобы оперативную память не ело, устанавливал кастомный десктоп [Aston](http://www.astonshell.com/), качал сайты на дискету с помощью программы Teleport, чё-то там твикал. Тогда компьютеры были доступны небольшому количеству людей, интернет—ещё меньшему. Сейчас каждый носит в кармане компьютер помощнее тогдашнего, с интернетом, контента и софта в тыщу раз больше, короче ушла эпоха. Ламеров уже не осталось. Я попытался вспомнить когда последний раз применял этот термин и не смог. Морали нет. ### Компьютерный мастер URL: https://www.rozhkov.me/daily/service-man/ Last updated: 2021-09-25T22:04:53.000Z Гостил у тётушки. У неё чот перестал работать один из комплюктеров—не загружается. Меня, как единственного человека который похож на того кто разбирается в компьютерах, попросили починить. Симтом такой—Виндовс 7 загружается и показывает черный экран вместо собственно загрузки. С виндовсами я дела перестал вести в 2015, когда на работе выдали макбук. С тех пор дома я пользовался или этим макбуком, или линуксом. Сейчас полностью [переехал на линукс](https://www.rozhkov.me/linux-on-desktop-year-later/). В дестве конечно угорал по твикам, оптимизациям, кастомным темам и так далее, но потом меня это всё перестало интересовать. В общем черный экран. Пробую загрузиться в сейф-моде—не работает. Зависает на файле `classpnp.sys`. Вместо того, чтобы почитать про этот файл я решаю что надо восстановить систему. Перед восстановлением дай думаю мемтест прогоню, может там память космические лучи испортили. Прогоняю—всё в порядке. Ищу диск с вин7\. На MSDN уже не даёт скачать, ищу прости Г-ди на торрентах. Вместе со сборками от killer31337 вроде нахожу пак с оригинальными образами. Качаю. Т.к. я на линуксе, надо теперь записать на флешку. Пишу через `dd`. Пробую загрузиться. Чот не работет, походу `dd` плохо записал или я глупец. Вспоминаю молодость и утилиту `winsetuptousb`, качаю, прожигаю флешку. Пробую загрузиться—получилось. Пробую восстановить—получаю чимса—"извимните, этма вермсия шиндовс не совсместима с устамновленной". Отлично, как раз то что я хотел услышать. Ок, иду в интернет. Гуглю по названию файла, на котором останавливается загрузка в сейф моде. Предлагают менять режим AHCI на IDE, отключать диски. Пробую, не работает. Нахожу на одном из форумов совет что оказывается, загрузку можно продолжить(!!!) если просто нажать ctrl+break. Загрузился в сейф мод, вроде всё работает, перемога! Запустил какие-то стандартные проверялки системы, чот там покопалось, отрапортовало что восстановило. Ок, перезагружаюсь—чёрный экран. Ладно, еще раз гружусь в сейф моде, проверяю смарт, еще что-то там. Опять перезагружаюсь ловлю бсод на `usbxhci.sys` это уже что-то! Ищу по нему, советую поудалять драйвера USB хабов и отключить периферию. Удаляю отключаю—не помогает. Копаю системные виндовые логи в поисках ошибки что же не так. Ничего, все пусто! Все хорошо! Пробую грузиться без автозагрузок и тд—ноль эффекта. Разобрал системник, пропылесосил, мало ли. Ищу еще по черному экрану попадаю на совет удалить видеодрайвер. Удаляю—о чудо! Система загружается в обычном режиме. Короче ничего не работало из-за видеодрайвера. "Логично", подумает читатель, "черный экран свидетельствует о неполадках видео, надо было с этого и начать". Попробовал обновить драйвер, но не заработало. В итоге удалил его и оставил как есть. Приеду через пару месяцев привезу старую видяху которая осталась у меня после апгрейда. В общем полная жопа с дебагом проблем на виндовсе, настоящее говноедство. Ничего не понятно, работать надо в полной слепоте, без логов, без ничего, сидишь как дурак читаешь форумы и тыкаешь туда сюда рандомные вещи. Пол-дня возился. В том году я случайно удалил видеодрайвер на линуксе. Ничего страшного, терминал работает, в логе ошибка с конкретным местом инициализации на котором упало. Поставил обратно, всё заработало. Благословен линукс! Никому не советую работать компьютерным мастером. Ставьте линукс, там все хорошо. Или макось—если девайс сломается то просто замените его на новый. ### Не смотрю сериалы URL: https://www.rozhkov.me/daily/sitcoms/ Last updated: 2021-09-24T06:00:00.000Z Не понимаю сериалы. Люди тащатся от всяких Breaking Bad и игр престолов, но меня эта вся история как-то обходит стороной. В общаге со мной жил нарутофаг. Я вообще не врубаюсь как можно смотреть *сотни* серий чего-нибудь. Такая напрасная трата времени... Другой кент смотрел южный парк 10 сезонов по кругу, третий—симпсонов. Наркоманы, не иначе. Ситкомы вообще мерзость. За свою короткую жизнь я посмотрел: десу ното, азумангу, милый дом Чи, футураму, подпольная империя два сезона, Firefly и мандалориана. За ужином или другим потреблением пищи мы никогда ничего не смотрим. Это время для общения. Вечером когда есть свободное для прокрастинации время я лучше позалипаю в соцмедиа, почитаю книгу, поиграю. Но вот на сериалы меня никогда не тянуло, тем более на какие-то многосезонные темы охватывающие кучу персонажей которых еще надо помнить. Единственный сериал который я смотрел несколько раз и который бы с удовольствием посмотрел еще раз это Том и Джерри авторства Вильяма Ханны и Джозефа Барберы. Фильмы я тоже не особо смотрю, обычно с задержкой в пару лет или вообще забиваю. Щас все ссутся от Дюны, а я вообще не врубаюсь чего они. Ну кино. Ну красивое. Что, мало красивого кино было? Короче не врубаюсь в сериалы и фильмы, мне это неинтересно. А вы как? ### Невкусные помидоры URL: https://www.rozhkov.me/daily/tasteless-tomatoes/ Last updated: 2021-09-23T06:00:00.000Z Гостил у тётушки в Приднестровье. Тётушка значительную часть своего времени уделяет даче, где выращивает всевозможные овощи, в том числе и помидоры. Эти помидоры очень вкусные и сочные. Магазинные помидоры, он же "тепличные" по сравнению с ними просто трава. В Киеве большая проблема купить нормальные помидоры. В супермаркетах вас ждут глянцевые пластиковые одинаковые шарики, совершенно безвкусные, независимо от времени года. Нужно идти на базар и искать частников выращивающих маленькие объемы. Определить их очень легко—помидоры будут разного размера и цвета, неоднородно окрашеные, содержат мелкие дефекты. Такие овощи всегда стократ вкуснее тепличных. Интересно, в чем проблема выращивать такие же вкусные помидоры, но на масштабе? Теплица что, каким-то образом высасывает все ароматические вещества? Или наоборот, тепличный помидор недополучает их из истощённой земли? Еще более интересно, что похоже что никого это не беспокоит. Даже в Европе, со слов знакомых голландцы выращивают абсолютно безвкусные помидоры и все этим довольствуются. Интересно, как дела обстоят во Франции. Италия точно импортирует множество помидор из Китая. Я даже задумался о том чтобы начать заниматься фермерством и сделать свой бренд ароматных помидор: Rozhok Tomatoes. Делал бы поставки в топовые пиццерии и рестораны и держал бы сеть бутиковых магазинов с помидорами и сопутствующими товарами. Крафтовые помидоры это вам не шутка! ### Неосознанная жизнь URL: https://www.rozhkov.me/daily/non-awareness-life/ Last updated: 2021-09-22T09:37:23.000Z Пару недель назад гостил у тёщи. В комнате где мы разместились, стояли часы. Старые, электронные, с ярко-зелёным циферблатом. Эти часы так ярко светили, что невозможно было спать. Поэтому мы их завешивали, обычно какой-нибудь одеждой. Если выключить то пришлось бы выставлять время заново, а этого не хотелось. А сейчас эти часы сломались. Вместо корректных цифр отображался просто рандомный набор чёрточек. Я же, по старой привычке, аккуратно завешивал их двумя носочками, чтобы не лупили в глаза. Днём я смотрел на часы и думал "во дела, сломались, время нормально не показывают", ночью завешивал. Только через два дня до меня дошло, что я могу просто выключить их. Они ведь и так не показывают ничего. Значит можно их выключить и убрать. Или попросить шваґра отремонтировать. В общем как-то решить изначальную проблему. Ситуация с этими часами меня поразила. Еще одна похожая история—приехал я к бабушке. А у неё на кухне столовые приборы лежат в шухлядке в шкафу. Этот шкаф расположен таким образом, что для того, чтобы достать шухлядку, то нужно отодвинуть стул, на котором обычно кто-то сидит. А вот с другой стороны кухни, там где рабочая поверхность, тоже есть шухлядки. Им ничто не мешает, но там лежат редко используемые полотенца. Каждый раз как я приезжаю я подгораю от такого неудобства. И реально ведь просто изменить ситуацию. Но за десяток лет это никому не пришло в голову. Так я и живу. Так многие живут. Ежедневно сталкиваясь с разнообразными неудобствами даже не пытаемся понять, можно ли с ними что-нибудь сделать. Почему так происходит пусть объясняют умные книжки по психологии поведения, а я просто буду внимательнее за собой следить. ### Окно овертона и сексизм в старой фантастике URL: https://www.rozhkov.me/daily/overton-window-old-fiction/ Last updated: 2021-09-22T09:27:43.000Z Прочитал на днях "Понедельник начинается в субботу". Это такое произведение-сатира на работу современных авторам НИИ и науки в СССР в целом. Я не слежу за левой повесткой и не участвую в соответствующих дискуссиях, но время от времени в твиттер и через соцмедиа ко мне прорываются современные тенденции. Феминитивы, борьба с патриархатом и так далее. Читая указанную повесть, я словил себя на мысли, что некоторые обороты и общий сюжет сегодня были бы немедленно заклеймлены как негодные. Например, все главные герои—мужчины, женщинам отводится второстепенная роль, а те, которые есть—карикатурно изображены, пищат от вида экспериментальных гомункулусов. Когда одному из героев приносят программу то он великодушно отдает вводить её в ЭВМ своим "девочкам". Вероятно всё это укладывалось в картину мира авторов тех лет, начала 70-х. Однако ощущение того что что-то тут не так меня не покидало до конца книги. Да так не покидало что я уже специально искал места где угнетатели понаписали всяких безобразий. Вот так и работает окно овертона. Еще десяток лет назад мне бы всё это не пришло в голову, а еще через десяток лет я буду вместе со всеми осуждать произведения прошлого и переписывать старые шедевры. ### Кража URL: https://www.rozhkov.me/daily/steal/ Last updated: 2021-09-20T06:00:00.000Z Некоторое время назад вспомнил что мне нужно поменять [бушинги](https://en.wikipedia.org/wiki/Plain%5Fbearing#Bushing) в велосипедной [вилке](https://hayesbicycle.com/pages/dorado). Это такие маленькие алюминиевые кольца которые вставляются в штаны, чтобы ноги по ним скользили. Задача в том, что их продает всего лишь один дистрибьютор в Украине, или надо заказывать из-за бугра. Я планировал поездку в горы, поэтому ждать не хотелось. Комплект стоит около 80$. Я на всякий случай прочекал доски объявлений и OLX и внезапно оказалось что как раз нужный мне комплект продает чел из Киева. Созвонился-договорился-встретился купил. Продаван даже дал мне чек датированный аж 2018-ым годом, как раз от официального дистрибьютора. Дальше дела закрутились, горы отодвинулись на второй план и про запчасть я забыл. Самостоятельно её поменять можно только если ты механик, поэтому нужно было договариваться с человеком и отдавать её в сервис, а мне было не до того. В общем пробежал месяц и тут мне внезапно звонит один из механиков, у которого я когда-то давно обслуживал другую вилку. Я сильно удивился, но по ходу разговора все оказалось просто: оказывается, у него в мастерсткой работал парень, который украл эти самые башинги и еще какие-то ништяки и продавал их. Сейчас он на связь не выходит, а мастер собирается писать маляву в милицию. Каким-то образом мастер узнал номер телефона покупателя (то есть мой) и хотел узнать детали. Я скинул ему переписку и чек, на том и разбежались. Удивительно, как совпали обстоятельства. Таких вилок на всю Украину хорошо если пара десятков штук. Еще меньше—тех, кому нужны башинги, потому что эта деталь обычно служит много лет перед тем как начинает требовать замены. Еще меньше—тех кто в Киеве и кому нужны были прямо сейчас. Сошлось куча факторов. Я сразу вспомнил свою [историю с покупкой квартиры](https://www.rozhkov.me/how-i-lost-appartment/)—тоже считай купил краденое. Но сейчас мастер не потребовал башинги обратно, а сказал что будет разбираться самостоятельно, от меня только скриншоты. Вот такие расклады, буду держать вас в курсе. ### Что нужно сделать чтобы URL: https://www.rozhkov.me/what-should-i-do/ Last updated: 2021-09-17T09:36:01.000Z Множество вещей, которые якобы хотят люди, могут достигаться достаточно просто. Еще Тим Феррисс в своем труде "Четырёхчасовая рабочая неделя" писал "чтобы жить как миллионер не обязательно быть миллионером". Дальше он раскрывал старые идеи "зарабатывай там где больше платят а живи там где стоимость жизни низкая", "арендуй а не покупай" и так далее. Действительно, сегодня можно находить дешевые авиабилеты, приемлемое жильё недалеко от моря где-нибудь в Юго-Восточной Азии, работать удалённо на непыльной работе покрывающей эти расходы, а в свободное время заниматься сёрфингом. Дауншифтинг и цифровое кочевничество давно стали будничными вещами и никого не удивить "зимовкой на Таиланде". Нужно лишь задаться целью и начать выяснять, что именно нужно для того, чтобы жить как "богач". Окажется, что большинство из этих целей вполне достижимы. В профессиональном развитии то же самое. Если вы хотите зарабатывать больше, вам не нужно тратить годы на овладевание профессией. Вам нужно понять, за что платят больше и работать в этом направлении. Достаточно просто спросить у своего надсмотрщика "что мне нужно сделать чтобы получать больше?". Если он не даёт внятного ответа, то идти в другое место. Если вы хотите получить лычку повыше или перекатиться из программистов в менеджеры, то не нужно ходить вокруг да около, пытаться дергаться самому и надеяться что вас заметят. Достаточно найти человека, который принимает решение и задать ему вопрос "что должно произойти, чтобы я стал менеджером?". Вот так просто. Фаанги известны тем, что мотивируют людей "to ship", запускать продукты, делать изменения. За это там дают повышения. Поэтому мы видим третий редизайн гмейла, постоянные закрытия и переименования проектов, тасовку кнопочек и ломание существующих фич. Кто-то только что получил за это +бабос. У каждого человека есть много всяких желаний которые даже иногда озвучиваются как "вот хорошо было бы если..." и дальше список почему этого не может быть. Например моя давняя мечта—жить в горах. Для того, чтобы этого достичь достаточно задать себе вопрос "что нужно сделать, для того чтобы жить в горах?". Окажется что съем жилья вполне доступен и можно заезжать хоть завтра. Но я не заезжаю. Потому что на самом деле я не хочу жить в горах. Или хочу но прокрастинирую, придумывая себе тысячу отговорок. Большинство (никем не подтверждённое, дальше только мои проекции) людей когда думают о лакшери жизни в больших особняках или каких-то других признаках богатых и успешных, на самом деле хотят не особняк. Не дорогие вещи и не красивые фото. Они хотят иметь *возможность* этим всем обладать. Для красивого фото в инстаграм уже можно [снять на пару часов суперджет](https://duckduckgo.com/?t=lm&q=%D1%84%D0%BE%D1%82%D0%BE%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F+%D0%B2+%D1%81%D1%83%D0%BF%D0%B5%D1%80%D0%B4%D0%B6%D0%B5%D1%82%D0%B5&ia=web). Только это не сделает из вас богача. "Но ты же хотел красивой жизни—вот она!". Нет, я хотел богатства. —"А что такое богатство?" —"Ну это когда у тебя есть суперджет" —"А зачем тебе суперджет?" —"..." Когда у нас с партнёрами был аутсорс "бизнес", то [мы делали всё что угодно](https://www.rozhkov.me/cash-gap/), но не то, что нужно было для максимизации прибыли. Может быть нам хотелось иметь атрибут успешных людей. Может хотелось нанять сотрудников или снять офис. Не знаю. Сейчас я стараюсь себя на таком ловить и пытаться понять: что на самом деле мне нужно, и что мне нужно чтобы этого достичь. Просто говорить "я хочу сделать продукт" не канает. Или ты начинаешь понимать какие шаги для этого требуется сделать или честно говоришь себе "нет, я хочу не этого, на самом деле я хочу другого, вот". Иначе буду всю жизнь жить какими-то иллюзиями, копошась в навозе и придумывая отговорки. ### Объедки URL: https://www.rozhkov.me/daily/waste-food/ Last updated: 2021-09-13T12:21:41.000Z В детстве меня учили что надо съедать все, что положили, а еду выбрасывать категорически нельзя. Эти правила прочно во мне засели, и хотя мне это не доставляет неудобства в повседневной жизни, не приводит к перееданию или недоеданию, проблемы начинаются когда выходишь в люди. Современное поколение воспитано уже в хорошие времена и совсем не помнит нищих девяностых, поэтому для многих людей в моём окружении совершенно нормально, например, не съесть половину еды. На той неделе ходил с шапочными знакомыми в одно заведение. Один человек заказал себе пару блинов мощных с маком. Нажористых таких. В итоге он то ли съел только один, то ли не съел вообще, короче когда мы уходили то на тарелке оставалось два нетронутых здоровых блина. Мне было ужасно жалко те блины. Зачем вообще их было покупать? Почему бы не взять их с собой? Или предложить кому-нибудь? Во мне боролось желание съесть их, забрать, в общем как-то спасти положение которое бы осудили мои бабушки и дедушки, но в итоге я конечно же просто ушёл. Вообще я стараюсь рачительно потреблять всё, не только продукты питания. Покупаю только то, что нужно, впрок не набираю ничего. Стараюсь брать б.у. вещи, то что сам уже использовал—продаю или отдаю. Reduce-reuse-recycle, всё как положено. Я знаю что ежедневно выбрасываются горы пищи, что макдональдсовские гамбургеры имеют строгие сроки годности а дальше итдут в мусорку и так далее. А уж сколько напрасно жжётся полезных ископаемых, выбрасывается вещей и так далее и так далее. Но это всё происходит за кадром, а недоеденные блюда моих знакомых—они вот тут, рядом. Что с этим делать, не знаю. Наверное, надо выбирать круг общения из тех кто вообще в рестораны не ходит, а кушает дома пюрешку с котлетками и оставляет чистую миску. Или идти к психологу и на протяжении десятков сеансов выяснять, где в детстве я свернул не туда, на тропу жадности. ### Против социального дарвинизма URL: https://www.rozhkov.me/daily/against-social-darvinism/ Last updated: 2021-09-10T17:06:36.000Z Есть люди которые заявляют что им безразлична судьба и поведение окружающих. Например, они говорят что люди сами выбирают свою судьбу и если они хотят спустить все деньги в казино или на ставки, сесть на опиоиды, беспробудно пьянствовать, то так тому и быть—мы не вправе запрещать кому-либо саморазрушаться. Выживает сильнейший, а слабые духом, волей и умом сами по себе отвалятся и погибнут. Звучит как философия! И вроде бы всё с ней хорошо, но авторы часто забывают, что они живут в одном обществе с этими же самыми людьми. Сегодняшний алкаш, которому мы великодушно позволяем пить в свое удовольствие, завтра садится за руль и давит тебя на дороге. Сегодняшний наркоман, которому не хватает денег, завтра пыряет тебя ножом в переулке. Историю можно продолжать, и в общем виде критика этого аспекта социального дарвинизма может быть редуцирована до проблемы ["трагедии общин"](https://en.wikipedia.org/wiki/Tragedy%5Fof%5Fthe%5Fcommons). Если корпорации позволяют себе эксплуатировать пороки людей, то это приведёт к тому, что люди станут неплатежеспособны и корпорации понесут убытки. А социум понесет сильнейший ущерб от снижения уровня жизни. Поэтому чёткий пацанчик которому плевать на других, на самом деле плюёт на себя самого и вредит сам себе. Некоторые говорят что они отгородятся высоким забором от быдла, алкашей и люмпенов и будут жить в уютном манямирке. Эту сегрегацию хорошо можно наблюдать на примере США, где районы четко распределены между классами. У нас такого нет, и в доме в центре города будут соседствовать депутат, старушка, бандит, алкаш которому хата досталась по наследству, бордель, офис и нормис. Частично город уже стали заполонять мерзкие [gated communities](https://en.wikipedia.org/wiki/Gated%5Fcommunity) которые огораживают забором крошечные придомовые территории, но это вообще никак не решение проблемы. Не знаю как вы, друзья, а я хочу чтобы вокруг меня были образованные, умные, культурные, успешные люди, а не несчастные, которым задурили голову маркетологи и продакты крупных корпораций, вследствие чего последние решили что они могут выиграть у конторы. Микрокредиты, гэмблинг, казино, алкоголь, наркотики—всё это отравляет наше общество, делает жизнь лично каждого из нас хуже, влияет лично на каждого из нас. Потому что мы живем не в вакууме, мы живем в социуме. Как это правильно регулировать так чтобы не строить тоталитарное государство, я не знаю. Но работу на корпорации которые эксплуатируют самые низкие человеческие пороки я считаю аморальной, гнусной, недостойной. А как же тикток, фейсбук и другие корпорации из разряда [surveillance capitalism](https://en.wikipedia.org/wiki/Surveillance%5Fcapitalism), которые точно так же высасывают мозги людей? И они все туда же. Каждый сам себе меряет глубину моральности, друзья решайте сами—работать вам в гемблингах-беттингах и прочих зашкварных конторах, или нет. ### Рациональная духота URL: https://www.rozhkov.me/daily/rational-snobism/ Last updated: 2021-09-09T09:28:24.000Z Люди делают множество недоказанных заявлений, принимая их за чистую монету. Недавно участвовал в небольшой дискуссии и один из участников написал что "отношения должны продлиться 5 лет чтобы считаться стабильными" обосновав это тем что за 5 лет уж точно выветрится химия влюблённости, которая влияет на мозг. И вот вопрос. Почему 5 лет? Почему не 3? Почему не год, почему не месяц? Кто-то вообще проводил исследования на тему "влюбленности", уровней выброса гормонов? Кто-то проводил исследования на тему того как это всё влияет на химию? Все слышали про влюблённость как особый эволюционный механизм, но вряд ли кто-то вспомнит, откуда он получил эту информацию. Может быть это заявление вообще ничем не подтверждено и никак не проверялось, а люди продолжают верить потому что так кто-то где-то когда-то сказал. Или например история про "бокал красного вина раз в день полезен" которую любят цитировать все кому не лень. Если копнуть то окажется что эту фразу [сказал чел по телевизору](https://vimeo.com/198370073), ничего полезного там нет, и даже наоборот, [вредно](https://onlinelibrary.wiley.com/doi/10.1111/acer.13886)! Другой человек в другом обсуждении сделал заявление что "весь вред человеку от антибиотиков в животных", естественно не подкрепив это никакими исследованиями а просто потому что где-то слышал про это. Пару лет назад была популярная тема про "[сойбоев](https://en.wikipedia.org/wiki/Soy%5Fboy)" и вред от фитоэстрогенов в соевых продуктах. Типа кушаешь сою и ~~становишься куколдом~~ превращаешься в женщину. Однако никаких доказательств вреда фитоэстрогенов нет, более того, в орехах и растительных маслах их будет побольше чем в сое! Тем не менее я лично видел в очень популярном твиттер аккаунте заявления что сою мужчинам ни в коем случае кушать нельзя. Джон Волкер написал целый NY Times Bestseller "Why We Sleep" который по факту основывается [ни на чём](https://guzey.com/books/why-we-sleep/). Таких утверждений в любой дискуссии будет полно, и если начинать обращать на это внимание то мир начинает потихоньку рассыпаться, а смысл общения теряться. Потому что ну как можно разговаривать с человеком который основывается на недоказанных или ошибочных фактах, а с другой стороны—не будешь же проверять всех и вся. Более того, как только начинаешь более осознанно подходить к общению, то оказывается что тебе самому нужно очень крепко думать перед тем как что-либо сказать! Потому что любое мнение или суждение можно легко поддать критике попросив обосновать его. Даже в этом посте я наверняка наговорил глупостей. Что с этим делать пока не придумал. ### daily rozhok №6: снег в горах URL: https://www.rozhkov.me/daily-rozhok-6/ Last updated: 2021-09-03T07:24:50.000Z ~~Еженедельный~~ дайджест канала [@daily\_rozhok](https://t.me/daily%5Frozhok). [@daily\_rozhok](https://t.me/daily%5Frozhok) — канал где я пишу на на не-ІТ темы. В нашем чате спросили про Буковель зимой, ну я и решил описать свой скромный опыт горных лыж в серии постов: [Горнолыжные курорты. Обзор](https://www.rozhkov.me/daily/ski-resorts-overview/) — краткий обзор курортов, где я был и общие рекомендации по выбору трасс для катания [Горнолыжные курорты. Буковель](https://www.rozhkov.me/daily/ski-resorts-review-bukovel/) — лайфхаки как не стоять в очередях [Горнолыжные курорты. Драгобрат](https://www.rozhkov.me/daily/ski-resorts-review-dragobrat/) — как поехать в горы чтобы сидеть неделю в номере [Горнолыжные курорты. Гудаури](https://www.rozhkov.me/daily/ski-resorts-review-gudauri/) — тестируем грузинское гостеприимство *в преддверии массовой миграции трудоспособного ІТ-населения после того как запретят ВЭД в Украине* [Горнолыжные курорты. Эрджиес](https://www.rozhkov.me/daily/ski-resorts-review-erciyes/) — оказывается в Турции есть не только пляжи но и вполне себе неплохие горы! [Горнолыжный отдых. Снаряжение](https://www.rozhkov.me/daily/ski-equipment/) — тратим бабки на дорогие доски не умея кататься. Как говорил один инструктор в Драгобрате: "борди купили а кататися не купили". [Горнолыжный отдых. Инструктора и обучение](https://www.rozhkov.me/daily/ski-instructors/) — учимся не только ехать плугом или на заднем канте, но и более интересным вещам. *tl;dr: если вам позволяют деньги, езжайте в Альпы! Лучше сразу на ПМЖ.* Обзоры очень субъективные поэтому если вы уже опытный райдер, то посты могут поджечь под вами стул, читайте осторожно! Если есть что добавить—обязательно отмечайтесь в комментариях. Даже если несогласны. Люди их читают и польза будет всем. *В [блоге](https://www.rozhkov.me/) есть пара фоток с каждого курорта и снаряги. Благодаря Дурову в телеграм они не попадут, так что милости прошу в веб-версию.* Я очень люблю горы в любое время года, горные лыжи и не менее горный велосипед (на очереди пара постов и про это). Давно хочу поехать на всю зиму в горы чтобы в полной мере оценить прелести удаленной парттайм работы, потому что ну какой же это прикол если времени свободного много а всё равно сидишь в Киеве? Пока этот план не складывается, но я уверен что в будущем сойдется! Отдельная тема—горный велосипед и downhill. Про это тоже будет парочка постов. --- Горы горами, но зима еще не скоро, поэтому предлагаю вам прочесть пару книг: [Прочитал «No More Mr. Nice Guy»/«Хватит быть славным парнем»](https://www.rozhkov.me/daily/no-more-mr-nice-guy-review/) — книга которую часто рекомендуют всем неуверенным в себе мужчинам. Хоть несколько устарела и писалась под американские реалии, я вам тоже порекомендую. Симптомы "славного парня": трудно говорить "нет", стремление всем угодить, пренебрежение собственными желаниями, неумение отстаивать свои границы, низкое количество и качество секса даже в браке. Узнали себя? Бегом читать. Если вы ранее уже читали ["Тонкое искусство забивать на всё"](https://www.rozhkov.me/daily/the-subtle-art-of-not-giving-a-fuck-review/) или ["12 правил жизни"](https://www.rozhkov.me/daily/12-rules-for-life-review/) то легко сможете провести параллели в философиях этих книг. [Прочитал «Start with No»/«Спершу скажіть "Ні"»/«Сначала скажите "Нет"»](https://www.rozhkov.me/daily/start-with-no-review/) — топовейшая книга по переговорам. Её советуют везде и всем, советую и вам, даже если вам кажется что переговоры вы не ведете. В книге есть несколько очень важных концепций, которые касаются не только бизнеса, но и в целом отношений между людьми. К обзору я приложил эпизод подкаста "Подлодка" где обсуждаются переговоры в общем и эта книга в частности, послушайте обязательно! На сегодня всё, подписывайтесь на [@daily\_rozhok](https://t.me/daily%5Frozhok), катайтесь по горам, любите себя, прокачивайте навыки переговоров, становитесь норм типами и типэссами! ### Горнолыжный отдых. Инструктора и обучение URL: https://www.rozhkov.me/daily/ski-instructors/ Last updated: 2021-09-03T05:30:00.000Z Кататься на лыжах или борде—в целом дело нехитрое. На второй-третий приезд вы уже спокойно будете съезжать по синим трассам и иногда заезжать на красные. Я и сам "учился" таким способом, и вам этот путь не рекомендую. Хороший инструктор поставит вас на лыжи/борд за пару дней. Поверьте, это куда быстрее, чем то же самое постигать самому. Уже после того, как я решил что неплохо катаю—проезжаю черные трассы и не падаю епт, профессионал, то пошел в школу и оказалось что я ничего не умею да еще и закатал неправильную стойку. Пришлось переучиваться. **Поэтому если вы новичок и даже если не новичок—не поленитесь и потратьте один, а лучше несколько выездов на системную работу с инструктором.** Я учился у [Антона](http://www.antonskischool.com.ua/). Там очень опытные инструктора, и учат они по современным методикам. В частности, если вы лыжник, то никто не будет учить вас ехать "плугом". Самый простой способ определить плохого инструктора—увидеть как на склоне он учит людей ехать плугом в задней стойке. По бордам тоже есть хорошие инструктора, но нужно поспрашивать в тематических сообществах. Как и со всякими инструкторами может оказаться что человек вам не очень подходит. Хороший инструктор конечно же не будет кричать, торопить, кипишевать. Вам должны будут показать подводящие упражнения, указывать на ошибки, снимать на камеру и все такое. Антоновские инструктора мне подходили поэтому тут вопросов не было, но знаю что у некоторых ребят при смене инструктора (обычно их едет несколько) прогресс шел намного лучше. За один-два сезона можно научиться вполне сносно кататься, достаточно чтобы не лететь кубарем с черных крутячков, а вполне спокойно их съезжать и не бояться. Отдельно хотел отметить локальные маленькие горки в городах: Протасов яр, Голосеево и так далее. Идти на них нет вообще никакого смысла. Во-первых, там всегда лютейшие очереди, даже ночью, во вторых, спуск там занимает 15 секунд. Не тратьте на это время, лучше сэкономьте силы и деньги для поездки в настоящие горы. ### Подытожим Горнолыжный спорт очень классная тема. Резкое изменение климата к сожалению несколько омрачает перспективы, но пока снег есть—можно и нужно катать! Когда и с кем ехать? Ехать смысл всегда под снег. Никакие пушки не организуют вам нормальные трассы. Всегда лучше там, где хороший снег, т.е. если хорошо насыпало на Драгобрате то вы получите больше удовольствия чем в условном Гудаури где не насыпало. Брать билеты за полгода потому что "в феврале точно будет снег"—это рулетка. Да, под снег ехать дороже, но зато будет нормальное катание а не езда по камням. Если вы совсем новичок и не знаете с чего начать то я советую ехать с тематическими туроператорами. Во-первых, за вас порешают все вопросы по трансферу, жилью и скипассам. Во-вторых, вы познакомитесь с другими людьми разного уровня и сможете катать в компании. Туроператоров много: [Snegtravel](https://snegtravel.com/), [Anton Ski School](http://www.antonskischool.com.ua/), [Адреналин](https://www.adrenalin-ua.com/), [X-Sport](http://x-sport.org/product-category/winter/), [snow.odessa.ua](https://snow.odessa.ua/) тысячи их! ### Горнолыжный отдых. Снаряжение URL: https://www.rozhkov.me/daily/ski-equipment/ Last updated: 2021-09-03T07:18:42.000Z Качественное и исправное снаряжение—залог хорошего катания. ![](https://www.rozhkov.me/content/images/2021/08/IMG_20200209_153937.jpg) Лук ### Одежда Вам нужно иметь: термобелье (верх, низ), бафф, куртку, штаны, горнолыжные носки, горнолыжные перчатки, рюкзак. Можно ехать и в джинсах, но они намокнут от снега и вообще не очень удобны. Горнолыжные костюмы стоят недорого, а окупятся не раз, поэтому смело идите в любой спортивный магазин и подбирайте что нравится и что удобно. Мне нравится одежда ярких цветов, так вас лучше будет видно на склоне. ### Прокат Пока вы новичок можно жить с прокатным снаряжением. Прокаты в Украине все примерно одинаково плохи—вам дадут протоптанные вонючие мягкие ботинки и лыжи/борд средней убитости. Можно брать более качественное снаряжение в Киеве, например в прокате [Svoboda](https://snowboard.kiev.ua/), или лыжи у [Антона](http://www.antonskischool.com.ua/test-center), но я бы не заморачивался и брал на месте. А вот в Гудаури прокат очень хороший, хоть и кусается по ценам. Первые выезды можете смело катать на прокатном барахле. Если вы едете куда-то со школой или туром, то уточните этот момент—вам подскажут или свой или дружественный прокат. ### Когда уровень подрос И вы поняли что горы вам интересны, то можно затариться защитой и ботинками. Для начала купите себе шлем и маску, маску берите со сменными линзами и хорошим обзором, не пожалейте денег. И то и другое нужно обязательно мерять перед покупкой. Сейчас на всех курортах обязательно катать в шлеме, и я советую не пренебрегать этим правилом. Даже при падении на снег можно неприятно удариться затылком, шлем меня не раз спасал. Что касается налокотников наколенников и черепах то тут на ваше усмотрение. Бордисты часто берут черепахи и перчатки с усилениями. Ботинки это более сложный вопрос. Тут нет рекомендаций, вам нужно просто идти в магазин и мерять все подряд. Даже если вы целитесь в определенную фирму или ценовой диапазон, может оказаться так что понравившиеся внешне ботинки вам совершенно не подойдут, зато подойдут другие. Если вы лыжник то берите жесткие ботинки и не обращайте внимания на консультантов которые будут предлагать вам 70-ку. Чем жестче тем лучше и тем приятнее будет катосить. Я катаю на 100-ых. Вообще выбор ботинок это настоящий головняк, но именно они дадут вам 80% удовольствия от катания. По борду не подскажу, но там скорее всего такие же расклады. ### Лыжи и доски Когда вы уже откатали сезон-другой и чувствуете, что понимаете что вам интересно, то можно озаботиться выбором деревях под ноги. Тут смотрите под задачи. Хотя на всех лыжах и досках можно кататься по трассе, на некоторых это будет более удобно, на других менее. Определяющий вопрос для лыж тут это ширина талии—чем шире лыжа, тем легче она будет всплывать в мягком снегу, но несколько сложнее будет ехать по отратраченной трассе. Я себе купил на вырост лыжи с шириной 115, это настоящие лопаты. Несмотря на это, к ним быстро привыкаешь и по трассе отлично едется. По бордам ничего не подскажу, увы. Выбор девайсов это настощая кроличья нора, я советую вам вначале брать в прокате более серьезные девайсы и потом, если они нравятся, то покупать такие же новые или б.у. Я так поступил со своими лыжами. **Не стоит со старта гнаться за дорогими девайсами**—скорее всего вы еще долго не сможете раскрыть их потенциал. По возможности берите умеренное б.у. или распродажи прошлых сезонов. ### Выводы Одежда, шлем, маска—то что вам пригодится сразу. Ботинки—на второй выезд. Все снаряжение нужно обязательно мерять на себе. Дальше разберетесь сами. ### Горнолыжные курорты. Эрджиес URL: https://www.rozhkov.me/daily/ski-resorts-review-erciyes/ Last updated: 2021-09-01T09:52:11.000Z Новый курорт на неплохих склонах в Турции. Все ездят в Турцию на море, но мало кто знает, что там есть отличные горы. ### Дорога Я ездил с [Антоном](http://www.antonskischool.com.ua/), поэтому за меня порешали авиабилеты, трансфер и проживание. Обычно люди живут в гостинице в городе Кайсери, а на гору ездит бусик, но есть отели и под склоном. ### Жилье Скорее всего у вас будет приличный турецкий отель. Смотрите, чтобы он был с той стороны города, которая ближе к горе, иначе будете тратить час на трансфер. Город который находится рядом с горой — Кайсери. Это совершенно нетуристическое место, поэтому имеет свой колорит. Местные не знают английского языка (общаемся через гугл транслейт), в городе нет значимых достопримечательностей, никто не пристает к туристам. Население в спокойное и доброжелательное. Делать там особо нечего—одна старая крепость да пара мечетей, поэтому мы просто гуляли по всем раёнам. Зазывалы зазывают на туры в Каппадокию, но мне почему-то кажется что в тёплое время года там более весело. Поэтому горы и только горы. ### Трассы и подъемники Сами горы (а точнее гора—потухший вулкан Эрджиес) очень похожи на Кавказ, а курорт—на Гудаури. Почти один-в-один. Точно такие же широкие пологие спуски посредине и крутячки если забраться повыше. Подъемники новые хорошие, есть гондолы, они тянут быстрее всего. Людей мало, в основном это местные, туристов немного. По погоде иногда дует очень сильный ветер и курорт закрывают. Мы ездили на неделю, и один день из-за ветра просидели в гостинице. Некоторое впечатление о городе и горах можно составить по моему короткому [видео](https://youtu.be/3IZhyvQxpIo). Мне понравилось, я бы поехал еще. ### Инструктора и школы Какие-то есть, но скорее всего они англоязычные. ### Выводы Дешевле Альп, интереснее Карпат, один раз съездить понять что и как стоит точно. ### Горнолыжные курорты. Гудаури URL: https://www.rozhkov.me/daily/ski-resorts-review-gudauri/ Last updated: 2021-08-31T09:49:35.000Z Отличный недорогой курорт в хороших горах, из обозреваемых лучший по соотношению цена/качество. ### Дорога Перелет до Тбилиси + маршрутос от аэропорта на место. Про трансфер надо договариваться заранее. Я ездил два раза, оба раза с туроператорами (уже упомянутые ранее [SnegTravel](https://snegtravel.com/) и [Адреналин](https://www.adrenalin-ua.com/)), поэтому трансфер за меня порешали, но вы без проблем сможете найти контакты в интернете. Ехать нужно под снег. Заказывать билеты за полгода—лотерея, с глобальным потеплением может и не насыпать. ### Жилье Опций много. Я оба раза жил в хостелах внизу, "Дача хостел" и "Happy Yeti". Атмосфера в них молодежная, много иностранцев, хорошо кормят. Недостаток один—далеко идти до подъемников. Лыжникам особенно напряжно, поэтому мы брали таксо. Вам советую жить в гостиницах сразу возле гондолы чтобы не тратить силы на дорогу туда-сюда и время на подъем с первой очереди. ### Трассы и подъемники Кавказ сильно отличается от Карпат: на склонах нет деревьев, трассы очень широкие, можно спокойно съезжать на внетрассу. В основном все трассы пологие, кроме гор Кудеби и Садзели, где довольно круто и даже опасно. Быстрее всего тянет гондола, больше всего людей на подъемнике второй очереди. Сбоку есть шестикреселка, там почти никогда нет очередей, но она долго тянет. В выходные приезжают грузины и склоны становятся более заполненными но в целом места очень много, после Буковеля ощущения как на автобане. По соотношению скорость подъема/спуска мне нравится гора Кудеби. Выбор трасс большой, на любой уровень. Если вы катаете фрирайд то вы и без меня всё знаете. Есть ратраки, есть поля снега, всё как положено. В Гудаури хорошие прокаты где можно взять нормальные лыжи, в т.ч. для фрирайда. Погода в целом ок. ### Инструктора и школы В Гудаури очень много хороших школ и инструкторов. Кроме вышеупомянутых [Anton Ski School](http://www.antonskischool.com.ua/) там так же есть отличные [Snowlab](http://snow-lab.com/) и еще куча других. Почти все инструктора русскоговорящие. Учиться в Гудаури лучше чем в Карпатах, потому что трассы длинные и вы сможете больше времени проводить на склоне а не на подъемнике. Я учился именно в Гудаури, очень доволен. Договариваться нужно **до того** как вы приедете, потому что инструктора могут быть загруженными. ### Выводы При прочих равных в Гудаури интереснее нежели в Карптах. Идеально ехать на пару недель, чтобы изучить склоны, попасть на хорошую погоду и укататься по полной программе. ### Горнолыжные курорты. Драгобрат URL: https://www.rozhkov.me/daily/ski-resorts-review-dragobrat/ Last updated: 2021-08-31T09:50:40.000Z На Драгборат едут за снегом. Все остальное тут вторично. ### Дорога Поезд до Ивано-Франковска, оттуда маршрутос до Ясиней, там нужно пересаживаться на газоны, они же шишиги, они же [ГАЗ-66](https://ru.wikipedia.org/wiki/%D0%93%D0%90%D0%97-66) и еще около часа ехать на место. Дело в том, что на Драгобрат нет нормальной дороги, и добраться туда можно только на спецтранспорте. На своем внедорожнике можно доехать только если вы опытный водитель который знает что делает. Я бы не рисковал. Пару лет назад там перевернулась шишига и погибли люди. Из-за сложного трансфера распостранены туры на драгу, их организовывает куча компаний, я ездил много раз со [SnegTravel](https://snegtravel.com/) и [Адреналин](https://www.adrenalin-ua.com/). Если вы едете первый раз—советую ехать туром, по цене это будет так же, если ехать самому. ### Жилье Все отели на драге примерно одинаково плохие. Если будете ехать с туром, то выбор скорее всего сделают за вас. Там нет такси, поэтому до подъемников надо идти пешком. Посмотрите предварительно на карте какой отель ближе. Например, я был в "Маріна", там сразу выход из отеля на трассу, очень удобно. А был и в "Яремина Хата" и там конечно до подъемников приходилось пилять далеко. Зато до ратрака близко :) Но если вы подымаетесь ратраком то мой гайд вам не нужен. ### Трассы и подъемники На драге трасс как таковых нет. Вас просто вытягивает наверх—а дальше перед вами снежное поле и лес. Куда хотите туда и катите, на свое усмотрение. В этой связи считайте что нет такого понятия как "много людей на трассе", места много и хватает на всех. Подъемники на драге принадлежат трем разным людям и на каждый подъемник свой отдельный скипас. Все "трассы" содержат и сложные участки и простые, поэтому даже новичок сможет нормально катать. Я лично отдаю предпочтение крайнему правому склону, горе Стог. Советское кресло тащит долго, а вот бугель довольно быстрый, людей меньше и можно сделать кучу спусков. Центр, он же "курятня" мне не нравится потому что там много людей, длинные очереди и короткий спуск. Левую часть, "Карпатская чайка" я вообще особо не катал, потому что туда неудобно добираться если ты лыжник. Гиды обычно минимально поясняют за обстановку, но с вами кататься никто не будет, поэтому разбираться надо будет самому. Главное иметь с собой заряженный телефон и номера спас служб, если вдруг заедете в ёлки и потеряетесь, а такое бывает. Если вы бордист то настоятельно рекомендую выехать на фрирайд на ратраке, собственно за этим сюда и едут. Если лыжник и у вас нет широких лыж—то ехать туда не надо, а если у вас есть широкие лыжи—то вы и без меня все знаете. ### Инструктора и школы Какие-то есть, но по их качеству и количеству ничего не подскажу. ### Погода Погода на драге это полный рандом. Иногда несколько дней подряд может быть туман когда не видно вообще ничего, иногда лютейшый ветер. Иногда (но очень редко), ясный день с солнышком. Чаще всего погода пасмурная, легкий туман и дует сильный ветер. На Буковеле погода всегда ±ок, поэтому там вы точно не будете терять дни катания. Ехать надо под снег. Снег смотреть на [snow forecast](https://www.snow-forecast.com/). Так же посещайте чаты драги, их можно найти на [snig.info](https://snig.info/uk). ### Выводы Катание мне нравится больше на драге чем на Буковеле. Но из-за непредсказуемой погоды жопа у горит так сильно что каждый раз когда туда приезжаю, то говорю себе что больше сюда ни ногой. А потом еду опять. Сюда надо съездить раза три чтобы понять, вам заходит драг или нет. P.S.: Отличное видео про Драгобрат: ### Горнолыжные курорты. Буковель URL: https://www.rozhkov.me/daily/ski-resorts-review-bukovel/ Last updated: 2021-08-30T08:27:32.000Z На Буковеле очень много людей. Особенно народ наезжает в праздники и на выходные, но даже с этим фактом можно работать. ### Дорога Поездом до Ивано-Франковска и оттуда маршруткой до самого курорта. Маршрутки есть прямо на вокзале, можно смело садиться и ехать. Ехать вполне ок самому. ### Жилье Жить есть смысл только в [Bukovel Residence](https://bukovel24.com/hotels/bukovel-hotel). Во-первых, домики близко к подъемникам, во-вторых, что более важно, вам дают VIP-пропуск на подъемники с существенной скидкой. Последнее это залог того что вы хоть как-то сможете покататься, а не только стоять в очередях. При выборе домиков смотрите внимательно: часть из них находится внизу, часть—вверху. Вас интересуют те что сверху, так как оттуда можно почти не идти пешком, а сразу съезжать к подъемнику. Домики подороже находятся внизу, от них надо будет переть пешком до 2-го или 1-го подъемника. Можно жить и в других гостиницах, но тогда придется или брать таксо, или ходить пешком, но в любом случае вам придется отвалить хорошую сумму за VIP-проход, поэтому считайте экономию сами. В резиденсе приличные завтраки, ужинов нет. ### Трассы и подъемники. Большинство трасс очень узкие и из-за большого количества людей всегда плотный траффик, поэтому следует быть осторожным. [Карта спусков](https://bukovel.com/ski/status?activeTab=tabMap). Самые загруженные подъемники это 1, 2, 14, так как там находятся трассы для новичков. Самый незагруженный подъемник это 16, потому что там одна красная и несколько черных трасс. Красная вполне проезжабельная и новичками. Так же вообще незагружен бугель №6\. Средне загружен подъемник 11\. Я обычно провожу время на подъемниках 16 и 11, и на бугеле, если там нет соревнований. Так получается сделать много спусков и даже устать до того как закончится день. На вечернее катание не хожу, потому что очень-очень много людей, да и устать за день успеваешь. ![](https://www.rozhkov.me/content/images/2021/08/Slice-1.jpg) Тут меньше всего людей Обращайте внимание на то, сколько времени у вас уходит на спуск-подъем и стремитесь минимизировать его. Так же смотрите внимательно на подъемник. Если на высадке и посадке кресло движется медленно, а станции большие по размеру, то на них кресло отцепляется от каната и тянет быстро. Если же станция маленькая по размеру и вы видите круг по которому вращается трос, то кресло не отцепляется, и из-за необходимости сохранения низкой угловой скорости медленно двигается весь трос, соответственно подъем идет долго. 11 подъемник например быстрый, а 16-ый — медленный, но зато 16ый короткий, поэтому они тащат по времени примерно одинаково: 10 минут. Это справедливо для всех курортов. На [вебке](https://snig.info/uk/Bukovel/86) четко видно разницу: слева быстрый подъемник, справа—медленный. ### Инструктора и школы В Буковеле могут работать только аккредитованные инструктора. Условия там не очень выгодные, поэтому все толковые ребята едут или на другие курорты, или в Грузию. Так же в Буковеле очень много людей, особенно на новичковых трассах: 1, 14, 9, 7. Я не советую учиться в Буковеле, а рекомендую пойти в школу [Anton Ski School](http://www.antonskischool.com.ua/) и учиться там. Я учился у них в Грузии и Турции и мой уровень сильно вырос. В Украине они делают обучение в Подобовце. Идите на сайт, записывайтесь и вперед. Там очень толковые инструктора и подход, есть лыжи и борд. Если вы не умеете кататься—не едьте в Буковель, лучше поучиться на других курортах, это будет дешевле и вы получите намного больше удовольствия. ### Выводы Курорт хороший, но **обязательно берите VIP-пасс**, иначе будете весь день стоять в очередях. Уточняйте обязательно все моменты, потому что я был там в 19/20 сезоне и условия могли измениться. ### Горнолыжные курорты. Обзор URL: https://www.rozhkov.me/daily/ski-resorts-overview/ Last updated: 2021-08-26T21:55:09.000Z Зима близко, самое время вострить лыжи! В том сезоне я никуда не поехал из-за коронавирусных дел, в этом надеюсь поправить ситуацию и предлагаю вам тоже ворваться в горнолыжный спорт, если вы еще не там. Важнейшей характеристикой курорта я считаю количество спусков, которые можно сделать за день. Эта характеристика интегральная и на нее влияют три параметра: длина трасc, скорость подъемников, очередь на подъемник. Скорость спуска составляет максимум 10% от времени подъема, поэтому ее не считаем. Даже если вы новичок—вы будете делать условно говоря на 3 спуска меньше, чем профессионал, что при общем количестве спусков в например 15 не такая уж и большая разница. Почему это важно? Потому что вы приехали кататься, а не стоять в очередях. Вы наверное видели огромные очереди на 1-ый и 2-ой подъемники на Буковеле. Когда ты 20 минут ждешь в очереди, 10 минут тебя тащит подъемник а спускаешься ты за минуту, то это не очень весело. Поэтому я фокусируюсь на сокращении времени ожидания между спусками. Так же важно жить возле подъемников, потому что время и силы которые вы тратите чтобы добраться, особенно если вы на лыжах, часто не стоят той экономии которую можно получить если жить дальше. Поехали по курортам. Пишу только о том, где я был. ### Буковель, Украина Очевидно, самый популярный курорт в Украине. Только на этом курорте есть нормальные б.у. австрийские кресельные подъемники, на всех остальных если я не ошибаюсь стоят еще советские (комментаторы поправят). Большое разнообразие трасс под любой уровень, хорошая инфраструктура, снежные пушки, но очень, очень много людей. Тем не менее на Буке есть и низкозагруженные трассы, где можно делать много спусков. О них потом. Все трассы короткие, так как горы низкие. Погода в основном адекватная. ### Драгобрат, Украина Фрирайд мекка Карпат. Тут нет такого понятия как "трасса", там где проехал ратрак там и трасса. Условно курорт можно разделить на 3 "склона" на каждом из которых есть подъемники и бугеля, все советское. Курорт загружен, но при желании можно делать много спусков. Для тех у кого доски, широкие лыжи и кто немного умеет кататься, есть ратрак—вас завозят на гору а дальше едете вниз к точке сбора и так по кругу. Это дороже, но значительно интереснее. На Драгобрате очень переменчивая погода, может быть такое что из 7 дней на курорте только 2 дня будут адекватными, без лютого ветра или тумана. Поэтому я Драгобрат не люблю и каждый раз даю себе обещание туда не возвращаться. "Трассы" короткие. ### Гудаури, Грузия Большой грузинский курорт. Кавказ повыше Карпат, деревьев нет, поэтому тут уже интереснее—трассы сильно длиннее и шире чем у нас. Подъемники все австрийские, есть гондолы—они тащат быстрее всего. Трасс много, в основном они пологие. Если хочется усложнить—легко выехать за трассу и катить по буграм. Если забраться на самый верх то можно очень долго ехать вниз—в Карпатах такого нет. Людей много, особенно в выходные, но с Буковелем не сравнить. Инфраструктура ок, но если жить в хостелах внизу, то до подъемников может быть напряжно идти. По погоде в целом ок. ### Эрджиес, Турция Турецкий курорт вокруг одноименного потухшего вулкана. Очень похож на Гудаури, высота ±та же, такие же склоны и подъемники. Нюанс только по жилью, я жил в гостинице в Кайсери и трансфер на гору занимал около 20 минут на бусике. Мне понравилось. По погоде бывает лютый ветер и тогда курорт закрывают. Я делал [небольшое видео](https://youtu.be/3IZhyvQxpIo), посмотрите. В следующих постах пройдемся по особенностям каждого курорта. У меня скромная география поездок. До Альп я так и не добрался, а они по качеству будут на голову выше всего вышеперечисленного: горы выше, подъемники быстрее, трассы длиннее. Если у вас есть возможность—надо ехать в Альпы и не перебиваться списком выше. ### Прочитал «Джейдайские техники» URL: https://www.rozhkov.me/jedi-techniques-review/ Last updated: 2021-08-18T21:26:14.000Z Книга по методикам улучшения продуктивности от известного прокрастинолога [Максима Дорофеева](https://mnogosdelal.ru/). Автор предлагает модель устройства нашего мышления и рецепты для эффективного использования умственных ресурсов. За основу берется концепция Канемана—мы мыслим в двух режимах: быстром и медленном. За быстрое мышление отвечает "рептилоидная" Система 1—удовлетворение сиюминутных и жизненно важных потребностей, за медленное — энергозатратная "человеческая" Система 2\. Большую часть времени мы живем на автопилоте от Системы 1, и если неправильно ею управлять, то можно погрязнуть в бесконечной прокрастинации. Максим с называет Систему 1 "обезьянкой" а Систему 2 "рациональным типом". Вторая концепция—"мыслетопливо". У человека есть ограниченное количество ресурса, который можно потратить на осознанную деятельность. Если вы израсходуете его на чтение соцсетей, то может ничего не остаться на полезную работу. Ergo, мыслетопливо нужно использовать рационально. Книга построена вокруг практик управления обеими системами и расходом мыслетоплива. Часть этих практик я почерпнул ранее из [видео](https://www.youtube.com/user/Cartmendum) и текстов Максима, к части пришел сам, часть впервые увидел в книге. Примеры: **Любое задание которое вы не записали, крутится в оперативной памяти** и съедает мыслетопливо. Решение — записывать вообще всё, чтобы освободить память. Я стараюсь сгружать все задания и идеи на бумагу. Помогает. **Слишком общая и неконкретная формулировка задач мешает** обезьянке взяться за выполнение. "Начать делать проект"—плохая формулировка, а вот "Поднять скелет проекта на Rails и настроить CI/CD на Heroku"—уже куда более понятное задание и шансы его прокрастинировать резко уменьшаются. Интересно, что похожая методика была описана у Егора Бугаенко в [Puzzle-Driven Development](https://www.yegor256.com/2010/03/04/pdd.html) более 10 лет назад. Отлично работает, применяю. **Пустые инбоксы**—почта, мессенджеры, соцмедиа, так же увеличивают затраты мыслетоплива. Я [перешел к пустому инбоксу](https://www.rozhkov.me/empty-inbox/) уже довольно давно и успешно поддерживаю его пустоту. У меня прочитаны и обработаны все письма, все сообщения в мессенджерах, открытые "на потом" вкладки в браузере регулярно обрабатываются и закрываются. Если у вас в почте тысячи непрочитанных, а в телеграме десятки каналов до которых не доходят руки—применяйте методику из книги и разгребайте все это. **Не надо впихивать невпихуемое.** Если у вас уже запланировано много заданий, то не надо пытаться добавить еще одно. Я [подсмотрел](https://ksoftware.livejournal.com/242534.html) супер-методику для решения этой проблемы у [Товеровского](https://bureau.ru/bb/soviet/20160908/), называется [](https://bureau.ru/bb/soviet/20160908/)[сделай завтра](https://bureau.ru/books/fff/229). Кто-то приходит со запросом? Ок, сделаем завтра, сегодня нет мест. Мне это просто невероятно помогло избавиться от лишней тревожности и стресса. Что характерно, завтра наступает и задача сделывается. **"Закон хомячка"**—"кто не роет, у того нет норки". Этот важнейший закон в разных видах повторяется в огромном количестве материалов по продуктивности и заключается в том, что для достижения цели важно постоянство. Даже маленькие, но регулярные шаги могут привести вас очень-очень далеко. Я уже около трех лет регулярно пишу и вот смотрите—есть результат. Куча постов, люди читают, писать я стал немного лучше, а сам процесс идет проще. Это только некоторые концепции из книги, и там уже есть готовые рецепты как начать это всё применять, бери и делай. Вначале сгрузить всё что роится в голове на внешний носитель, чистить инбоксы, формулировать задания, делать регулярные осмотры системы и так далее и так далее. Важно, что автор не предлагает нам принять его методику как набор нерушимых постулатов, не советует конкретные инструменты для управления задачами, а предлагает на основании изложенных принципов самостоятельно строить свою систему. Эту книгу я однозначно рекомендую. Из всех селф-хелп книг которые я прочёл это самая сфокусированная и концентрированная. Читается легко, иллюстрации хорошие. Я читал в [українському перекладі](https://bookclub.ua/catalog/books/psychology/djedayski-tehniki), вам порекомендую оригинал т.к. в переводе некоторые места режут глаз и отвлекают. *P.S.: Вторая книга, "Путь джедая", уже ждёт своей очереди, но я хочу еще раз перечитать первую.* ### Странные собеседования URL: https://www.rozhkov.me/strange-interviews/ Last updated: 2021-08-13T12:12:28.000Z Пара забавных собесов, которые у меня были. ### Просветлённые Первый собес был в ныне почившую или переименовашуюся контору Hamstercoders. Рекрутер вышла на меня, назначили собеседование в индийском ресторане New Bombay в Зажопье (район в Киеве подле Родины-матери). Сейчас бы меня это здорово напрягло, но тогда я подумал мало ли что у людей, и согласился. На встречу пришло два фаундера компании. Предложили что-то заказать, но т.к. я не знал кто будет платить а спросить постеснялся, то воздержался и взял чаёк. Да и на собесе собеситься надо а не кушать. Слово за слово, ребята начали рассказывать какие корабли они строят. Тогда им нужен был человек на проект облачных бэкапов серверов. Типа ставишь себе агента и он снапшотит сервак в облако. Шел 2011 год, про докер никто не знал, облака тоже еще не были так популярны, люди вовсю хостились на барметале и были рады. Тогда я не вкурил зачем нужен этот продукт потому что еще не занимался девопсячьими делами, запомнил только смешное название: vob.la. Судя по уже неработающему сайту они так и не релизнулись. Фаундеры почти не спрашивали меня о технике, взамен задавали странные наводящие вопросы в духе "а чем ты вообще хочешь заниматься?". Я тогда честно ответил что хочу сделать студию и заниматься звукорежиссурой, писать сводить и всё такое. Такой ответ давать не нужно, хотите чтобы взяли—отвечайте по делу, а не о том что собираетесь заниматься покрасом космодесантников на заказ. Ребята конечно недоумевали от моих студийных интересов и все хотели чтобы я дал социально приемлемый ответ "конечно же я всю жизнь мечтал работать на вашем проекте за миску риса", а я всё не давал его, потому что меня в то время работа крепко утомила. Потом много рассказывали какие они крутые и какой прорывной будет продукт. Под офис они снимали большой дом, в том же Зажопье. На вопрос "откуда деньги" хитро щурились и говорили "заработали". Насколько я могу предположить их побочным бизнесом был или адалт, или малварь, или рулетки. Через 2 часа мы попрощались, рекрутер сказала что меня готовы брать, но 3000$ давать не готовы. На том и разошлись. ### Сисадмин Второй собес был у меня примерно в то же время в конторе Tain. Коллега мне тогда сказал что они платят сильно выше рынка, $4k на 2011 это было очень хорошо, ну я и соблазнился. Офис у них был где-то в промзоне на нижнеюрковской (сейчас там культовое место). Пришел, местный техлид немного помариновал меня, мотивировав тем что у них интернет в офисе падает а только он может его починить. Контора занимается окологемблинговой деятельностью поэтому я туда конечно же идти не собирался, но чисто для интереса получить оффер хотелось. На собесе были типичные для того времени джава вопросы и прогон по паттернам и прочей ерунде. Вроде даже какую-то логическую задачу решали на бумажке. Цирк был в том, что техлид каждые 15 минут отвлекался на починку интернета в серверной. После собеса сказали что я вроде ±ок, но вот пожалуйста сделайте тестовое задание. На почту выслали задание, порефакторить код, написать реализации каких-то коллекций и тд. Ну я сделал как-то, вроде работало, отправил зипник, расписал всё как надо. С тех пор ни ответа ни привета. Наверное опять интернет упал и письмо потерялось, лол. Я конечно должен был сам их пингануть, но т.к. желания устраиваться туда у меня не было то я забил. А через 8 лет они мне опять написали с предложением, а я и говорю "как там моё тестовое задание?" — "тестовое потеряли". На том и прекратили общение. --- Вот такие собесы. Делитесь своими историями в камментах👇 ### Прочитал «Start with No»/«Спершу скажіть "Ні"»/«Сначала скажите "Нет"» URL: https://www.rozhkov.me/daily/start-with-no-review/ Last updated: 2021-08-27T22:19:51.000Z Очень известная книга о техниках переговоров. Её советуют везде и все. Библия переговоров. Вот и я добрался. В книге автор Джим Кемп рассказывает о своей методике ведения переговоров («Система Кемпа»). Она состоит из нескольких принципов, каждый из которых наглядно иллюстрируется практическими примерами. Некоторые из принципов: "Не заходить в переговоры в нужде". Это значит, что у вас не должно быть эмоциональной зависимости на результат переговоров и желание совершить сделку, какой бы важной она не была. Если вы зашли в нужде — вы проиграли. Именно так я и проиграл с покупкой первой квартиры, потому что из-за обстоятельств у меня было чувство нужды: меня выселяли со съемной квартиры и мошенникам удалось взять меня на крючок, что притупило осмотрительность и заставило меня спешить. Когда я покупал вторую квартиру, нужды у меня уже не было, поэтому я спокойно относился к отказам и шёл дальше. На поиски квартиры я потратил 9 месяцев и сорвалось 2 сделки, но третья была самым лучшим, что мы смогли найти. "Win-win не работает". Очень опасно заключать сделку которая может быть невыгодной как для вас так и для оппонентов. Например может оказаться так что вы настолько будете хотеть работу, что согласитесь на невыгодные условия в надежде сторговаться потом, а потом не наступает. И вам плохо — вы не получили ожидаемое, и клиенту плохо — он не получит то что ему нужно. Поэтому не нужно демпинговать, соглашаться на явно плохие условия и стремиться закрыть сделку во что бы то ни стало. Как-то я согласился на почасовую работу по рейту в два(!) раза ниже чем изначально планировал, хотя для этого не было никаких предпосылок и я спокойно мог отказаться. В итоге и мотивации работать у меня не было, и клиент не получил что хотел. Так делать не надо. "Начните с нет". Нужно сразу дать возможность оппоненту отказаться от сделки. Просто сказать "если вас это не устраивает то вы можете отказаться". Это сразу же ставит оппонента в ситуацию когда ему нужно принимать конкретное решени. Ваша задача — получить ответ отличный от "возможно" или вообще ничего не получить. С одним из клиентов у меня как-то были переговоры где я не использовал это правило. В итоге обсуждение сделки подвисло в воздухе и никуда не двигается. Если бы я сразу сказал "вы можете отказаться от этого предложения если вас оно не устраивает" то сразу бы закрыл вопрос. "У вас должна быть миссия и цель". Очень важный пункт, перекликающийся с [книгами Питерсона](https://www.rozhkov.me/daily/12-rules-for-life-review/). В любые переговоры вы должны заходить с целью, эта цель должна находиться в мире клиента и быть направленой на его нужды. Например, если у меня планируется проект, то моей миссей должно быть что-то вроде "помочь клиенту сделать сервис, с помощью которого он сможет решить задачи своего бизнеса" а не "срубить денег, да побольше". В своей работе я всегда смотрю на то, как я могу помочь клиенту с помощью своих компетенций а не просто тупо сделать что мне говорят и укатить в закат. Почему это работает? Потому что успех клиента — это ваш успех и вы будете иметь сильные позиции в переговорах. И так далее. Принципов там в три раза больше и все они стоят изучения. Надеюсь, мне удалось вас заинтриговать. Книга в первую очередь будет полезна если вы работаете напрямую с клиентами, неважно, в найме или независимо, но и для обычного человека там есть кладезь мудростей. Мы проводим переговоры разной степени важности каждый день и крайне полезно знать и понимать эффективные техники для достижения хорошего результата. Книгу нужно поставить на полку рядом и перечитывать перед переговорами применяя указанные там правила. Рекомендую. P.S.: Отличным дополнением к книге будет [выпуск Podlodka Podcast о переговорах](https://podlodka.io/166). ### Прочитал «No More Mr. Nice Guy»/«Хватит быть славным парнем» URL: https://www.rozhkov.me/daily/no-more-mr-nice-guy-review/ Last updated: 2021-08-10T10:26:41.000Z Еще одна [селф-хелп](https://www.rozhkov.me/daily/self-help-books/) книга. Чаще всего её советуют тем кто не может наладить личную жизнь. Я уже кое-как наладил пока подошёл к чтению, поэтому мне она не особо помогла, но что важно, я нашел там подтверждения принципов, которые встречаются во многих-многих других источниках. Лучше бы конечно мне прочитать её в 15 лет, а не сейчас, но что есть то есть. Вначале автор дает определение "славного парня". В его терминологии это мужчина который ставит чужие желания выше своих. Делается предположение, что это вызвано детством где отец отсутствовал или был лишь номинальной фигурой, а ребенку запрещали чего-нибудь хотеть. Таким образом растёт человек, который стремится угодить другим, в то же время подавляя свои желания, что ведет к постоянной фрустрации. Самый характерный признак славных парней — это нездоровые отношения с женщинами и отсутствие секса, даже если есть девушка или жена. Если у вас с этим проблемы или вы подвержены влиянию современной нездоровой [инцельной](https://en.wikipedia.org/wiki/Incel) повестки — эта книга для вас. Всю дорогу автор предлагает читателю сфокусироваться на своих желаниях, на развитии себя и на удовлетворении в первую очередь своих потребностей. Парадоксально (для славных парней), но это приведет к лучшим отношениям в семье, с друзьями, на работе. Каждая глава снабжается упражнением, которое нужно проделать чтобы забороть свою "славность", например пойти на встречу с корешами куда не шел потому что друзья не нравятся жене, поехать в мини-путешествие в одиночку, заняться хобби которым давно хотел заняться но не мог потому что боялся что не оценят близкие, научиться говорить нет и так далее и так далее. Список длинный, но вся суть сводится к одному — слушай свои чувства и делай то что ты хочешь а не то что хотят другие. Не стремись никому угодить. Следи за собой, будь крутым в своих глазах, а внимание окружающих подтянется. Не нужно пытаться понравиться людям, потому что это ставит вас в зависимость от их оценки. Нужно делать то что нравится в первую очередь вам, а не другим. Так будете жить хорошо и достигнете чего нужно. В каждой главе есть анекдотичные примеры клиентов автора, которые находились в жопе, потом делали небольшие изменения и потихоньку выбирались из этой жопы. Описанные приёмы работают, подтверждаю. Я их начал применять еще ранее, но прикольно еще раз прочитать подтверждение что всё делаешь правильно. Идеи конечно же сильно перекликаются и с книгами [Питерсона](https://www.rozhkov.me/daily/12-rules-for-life-review/), и с [The Subtle Art of Not Giving a Fuck](https://www.rozhkov.me/daily/the-subtle-art-of-not-giving-a-fuck-review/) и со статьями и мануалами с сайта . Читайте, применяйте. ### Экономия на спичках: считаем стоимость хостинга пет-проектов на kubernetes URL: https://www.rozhkov.me/kubernetes-pet-projects-cost-estimation/ Last updated: 2021-08-09T14:26:24.000Z Я люблю простые и понятные решения. Для хостинга всех своих проектов я использую [Heroku](https://www.heroku.com/home). Он достаточно дешев, лёгок в настройке и подымается буквально за минуту. Советую всем. Сейчас у меня там крутится несколько проектов, два из которых работают постоянно — это [adopt.com.ua](https://www.rozhkov.me/modern-web-applications-architecture/) где вы можете найти себе котика или пёсика, и [blogigram](https://www.youtube.com/watch?v=Gi5WrRCrhww&t=1960s) с помощью которого был опубликован этот пост. Эти проекты кушают 46$ в месяц, по 23$ на брата. Остальные живут на free tier и не едят ничего. За 23$ я получаю: - апп сервер с 1 vCPU и 512 MiB RAM 7$ - такой же воркер для Sidekiq бэкграунд джоб 7$ - managed постгрес с лимитом в 10М строк 9$ - редис на 25 MiB RAM 0$ - балансер и HTTPS сертификаты 0$ Not great not terrible. Сейчас я делаю еще один проект а это значит что будет +23$, то есть 69$ в сумме. За эти деньги уже можно взять дедик на Scaleway. Но просто дедик неинтересно: он может упасть, за ним надо смотреть и тд, поэтому я подумал о том чтобы поднять кубер и за счет более эффективной утилизации ресурсов большой машины получить экономию. Это упражнение мне нужно еще и для коммерческих проектов, где прайс за инфру побольше полтинника. Требования: - постгрес я не хочу тащить в кубер, потому что не хочу возиться с бэкапами и апдейтами. Провайдер должен предоставлять managed бд. Её можно будет пошарить между приложениями и за счет этого сэкономить - то же для редиса - нужно разместить 3 приложения, каждое из которых содержит два контейнера по 512 MiB памяти. Итого нужно минимум 3 GiB доступных под приложения. Не забывайте, что кубер тащит свои запчасти которые едят память, плюс всякие хелмы, аргоцд и тд и тд. - https сделаем с помощью [cert-manager,](https://cert-manager.io/) но провайдер должен давать балансер который мы переиспользуем для всех приложений Под вышеозаченные требования полностью подходят: AWS, GCP, Azure, Digital Ocean и почти подходит Scaleway. Hetzner и другие VPS провайдеры не подходят, потому что они не предоставляют ни k8s ни postgres а дают только голые виртуалки. Прикинем цены (с редисом/без редиса): **[GCP](https://cloud.google.com/) — 92$/57$**:22$ балансер, 11$ pg, 24$ кубер 1 vCPU/3.75 GiB RAM, 35$ редис. **[AWS](https://aws.amazon.com/) — 131$/119$**: 17$ балансер, 13$ pg, 73$+16$ кубер EKS 1 vCPU/4GiB RAM, 12$ редис. Такое конечно брать не будем, +73$ за EKS не нужен. **[Azure](https://azure.microsoft.com/) — 96$/80$**: 18$ балансер, 26$ pg, 36$ кубер 1 vCPU/4GiB RAM, 16$ редис. **[Digital Ocean](https://www.digitalocean.com/) — 80$/65$**: 10$ балансер, 15$ pg, 40$ кубер 4 vCPU/4GiB RAM, 15$ редис. DO имеет ограниченный набор типов нод, придется брать 4 ноды, что хорошо. **[Scaleway](https://scaleway.com/) — -$/41$**: 12$ балансер, 12$ pg, 17$ кубер 3 vCPU/4GiB RAM, редиса нет. Я брал самые дешевые ноды, да и одна нода в пуле это просто смешно, производительность каждого кластера будет отличаться, плюс добавятся деньги за NAT/Public IP и другую дичь. Очевидно что экономия по сравнению с Heroku далеко неочевидна. Привлекательнее всего выглядят DO и Scaleway, ну оно и понятно, это далеко не космолеты из большой тройки, а последний уже многие года уверенно держит марку самого дешевого провайдера. Так же не учитываю собственные расходы на няньченье кубера, потому что за 5 минут ничего не сделаешь, если нет обширного опыта и готовых подходов. Я в кубере немного разбираюсь, но расчитываю минимум денек-другой потратить на настройку нормального CI/CD и тд, чтобы можно было новые приложения за 5 сек потом деплоить. А это тоже бабки, хотя и инвестиция в себя. **По результатам упражнения я решил пока пет проекты в кубер не везти.** Чисто так в песочнице пасочки поделаю пойму насколько оно вообще удобно и надёжно, а дальше посмотрю. Как же так получилось что Рожок вообще [задумался про кубы](https://www.rozhkov.me/infrastructure-for-a-people/)? Ну, друзья, — кубер — это уже настоящее девопса. Отрицать это значит [ссать против ветра](https://www.rozhkov.me/no-piss-against-the-wind/), смысла нет никакого. Сейчас почти всё на кубере, а через 5 лет точно будет всё. P.S.: Адепты деплоя через `git pull` на VPSку плачут кровавыми слезами. За 70$ можно взять 4 vCPU/16 GiB RAM на Scaleway или еще более мощный сервант у обычных VPS-провайдеров который будет просто летать. ### daily rozhok №5: мудрости из интернета URL: https://www.rozhkov.me/daily-rozhok-5/ Last updated: 2021-08-08T11:18:40.000Z Как обычно по пятницам у нас выходит дайджест канала [@daily\_rozhok](https://t.me/daily%5Frozhok). Это мой канал, где я пишу за жизу, обзоры на книжки и прочий нерелевантный ІТ контент. Персональный топчик в этом выпуске это обзоры на мотивационные тед-талки о продуктивности о повышении качества жизни, преодолении прокрастинации и наращивании объема различных частей тела. Читайте о том как я прочитал быстрее 👇 [Прочитал: тщеславные метрики, ментальные модели, жизненные ценности](https://www.rozhkov.me/daily/vanity-metrics-mental-models-life-values/) — Рожок снова угорает по селф-хелпу и в этот раз кажется нашел серебрянную пулю! Очень крутые материалы, настоятельно рекомендую к прочтению всех кто хочет хоть немного улучшить свою жизнь. *Спойлер: чтобы что-то начать делать регулярно, запишите себе этот совет на бумажке и повесьте на видное место.* [Прочитал: креативность, ценности](https://www.rozhkov.me/daily/creativity-and-values/) — вторая часть обзора на крутейшие селф-хелп статьи. Остальное — хронологическом порядке: [Жора. Aftermath.](https://www.rozhkov.me/daily/zhora-aftermath/) — некоторые пояснения по [ситуации с Жорой](https://www.rozhkov.me/daliy-rozhok-4/). Жора — мой товарищ, у которого плохо с финансовым планированием и стратегическим мышлением. За прошедшее с последнего поста время он неплохо прогрессировал — устроился на работу, получил бабос, вроде даже начал закрывать долги, в планах починить девятку. Апдейты по Жоре обязательно будут. Но потом. [Бутафорское волшебство квест-комнат](https://www.rozhkov.me/daily/fake-quest-room/) — Рожок сходил в квест-комнату про гарри поттера и расстроился ненастоящести происходящего. Подгорело почти как от [настолок](https://www.rozhkov.me/table-top-games-useless/). [Как нищий в дорогой ресторан сходил](https://www.rozhkov.me/daily/poor-man-in-a-classy-restaurant/) — Рожок идет в ресторан со средним чеком в 70$ на рыло и весь вечер чувствует себя не в своей тарелке. Как же хорошо в пузатке! Каждый сверчок знай свой шесток! [Чипировался](https://www.rozhkov.me/daily/vaccinated/) — Рожок ширяется китайским шмурдяком в подворотнях спальных районов левобережки. Инструкция по варке ширева а так же описание прихода и отхода прилагается. [Веганство как религия](https://www.rozhkov.me/daily/veganism-is-religion/) — Рожок примеряет свой широкий опыт сектанства на современные около-эко движения. На сегодня всё. Подписывайтесь на @daily\_rozhok, работайте поменьше, угорайте по продуктивности, катайтесь на геликах, ходите в дорогие рестораны, говорите открыто и смело прямо в лицо! ~~W140!~~ ### Прочитал: креативность, ценности URL: https://www.rozhkov.me/daily/creativity-and-values/ Last updated: 2021-08-05T16:22:12.000Z [Personal Values](https://www.julian.com/blog/life-planning) — как выбирать и следовать ценностям в жизни. Статья немного перекликается с тщеславными метриками из предыдущего поста. Автор предлагает нам выбрать набор базовых ценностей, отранжировать их и жить согласно ним. Просто, правда? :) Суть в том, чтобы оценивать свои проекты и деятельность согласно этим базовым ценностям, и заниматься тем, что соответствует им, а не тем, что навязывается обществом или не является приоритетным. В пример он приводит себя где стоит перед выбором: делать стартап или заниматься писательством. В итоге пропустив это через призму ценностей оказывается что деньги для него не так важны и его больше "наполняет" писательство. Вопрос решён. Помимо этого он предлагает задать себе вопрос: "когда мне будет 80 лет, о чем я буду жалеть больше всего если не сделаю этого?". Звучит как фраза из тед-талков и прочей мотивационной макулатуры, но если регулярно себе задавать этот вопрос то начнешь думать, на что тратишь жизнь. Можно даже записать этот вопрос/принцип в базовые принципы из предыдущего материала. [Creativity](https://www.julian.com/blog/creativity-faucet) — как генерировать хорошие идеи. Автор предлагает рассматривать нам нашу креативность как трубу с водой, которую давно не открывали — вначале оттуда пойдет ржавая, застоявшаяся вода, но стоит дать время и потечёт чистая. Вместо того, чтобы пытаться найти самую хорошую идею, автор предлагает записывать или генерировать вообще все идеи. В процессе то что не нравится нужно отбрасывать, но чем дальше в лес, тем мозг больше понимает что от него хотят и начнет выдавать топчик. Самая короткая статья из всех. Вот такой обзор, еще у автора есть гайды [как набрать массу](https://www.julian.com/guide/muscle/intro), [как писать](https://www.julian.com/guide/write/intro), [как маректировать стартап](https://www.julian.com/guide/growth/intro) которые тоже весьма и весьма интересны. Чем же меня зацепили эти материалы? Вроде обычный селф-хелп буллшит, не так ли? Зацепил меня маленький объем концентрированных знаний и весьма-весьма конкретные советы о том как это все применить прямо сейчас. Многие статьи состоят просто из "нормально делай нормально будет" но не предоставляют или расплывчато предлагают как реализовать на практике то что они постулируют. Тут же у каждого материала есть конкретный пример. Набор жизненных принципов, набор ценностей, набор ментальных моделей. Бери и применяй, если у тебя сейчас ничего нет, то это уже будет лучше чем ничего. В общем я собираюсь это всё еще пару раз перечитать и применить на практике, а то жизнь какая-то совсем невыносимая стала. Пока что только записал на бумажке "не гореть с комментариев", будем смотреть что дальше. Наверное "каждый день делать коммит в свой продукт", "не сидеть в соцмедиа", "не тратить время на ерунду о которой буду жалеть когда мне будет 80" :) ### Прочитал: тщеславные метрики, ментальные модели, жизненные ценности URL: https://www.rozhkov.me/daily/vanity-metrics-mental-models-life-values/ Last updated: 2021-08-04T06:00:00.000Z Прочитал на днях несколько статей от блогера [Julian Shapiro](https://www.julian.com/). То ли я преисполнился статьями и продуктивности и нашел что-то более свежее, то ли автор снабил свои материалы подробными инструкциями, но меня они конкретно зацепили. Я уже несколько раз перечитал эти материалы и походу буду перечитывать еще. И так, у нас в меню: [Vanity Metrics](https://www.julian.com/blog/vanity-metrics) — о том, что у любой деятельности есть метрики правильные, которые показывают выхлоп и результат, а есть "неправильные", сиречь "тщеславные", которые вроде звучат ок но на самом деле ничего не значат. Примеры таких тщеславных: метрик "я работаю Х часов в месяц", "я каждый день хожу в зал на тренировки и бегаю", "у меня десять тысяч подписчиков в соцсетях", "я в этой компаниии работаю уже 10 лет", "у меня есть MBA". Примеры "правильных" метрик: "я похудел на Х кг и набрал Y кг мышц", "в этой компании я заделиверил вот такие проекты", "мои подписчики поддерживают меня на патреоне на Z долларов в месяц". Суть в том что первые метрики не всегда свидетельствуют о реальных успехах и достижениях и могут быть накручены. Автор советует читателям определять а не оцениваем ли мы свои достижения по таким тщеславным метрикам, останавливаться, и фокусироваться на результате а не жить в самообмане. Я таким немного страдаю, например в том году я хорохорился что хожу в зал каждый день хотя набрал всего лишь пяток килограмм за всё время. [Life Advice](https://www.julian.com/blog/starting-principles) — как на практике применять мудрости из интернета или книг. Например, вы [прочитали Джордана Питерсона](https://www.rozhkov.me/daily/12-rules-for-life-review/) и вам понравилась. Как вы можете применить его советы в жизни? Чаще всего люди просто забивают и продолжают жить как раньше. Автор предлагает взять 6 "базовых принципов" и выписать их на бумажке. Бумажку поставить на видном месте, так чтобы вы каждый день повторяли эти принципы. Когда вы будете это делать, то будете вспоминать о них и ожидается что вы будете корректировать свою жизнь. Например, можно повесить простой принцип "делать что-то наполовину — дорогостоящий путь не делать это вообще"© и в очередной раз когда хотите забросить свою затею на полпути то вспомните об этом принципе и примените его. Когда выполнение принципа будет доведено до автоматизма, то можно убрать его из списка и заменить новым. Если вы встретите принцип лучше существующего, то его тоже можно заменить. Давно я писал пост что "[я не 100 долларов чтобы всем нравиться](https://www.rozhkov.me/daily/sto-dollarov/)" но продолжаю сгорать в комментариях. Вот, теперь я написал себе на бумажке "не гореть от комментариев" и каждый день себе напоминаю об этом. Автор приводит примеры таких базовых принципов и предлагает нам выбрать свои или взять его. [Mental Models](https://www.julian.com/blog/mental-model-examples) — как эффективно разбираться в работе разных систем и принимать решения. Автор приводит набор базовых приёмов, которые умные люди применяют для понимания и принятия решений. Например "на уровень выше" — берем нашу задачу и пытаемся подняться на уровень выше и посмотреть, может ли она быть решена там. Вы хотите получить прибавку к зарплате и ради этого рвете туза. Но можеть быть есть смысл подняться на уровень выше и просто поменять работу где сразу дадут +500? Еще один пример: применять теорию ограничений. Известно, что производительность любой системы ограничивается производительностью самого медленного узла и нужно делать всё, чтобы максимально его загрузить и избегать простоев или увеличить мощность. Автор предлагает нам рассмотреть свою деятельность и определить самое узкое место в ней, попробовать его оптимизировать и таким образом продвигаться дальше. Например, вы хотите подкачаться, но чот не получается. В чем проблема? Питание? Частота тренировок? Качество? Может быть в зал далеко ходить, тогда надо поискать зал поближе. Если вы не можете регулярно питаться — заказывайте или готовьте еду впредь. Если начать задавать себе вопросы то можно быстро выйти на узкое место и понять, что нужно оптимизировать. Очень интересные статьи, наверное первые которые заставили меня действительно задуматься а не просто прожевать и забыть. ### Токсичность и непрошеные советы URL: https://www.rozhkov.me/toxicity-and-unsolicited-advice/ Last updated: 2021-07-30T11:11:48.000Z Приходите вы в какой-нибудь чат или форум и пишете: "привет ребята, делаю сайт на Laravel, вот чот аякс не работает подскажите что может быть не так?" Вы приходите с очень конкретной проблемой и просите у сообщества помощи. Вы ожидаете что вам укажут на ошибку, может быть направят на доку. Что происходит вместо этого в 99% случаев? А просиходит вот что: "в 2к21 писать на пыхе, лол" "jquery? бери реакт" "какой реакт, слишком сложно, в его случае и vue будет достаточно" "выбрось лару, симфони лучше" "а вот если бы писал на рельсах то такой проблемы вообще бы не было" "зачем тебе делать кастомный сайт? Собери в конструкторе на тильде" "пхп не нужен, выучи лучше нодежс, на нем больше вакансий" "автор, расскажи что ты хочешь делать" В итоге через две сотни бессодержательных комментариев находится добрая душа которая говорит что надо правильно настроить cors и дает ссылку на доку. Хорошо если вы к этому времени еще не выбросились из окна от осознания собственной глупости и ничтожности. Почему так происходит? Причин много. Первый блок — это проблема с теми кто отвечает. Кто-то хочет показаться умным, кто-то хочет доказать всем что его технология самая лучшая, кто-то просто хочет поболтать. Второй блок причин — проблема с теми кто задает вопрос. Он заключается в том что люди приходят сразу с готовым (но неработающим) решением вместо того что ты прийти с описанием задачи. Когда ты не знаешь бэкграунда задачи то легко начать ванговать и делать предположения, согласно которым там нужен сайт на тильде. Когда работаешь с нетехническим заказчиком а он тебе говорит "хочу сайт на ларавель", то логично будет спросить "а зачем вам сайт? а почему именно эта технология" и так далее, то есть начать выяснять настоящую задачу клиента. Это нормально. А когда рандомный человек из интернета приходит с тем же вопросом то автоматически применяешь на него тот же подход, хотя это не всегда может быть правильно и/или корректно. Что делать и кто виноват? Если вы это читаете, то в следующий раз пробуйте сформулировать не решение своей проблемы, а задачу и трудоности, с которыми вы столкнулись. Возможно, ответы будут менее токсичными. Если же вы отвечаете на вопрос, то не стоит лезть к людям без мыла в голову, а ответить в стиле "ваша проблема решается вот так-то, но мне интересно почему вы выбрали именно этот способ, расскажите подробнее о вашей задаче". А вообще это надо закреплять в правилах сообществ, чтобы повышать культуру общения. Полезные ссылки от подписчиков: "Как задавать хорошие вопросы" от Джулии Эванс "The XY Problem" то же самое что и у меня в посте только на английском и лучше написано ### Не треба сцяти проти вітру URL: https://www.rozhkov.me/no-piss-against-the-wind/ Last updated: 2025-12-21T10:39:01.000Z Один з моїх принципів — не сцяти проти вітру. Полягає в тому, що не потрібно йти проти загальноприйнятої повістки, якщо це явно не слугує моїй меті. Раніше я вже писав, [як роздмухати срач в інтернеті](https://www.rozhkov.me/how-to-light-a-flame-over-internets/). Досить лише зачепити політику, релігію, стосунки, щоб відразу розділити своїх читачів на кілька таборів та спровокувати непотрібний конфлікт. За можливості цього варто уникати, якщо немає задачі просувати власну повістку. Наприклад, я пишу статтю з критикою мікросервісів, тому що я маю переконання що це (мікросервіси) — неправильно, я прихильник філософії монолітів та постійно просуваю цю тему. Це ок, тому що я свідомо готуюсь до того, що частина читачів не зрозуміє цього та піде, частина згорить та почне вести аргументовану дискусію, а частина напише «ріжок знову не подужав». Інша справа, це, наприклад висловлюватися щодо актуальних SJW або політичних питань, але без мети, лише тому, що в інтернеті хтось не правий. Якщо моя діяльність напряму не пов'язана з роботою в ліволіберальних/правоконсервативних рухах, якщо я не член політичної партії, то немає жодного сенсу починати розділяти аудиторію за цими ознаками, та втрачати читача/прихильника лише тому, що той має інші погляди, як і немає сенсу набувати поганої репутації у спільноті. Також немає сенсу сперечатися з іншими людьми з приводів, які не мають стосунку до суті питання, немає сенсу переходити на особистості та влаштовувати персональні атаки. І взагалі, сваритися просто так ні з ким не потрібно. «Всі люди браття на землі, всі богоносці. Не можна мстить. Повинніми любить»©. Але раз за разом я бачу як люди різного ступеня публічності продовжують робити ці помилки, та відлякують себе від потенційних прихильників, втім я теж цим грішу. Не треба так робити. ### Неосиляторы URL: https://www.rozhkov.me/read-the-following-manual-you-dumbass/ Last updated: 2021-07-21T06:00:00.000Z Каждый ІТ-специалист в повседневной работе использует множество сложнейших инструментов. Эффективность работы часто зависит от умения пользоваться этими инструментами. Всё начинается еще с редактирования текста—в любой IDE есть много горячих клавиш, функций, кнопочек которые призваны упрощать жизнь. Каждый язык, фреймворк и технология тоже содержит кучу вещей, которые помогают в работе и повышают эффективность решения, но в замен требуют инвестиций—обучения, чтения документации, экспериментирования с параметрами и так далее. При этом уровни этой "помощи" в разных инструментах реализованы по-разному. Например, языки программирования со сборщиком мусора очень-очень помогают программисту бороться с утечками памяти. Языки без `null` помогают бороться с пустыми ссылками. Раньше java когда выдавала `NullPointerException` то не говорила какой именно метод это вызывал—показывала лишь строку. Много лет понадобилось дизайнерам JVM чтобы добавить и эту информацию в трейс—а это отлично поможет разработчкам. У баз данных есть `EXPLAIN PLAN` который покажет что с вашим запросом пошло не так. Базы без этой или похожей возможности будут больше полагаться на человека. Я считаю что хороший инструмент должен максимально ограничивать пользователя в попытках выстрелить себе в ногу и помогать ему избежать ошибки, а если она случилась—то помогать её исправить. Например, в mysql можно включить slow query log и смотреть на все запросы которые выполняются дольше чем X секунд. В сложных инструментах легко запутаться и ошибиться. Например сделать ерунду в k8s—проще простого. А вот накосячить в Heroku—намного сложнее. Потому что первый дает очень большую свободу действий и позволяет строить самолёт, а второй—делает лишь крошечное подмножество функций кубера, поэтому там особо негде ошибаться. Люди всегда остаются людьми. Большинству нужно просто сделать свою задачу, и они часто не готовы инвестировать время в обучение. Поэтому берутся неподходящие инструменты, не читаются доки, делается абы как а потом пишутся failure stories как не получилось что-то внедрить. Или наоборот, success stories когда инструмент просто начинают использовать правильно. В этой шумихе очень легко обозвать человека который не разобрался неосилятором. Ты просто не прочитал доку. Ты просто применял не туда куда надо. Ты просто не разобрался как оно работает внутри. Ты просто не осилил. Я считаю что это такой себе victim blaming в мире от IT. Конечно все должны понимать что держат в руках. Очень часто когда это молоток, то вокруг всё кажется гвоздями. Но вину за неправильное использование я в первую очередь полагаю на инструменты сами по себе. Хороший инструмент помогает, подсказывает, тыкает "вот тут неправильно делаешь" и обучает пользователя. Плохой—кидает в океан из segfaultов. Простейший пример—в RoR логируется каждый HTTP-запрос: метод, параметры, сколько времени заняло выполнение, какие SQL запросы были сделаны, сколько ушло на базу, на рендеринг и так далее. Всё это разработчик видит сразу же в консоли. А в Spring Boot вы не увидите ничего. Надо заморачиваться и настраивать правильное логирование, но в итоге оно все равно будет хуже чем в RoR. Кто из двух разработчиков будет эффективнее? Тот, кому инструмент помогает, или тот, кто неосилил прочитать доку и настроить базовые вещи сам? Когда что-то будет тормозить то первый сразу увидит проблему в логах, а второй может и неосилить! И тогда мы будем в чатах и форумах козлить его "RTFM, нуб", хотя на самом деле человек не виноват. Виноват инструмент. ### Оверинжиниринг на пустом месте. DynamoDB, Kinesis, Spark, бигдата. URL: https://www.rozhkov.me/stupid-overengineering/ Last updated: 2021-07-19T13:17:53.000Z Ранее я [рассказывал](https://www.rozhkov.me/startup-swamp/) про то как можно бросить стартап в болото, занявшись построением совершенно ненужных архитектур. Сегодня расскажу и еще одном таком безумстве. У нас была задача — рассылать пользователям напоминания о событиях. Человек приходил на сайт, регистрировался, выбирал временной слот. За день до события нужно было ему присылать письмо-напоминание. Вот такая простая задача. Шёл 2015 год. Что мы делаем? Ну, база данных у нас DynamoDB. Схему тогда спроектировали таким образом, что нельзя было просто так получить информацию о временных слотах одним запросом. Я уже не помню, почему не сделали нормальную схему но тогда это был не вариант. Так же, по причине которую я не помню, мы не использовали GSI, хотя они были у нас в других таблицах. Решили сделать ход конём — стрим изменений таблицы мы подписали на Kinesis, и сделали процессор, который брал события из стрима, смотрел на таймслот и писал эту информацию в виде json-файла на S3 в папку, соответствующую дате события. Таким образом, по мере создания события у нас на S3 появлялись соответствующие записи. Если пользователь отменял — то запись мы естественно удаляли. Итак, у нас была Dynamo таблица, стрим с таблицы, Kinesis и S3 с JSON-файлами партицированными (разоложенными) по папочкам. Оставался один вопрос — как именно теперь доставать нужные файлы и получать собственно емейлы пользователей. На сцену выходит бигдата! Я взял Spark — ведь он умеет читать JSON и даже делать SQL-запросы поверх него! Я могу просто указать спарку нужный S3 бакет и сказать `select name, email from bookings where date = "...."` после чего дернуть другой микросервис чтобы тот послал письма. Так и сделал, и самое удивительное, что это заработало! Но была проблема: спарк нужно было запускать каким-то образом по расписанию. AWS тогда еще не изобрел cron, кубернетиса у нас не было, поэтому кто-то нашел скедулер, который запускал джобы на ECS. На вход он принимал JSON дефиниции джобы, можно было указывать крон и по этому крону он запускал контейнеры. Вроде все круто! Но нашлась одна неприятность. Дело в том, что тогда Spark не так-то просто подружить с S3\. Из коробки это не работало, нужно было собирать свой дистрибутив спарка с нужными библиотеками от AWS. Эту ценную информацию я почерпнул из статьи в блоге Grammarly, которую сейчас уже даже не смог нагуглить. В итоге я форкаю спарк, добавляю свои зависимости, делаю на это CI/CD. Делаю CI/CD на скедулер, на джоб дефинишены, пишу на это всё CFN-шаблоны, разворачиваю это на дев и qa короче как-то оно начинает работать, фух. На всё про всё я потратил наверное месяц времени? Может меньше, дело было давно, уже не помню. Сейчас бы я сделал эту задачу за час. Таблица в постгресе и крон-джоба которая пробегается и рассылает что надо. Вместо этого мы сделали крутой пайплайн из динамо который пишет в кинезис который пишет в s3 который читает спарк который запускается по крону с помощью скала-поделки развернутой на двух машинах. И это я еще не рассказал про микросервисы. Целый сука космолёт вместо одного SQL-запроса! Тогда это казалось очень весёлым и интересным, но щас я ловлю лютый кринж от воспоминаний. До продакшена это так и не доехало и всю эту систему выбросили через пол-года. "Бигдата" крутится—лавеха мутится. ### Настольные игры URL: https://www.rozhkov.me/table-top-games-useless/ Last updated: 2021-07-08T06:00:00.000Z Встречался недавно с коллегами в кабачке, культурно выпивали. Говорили о всяком разном, в том числе задели настолки, типа а не собраться ли нам и не поиграть в ужас аркхэма. В детстве я очень-очень любил настольные игры. И классические шахматы, и что-то более современное. Я даже придумывал свои—рисовал карты, делал фигурки, придумывал правила. Всё это было от отсутствия компьютера. Появился компьютер—интерес к картону пропал. Сейчас у меня изменилось отношение к настолкам. В любой игре есть два элемента—соревновательный и социальный. С одной стороны люди соревнуются в умении думать, а с другой—через игру взаимодействуют друг с другом. Люди играют в игры в компаниях как раз ради второго аспекта—социального. Игра в данном случае выступает поводом для общения и социальной смазкой, вроде алкоголя. В настольные игры могут играть незнакомые или малознакомые люди, таким образом обретая связь, которая потом позволит легче социализироваться вне игры. Если в компании попадется настолко-котлета, которая хорошо знает правила и будет всех нагибать, то вряд ли это понравится людям—никто не любит играть с неравным соперником потому что это неинтересно. Если же содрать с игр шелуху сеттинга, реквизита и правил, то получится что мы имеем дело с таблицами в экселе и вероятностями. Какую бы игру не взять, если только это не условный имаджинариум, то всё превращается в эксель. Но раз задачей игры является социализиация, то получается что мы как бы притворяемся что играем, на самом деле преследуя другие цели—пообщаться. Возникает вопрос, зачем это делать, если можно просто поговорить без игр? Ответ—потому что интроверты и другие категории лиц не могут просто взять и поговорить, им нужен повод. Мне повод не нужен, и я перестал любить настолки, после того как понял их суть. Поэтому мне неинтересны игры, и особенно неинтересны замороченные со сложными правилами. Потому что правила можно автоматизировать и отдать компьютеру вместо того чтобы напрягать мозг и внимание и всё запоминать или постоянно читать рулбук. Ну а стоять за столом с модельками и таблицами, притворяясь как космодесант набигает на косомоорков и считать рулеткой расстояние выстрела это уже максимальный аутизм. Сейчас я говорю про настольные игры с детерминированными правилами, которые предполагают только некий выбор игрока, но не творческие, типа крокодилов и имаджинариумов. А какие ваши любимые настолочки? Знаю что среди ІТ-специалистов много любителей. Расскажите в комментариях! P.S.: еще в игры играют когда нужно потратить время, например в поезде в карты или на базаре в нарды пока покупателей нет. Но смартфоны отлично решили эту проблему, как и проблему необходимости общаться с попутчиками. ### Веганство как религия URL: https://www.rozhkov.me/daily/veganism-is-religion/ Last updated: 2021-07-07T05:30:00.000Z Некоторое время назад я с женой ездил в "веган-тур". Киевская организация веганов щас делает туры по градам и весям. Суть такая: приезжает группа заряженных людей и проводит акции: показ съемок с ферм в VR-очках, лекция про веганство, фильм Domination, дегустация специальной веган-хавки, акция "открой глаза" где люди стоят на площади с мониторами на которых крутят видосы с ферм. Задача тура—просвещать темное население, агитировать за отказ потребления продуктов животного происхождения, набирать сторонников в свои ряды. У меня есть хороший бэкграунд в религиозной организации—примерно три года я волонтёрил в протестантской церкви и можно сказать что знаю как кухня работает изнутри. Так вот, во время этого "тура" я словил флешбеки со старых времён. Там тоже есть такое понятие как "уличная евангелизация", это когда к вам подходят люди и предлагают поговорить о христианстве, тоже есть разнообразные акции, тоже есть "лекции" в виде проповедей на сцене, и даже угощения неофитов, чтобы привлечь внимание. Задача та же—"продать" людям свою идеологию и заполучить их в своих ряды: "...идите за Мною, и Я сделаю вас ловцами человеков". Всё один в один. Дальше я вспомнил книжку Homo Sapiens и задумался о том что веганство базируется на вере в права животных. У этой веры нет нормально рационального обоснования, и хотя Бородач бы сюда подогнал [исследования о вреде мяса](https://magicpill.link/), но это не основная аргументация веганов. Как христианство зиждется на вере в Иисуса, так и веганство зиждется на вере в права животных. Соответственно веганство является ничем иным как современной религией, в одном ряду с [энвайронментализмом](https://en.wikipedia.org/wiki/Environmentalism) и другими движухами. А раз и то и то—религия, значит надо брать соответствующие методики на вооружение. Я рискнул поделиться этой мыслью с участниками веган-тура, но меня, к сожалению совершенно не поняли и вежливо попросили остановиться. Ну что ж, ребят впереди ждет увлекательный путь построения полноценной секты, если не сдуются ранее. ### Working class hero URL: https://www.rozhkov.me/working-class-hero/ Last updated: 2022-08-05T11:57:29.000Z Їхав якось із знайомою пані, балакали про роботу. Вона вчилась у поліграфічному училищі та працювала у поліграфіях. Я зацікавився чим саме вона займалась, вважаючи що це була верстка в спеціальних програмах, але все виявилося банальнішим—потрібно було працювати за архаїчними станками і хутко перекладати аркуші з одного місця у інше. Збирати календарики і таке інше. Ця справа не дуже інтелектуальна. Людина перетворюється у біоробота і робить руками те, що могло бути зроблено за допомогою сучасних технологій. Я запитав, чи не зірвало у неї дах від такої діяльності, на що вона відповіла—„звичайно зірвало, 12 годин одне й те саме робиш”. Власне тому вона вже не працює, натомість отримує ренту з двох успадкованих квартир, а вільний час присвячує сну та котикам. Корінна киянка-аристократка, вчіться. Ця коротка розмова нагадала мені про існування величезного прошарку людей, які займаються абсолютно тупою, нетворчою роботою, що вимагає постійного напруження та уваги. Оператори різноманітних машин на виробництвах, працівники на конвейерах, касири, вантажники, водії. Всіх цих людей об'єднує те що вони не можуть оптимізувати або автоматизувати свою роботу. Касир не може запрограмувати замість себе робокасу. Оператор станка не може зробити новий станок, який не буде вимагати уваги людей. Водій не може зробити автопілот, який буде їздити замість нього. Вантажник не може зробити робосклад. Тому ці люди вимушені повторювати беззмістовні та однакові дії з ранку до ночі. В цьому є жахлива несправедливість, але ми не будемо занурюватися у ліву філософію. Хтось з ентерпрайз сектору зараз може поскаржитися що йому теж доводиться кодувати процеси що повторюються. Але принаймні розробник володіє автоматизацією та може удосконалювати власні інструменти. Можна написати фреймворк для форм, можна поговорити з бізнес-аналітиком на предмет адекватності вимог, можна передати роботу джуну, можна врешті-решт змінити роботу! У програміста завжди є можливість застосувати творчє начало і зробити навіть найнуднішу роботу ненудною. Тому благословенний той хто зайнятий хоча б на мінімально творчій роботі. І особливо благословенний програміст, який може робити інструменти під свої потреби та автоматизувати свою роботу. ### Боже, джаву храни! URL: https://www.rozhkov.me/god-save-the-java/ Last updated: 2021-06-25T06:00:00.000Z Не так давно я писал об [нарушении обратной совместимости](https://www.rozhkov.me/developers-sins-backward-incompatibility/) как главном грехе разработчика. У меня есть несколько Ruby приложений которые уже давно живут в продакшене. Версия ruby, которую я использовал, 2.5, перестала поддерживаться, и всех попросили переехать на 2.7\. Однако сделать это было не так просто. Бампнув версию и попытавшись запустить я получил кучу ошибок. Я отложил это дело до лучших дней и недавно в приступе прокрастинации все-таки пофиксил что там ругалось и завел их на новой версии. Но, это был бамп минорной версии. То ли дело Java. Обновив библиотеку Sentry на одном з проектов после деплоя я увидел что она по какой-то причине не захотела заводиться на 8-ой JRE, хотя в доках написано что 8-ая джава поддерживается. Как-то так получилось что разрабатывал я на 11 (с 1.8 source compatibility), а в продакшн заливал докер имедж собранный с 8\. Не спрашивайте как, сам удивился. Так вот, локально все работало, а на проде сломалось. Я решил обновить джаву на проде до 11\. Но оказалось, что openjdk не собирают alpine имеджей для 11 джавы. [Их вообще почти ни для чего не собирают](https://github.com/docker-library/openjdk/issues/440). Зато для 17-ой alpine-имедж был. Ну я и взял его, чисто наудачу. При том что 17-ая версия еще официально не вышла, а [sdkman](https://sdkman.io/) не содержит даже бинарников 17-ой. Переключил CI и сборку на 17, тесты пробежали, имедж собрался, я его задеплоил—вуаля—всё работает! Это при том что я прыгнул с 8-ой версии (которой уже 7 лет) на 17-ю (которая еще даже официально не вышла) и абсолютно ничего не менял в кодобазе. Вот чему у JVM стоит поучиться, так это поддержке обратной совместимости. Приложение у меня Spring Boot рест сервис. А как у вас обстоят дела с обновлением рантаймов? ### Кассовый разрыв URL: https://www.rozhkov.me/cash-gap/ Last updated: 2021-06-23T06:00:00.000Z В определении слова "бизнес" написано что это деятельность, целью которой является получение прибыли. Пока работаешь за зарплату, то этот факт воспринимается оторванно от реальности. Если ты заболел, плохо работал, встрял в неудачный проект, залипал, то в худшем случае босс пожурит тебя или погрозит пальчиком. Независимо от результата работы денежка все равно капнет на счет. Совсем другое дело если ты успешный кабанчик-предприниматель или молча гребешь в одиночку. Тут любая деятельность должна приносить деньги иначе швах. Заболел — минус деньги. Залипал в соцсети — минус деньги. Пошел в обед прогуляться выпить чаю — минус деньги. Я конечно говорю о ремесленничестве, когда есть [прямая связь между жопочасами и заработком](https://www.rozhkov.me/time-is-money/). Любая работа должна быть оплачена, иначе это работа себе в минус. Хочешь порефакторить проект потому что накопился техдолг, но не смог продать это клиенту? Или думай как продать, или продолжай копить техдолг, или работай в минус. Но сделать работу мало. Нужно еще получить свои деньги. Пока деньги не пришли в банк—задача не закончена. Кассовый разрыв возникает когда работа уже вроде как сдана, а бабос еще не получен. В случае ритейлеров всяких и прочих овощебаз такое регулируется контрактами, например ты можешь поставить в АТБ тонну помидор, но заплатят тебе аж через 2 месяца, а ты уже должен государству ПДВ за эту продажу. В разработке всё не так жёстко, обычно в контракте указана цифра NET 20, это значит что клиент обязуется заплатить вам в течение 20 рабочих дней после приёма работы. Когда у нас с партнёрами была шлюпка, то мы позволяли себе создавать неприлично длинные кассовые разрывы — по несколько месяцев, а потом и того больше. Почему так происходило? Причин две. Первая — у нас была очень хорошая финансовая подушка. Со своей зарплаты на фуллтайме я мог обеспечивать почти всю контору. Вторая — как-то так получалось, что деятельность, которую мы разводили, не всегда в результате приносила лаве. Вместо того, чтобы фокусироваться на извлечении максимальной прибыли минимальными усилиями, пушить клиента чтобы сразу же платил деньги мы жили в довольно расслабленном режиме, за что потом и поплатились — клиент стал неприбыльным, людей держать не было возможности, новых продаж не делали. Зафиксировали убытки и разбежались. Есть мнение что пока человек живет в зоне комфорта, получает зарплату, то ему сложно ворваться в свое дело, потому что нету стимула действительно фокусироваться на успехе. Могу сказать что это точно про меня. Как только кошелёк начал показывать дно, я засуетился и начал работать над тем чтобы кассовые разрывы сокращать. В этом месяце мы получили деньги за проект, сделанный еще в прошлом октябре. У меня есть практически готовый пет проект и один клиент готовый платить, но я никак не могу прикрутить админку и платежи. Потому что в зоне комфорта. Раньше я работал постоянно над какими-то небольшими задачами—поправить баг, сделать маленькую фичу. Имея основной приток денег с парттайм работы, я не особо беспокоился об своевременном выставлении счетов и позволял работать 2 месяца грубо говоря бесплатно, получая деньги с сильной задержкой. Сейчас я изменил подход. Сделал задачу—тут же занес в список и пушу клиента чтобы оплачивал счет. Разрыв потихоньку сокращается. Любая деятельность должна быть навправлена на получение прибыли. Иначе это не бизнес а благотворительность. ### Чипировался URL: https://www.rozhkov.me/daily/vaccinated/ Last updated: 2021-06-19T12:28:00.000Z Наконец-то дошли руки ноги до вакцинации. В очередь я записался еще в феврале, когда объявили о начале массововой вакцинации, но благодаря министру и министерству здравоохранения, которые вакцинировали по 100 людей в день, надежд получить вакцину в этом году у меня не было. Тем не менее, кому-то в голову пришла светлая идея открыть пункт массовой вакцинации где поставить себе чип может каждый желающий. По какой-то невероятной причине этот проект совершенно никак не маркетируется и я бы о нём вообще не узнал если бы об этом мне случайно не рассказал Виктор Черниявский. Месяц я тянул быка за шарики и всё думал надо оно мне или нет. С одной стороны очково сидеть с неприкрытой жопой, с другой — непонятно насколько хорош китайский шмурдяк Sinovac/Coronavac, который там предлагают. Конечно хотелось бы поставить моднейший чип от Pfizer, но я реалистично смотрю на ситуацию. В итоге вчера я всё-таки решился. Приехал в МВЦ под закрытие, меня уже хотели развернуть, но я вписался за какой-то девочкой, которая заходила в здание передо мной. Заполнил анкетку с данными, немного подождал пока практикантки из медвузов перебьют инфу в компьютер и бортовой журнал, получил чип, посидел полчасика и свалил в закат. 5G пока что не ловит, только 4G. 5G обещают после второй дозы. Вторую дозу нужно будет получать уже не в МВЦ, а больнице на Троещине, предварительно туда позвонив. На пункте чипизации выдают бумажку с номером телефона, датой и адресом. Самочуствие хорошее, ничего не болит. Жду сигналов от компартии. Зачем чипироваться? Ну, профитов от чипа больше чем потенциальных негативных эффектов. Пишут что даже китайский чип после второй вакцинации крайне эффективен против сложных и средних форм короны. Пруфов у меня конечно же никаких не будет. Для тех кто еще сомневается, рекомендую посмотреть [вот этот видос Максима Каца](https://www.youtube.com/watch?v=ykwe9SrL8RA). Судя по всему ребята в России, даже несмотря на наличие халявного и довольно эффективного Спутника, прошляпили свои шансы и решили бороться с помощью herd immunity. Результат мы с вами [можем наблюдать прямо сейчас](https://meduza.io/feature/2021/06/19/rasskazyvaem-vse-chto-izvestno-uchenym-o-variante-delta-iz-za-kotorogo-rossiya-perezhivaet-nebyvaluyu-vspyshku-kovida). **Инструкция по вакцинации** 1. МВЦ работает на выходных. На следующей неделе будет работать в четвер и пятницу, но это не точно. Где взять инфу о часах работы я так и не понял, ищите в интернете. 2. Взять паспорт. В интернете пишут что нужно так же чтобы вы были записаны на вакцинацию через Дія, но у меня её не просили. Декларацию с врачом тоже не просили. Записаться можно еще и через сайт helsi.me но я не записывался предварительно. Киевская прописка не нужна. 3. Прийти в МВЦ вход 4А, вы увидите табличку "вакцинация" и очередь из людей скорее всего. Если не увидите, спросите у прохожих. Подымаетесь на четвертый этаж. Лучше приходить после обеда, меньше людей. 4. Дожидаетесь очереди, проходите на пункт, заполняете бумажки, получаете укол. Сидите полчаса в зале, идёте домой. 5. Через 4 недели звоните по номеру который вам дадут и идёте на вторую вакцину. ### Как оверсинкинг и перфекционизм мешают мне заканчивать проекты URL: https://www.rozhkov.me/how-overthinking-and-perfectionism-blocks-project-completion/ Last updated: 2021-06-18T09:22:48.000Z [Перфекционизм](https://teletype.in/@uxlive/overthinking)—ближайший друг прокрастинации. Я часто страдаю желанием сделать все "как надо", но неожиданные препяствия, возникающие на этапе делания как надо а не как попало часто тормозят работу, убивают мотивацию и приводят к затягиванию сроков и перерасходу бюджета. Рассмотрим мой недавний микропроект с ClickHouse. Задача была довольно простая—взять данные из одного места и положить в другое. Всё. Что может быть проще? После завершения PoC клиент дал добро на продакшн-реализацию и я пошёл копать. Началось всё с базы. Я же девопс, поэтому негоже создавать ресурсы вручную. Все должно разворачиваться с помощью [терраформа](https://www.terraform.io/). В качестве managed решения для ClickHouse было выбрано облако Яндекса. В этот момент я вспомнил, что нужно делать синхронизацию через очередь, потому что может быть такое что сервер перезапустится, умрет, получит таймаут. Все должно быть надежно, поэтому давайте вначале запушим в очередь сообщение с нужным нам объектом, а воркеры будут обрабатывать эту очередь и писать данные. Если вдруг случится таймаут, то сообщение останется на месте и будет обработано позже. Никто не забыт, ничто не забыто. Яндекс предоставляет свой SQS-совместимый сервис для очередей. Я подумал—раз мы уже делаем кусочек инфры в Яндексе, то может и очередь туда засунем? Сказано-сделано, давай изучать как сконфигурировать очередь через терраформ. Вроде там всё просто, давай делать. Но тут возникает проблема—[состояние](https://www.terraform.io/docs/glossary.html#state) терраформа надо где-то хранить! На своих других проектах для этого я использовал S3, но тут получается как-то тупо—стейт на S3 а облако в другом месте. У Яндекса ведь есть свой S3! Может быть там развернуть? Я застрял на этой мысли. В итоге попрокрастинировав, я решил для стейта взять [terraform cloud](https://www.terraform.io/cloud). Зарегался там, всё как положено. Пошел писать очереди. Вроде написал вроде все ок—делаю apply—а не работает! Еще несколько часов трачу на выяснение что не так с моей конфигурацией, ищу примеры в интернете. Ничего не помогает, забиваю и ложусь спать. Перед сном приходит идея—а может ну его, очередь в яндексе? Ведь у меня в приложении *уже есть* обработка других вещей через AWS SQS и она отлично работает. Потом, для интеграции используется Spring Boot Cloud который позволяет сделать чтение SQS одной аннотацией. Если я хочу делать яндексовую очередь—хоть она и SQS-совместима, надо будет как-то по-другому передавать ключи. Учитывая проблемы с разворачиванием очереди на яндексе через терраформ лучше просто завести еще одну очередь на амазоне и не парить себе мозг. Следующим утром я быстро добавил еще одну очередь, скопипастил код который делает обработку, растыкал её по нужным местам и был таков. Ах да, все же начиналось с ClickHouse. Его я без проблем развернул через терраформ. В итоге задача съела в 3 раза больше временного бюджета чем я думал и на неделю затянула релиз. А все потому что я тупил как же мне сохранять стейт, как же мне делать очередь и стремился делать "по-правильному" вместо того чтобы пойти проторенным путём. Вручную это все конфигурится буквально за минуту. Это один маленький пример, как ловко я умею затягивать проекты. Выбирать технологии, возиться с какой-то ерундой, вместо того чтобы просто взять и сделать. В конце-концов можно было даже без терраформа обойтись и поднять все вручную и уйти в закат. Но это не наш путь. ### ClickHouse. Нюансы URL: https://www.rozhkov.me/clickhouse-nuances/ Last updated: 2021-06-16T09:14:42.000Z Вообще это очень трендовая база. На хайлоад++ и других конференциях вы можете посмотреть множество докладов посвященных ClickHouse. На хабре куча статей. [Материалов очень много](https://github.com/ClickHouse/clickhouse-presentations). Вся эта движуха прошла мимо меня потому что я предпочитаю использовать проверенные инструменты до последнего. Ну и хайлоад++ не посещаю. После PoC я прикинул, что нужно сделать для синхронизации основного хранилища в ClickHouse, и приступил к доработке продакшн-решения. Неожиданность подстерегала меня в самом начале. Сущности которые хранятся у меня в основной таблице могут меняться. Соответственно, мне нужно было обновлять их и в ClickHouse. Первая задача—растыкать везде, где меняется эта сущность, вызов синхронизации. Вторая—собственно обновлять данные. Оказалось, что ClickHouse очень хорошо умеет записывать данные. Но не очень хорошо умеет [изменять](https://clickhouse.tech/docs/en/sql-reference/statements/alter/update/) и [удалять](https://clickhouse.tech/docs/en/sql-reference/statements/alter/delete/) 😅. Пришлось засесть за документацию и разобраться как это работает. Оказывается для каждой таблицы можно выбирать свой "движок", они есть разные и для каждой задачи можно подобрать самый подходящий вариант. Конкретно для дедупликации данных есть [ReplacingMergeTree](https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replacingmergetree/), это структура которая в фоне удаляет записи с одинаковым первичным ключом. То есть вы просто два раза инсертите одну и ту же запись и когда таблица будет оптимизироваться, то она уберет старые записи. Проблема в том, что непонятно когда это произойдет, а это значит, что в отчетах могут выводиться неверные данные. Для того чтобы попросить ClickHouse брать во внимание только нужные строки, используется ключевое слово `final`. Естественно это замедляет выполнение запросов, потому что базе нужно на ходу выбросить из результата все лишнее. Пока что все работает достаточно быстро, посмотрим как оно будет дальше. Данных у меня не терабайты, поэтому думаю что все будет ок. Вторая штука была уже приятной неожиданностью—ClickHouse [умеет на ходу проксировать запросы](https://clickhouse.tech/docs/en/engines/table-engines/integrations/) к куче источников данных, в том числе `mysql`. То есть ему можно сказать: сделай мне таблицу из вот этого конекшена к `mysql`. Таким образом, для части таблиц с небольшим объемом (десятки тысяч строк) мне не нужно было писать код синхронизации а достаточно просто запроксировать. Не знаю как это работает внутри, для т.н. "словарей" там точно есть кеш, а вот такие запросы будут ходить скорее всего каждый раз напрямую. Посмотрим как оно будет. Третий прикол это типа OOM на запросах. Если ваш запрос по какой-то причине возвращает слишком много данных, то сервер может поднять лапки и сказать "сорян на этот запрос памяти нет". Такая ошибка вываливалась в стандартном просмотре таблицы Metabase потому что он делает `select * from table`, а если данных много и сервер слишком мал, то запрос просто не выполнится. Нужно или делать группировки или ограничивать колонки. Несмотря на кажущуюся простоту решения, я превысил изначальный временной бюджет в два с хвостиком раза. Будет мне наука. Решение работает в продакшене пару недель, пока все ок. Будем смотреть. ClickHouse мне очень понравился, я уже вижу еще несколько мест куда его можно применить. Очень легковесная и быстрая штука. Советую попробовать всем. ### Когда олимпиадники могут. ClickHouse URL: https://www.rozhkov.me/clickhouse-is-fast/ Last updated: 2021-06-14T12:30:46.000Z На одном из самых старых проектов которые я разрабатываю начала тупить отчетность. Как только я поставил клиенту BI (напоминаю, это было [самое быстрое и самое эффективное](https://www.rozhkov.me/metabase/) решение задачи которое я когда-либо делал), то аналитики сразу начали городить кучу дашбордов и отчетов. В основном все работало бодро, но некоторые запросы изрядно тупили. Проблему довольно долго удавалось игнорировать, но в какой-то момент данных стало уж слишком много чтобы ими мог ворочать маленький MySQL сервер (4Гб памяти). Основную трудность составляли группировки по low cardinality колонкам. Представьте что у вас есть таблица с событиями где есть куча полей одно из которых может иметь всего три значения. Если вы хотите группировать выборку по этому полю, но кроме того еще и по куче других полей, то база не может подобрать подходящий индекс, берет какой попало и если данных достаточно много, то все это превращается в full scan. В моем случае на таблице из всего лишь 6M записей такие запросы становились просто неподъемными. Внимательный читатель с навыками DBA предложил бы сделать композитные индексы, но мне пришлось бы делать их 20 штук, потому что кроме low-cardinality поля есть еще и другие по которым тоже нужно делать фильтрацию. Сложность вращения OLAP кубов это известная проблема RDBMS и не решается она в общем случае никак. Даже банальный `select count(*) from table` со временем начнет тупить на смехотворных 10M записей. Вам надо или делать дополнительные таблицы, или грузить всю таблицу в память, то есть добавлять железа, или ограничивать выборку по первичному ключу или еще как-то изощряться. Железо я в силу разных причин добавить сейчас не могу, костыли в виде дополнительных таблиц уже есть, городить что-то еще не хотелось. В этот момент кто-то вспомнил про ClickHouse. То ли я, то ли аналитики клиента, уже не помню. Договорились сделать PoC. Подняли самый простой сервер, я сделал экспорт данных из mysql в csv и вгрузил в ClickHouse чтобы понять как оно вообще будет работать. Первым моим удивлением была скорость вгруза. 3M записей заехали буквально за несколько секунд. Я вначале даже подумал что не нажал где-то кнопку, и пошел перепроверять. Однако все данные были на месте. Вторым удивлением оказалась скорость выборок. Запросы которые mysql не мог переварить, отрабатывали *за доли секунд*. Оно конечно логично, ведь это колоночная база сделанная как раз для группировок по куче колонок, но такой скорости на сервере с 2 Гб памяти я не ожидал. Третье—полная поддержка SQL синтаксиса. Нам практически не понадобилось переписывать запросы дашбордов, просто поменяли датасорс в Metabase и всё заработало. Очень круто когда решение интегрировано со всем с чем можно. Главная идея ClickHouse—высокая скорость работы на гигантских объемах данных. Логично, если в Яндексе приходится ворочать петабайтами, то мои смешные десятки гигабайт будут работать очень быстро. Недавно я писал пост [про олимпиадные задачи, алгоритмы и зачем они нужны](https://www.rozhkov.me/when-need-to-know-leetcode/). Вот результат, пожалуйста. Сам ClickHouse достигает такой скорости за счет хитрых структур данных и многочисленных оптимизаций. Конечно же не все прошло так гладко как я стелю. Об этом в следующей части. Используете ClickHouse? Делитесь своим опытом в комментах! 👇 ### Аутсорс нация URL: https://www.rozhkov.me/outsource-nation/ Last updated: 2021-06-11T13:20:07.000Z Среди разработчиков распостранено мнение, что не имеет значения на какую компанию работать: продуктовую, сервисную, аутстафф, стартап, не-ІТ. Лишь бы платили денег и желательно побольше. Согласно [опросу ДОУ](https://dou.ua/lenta/articles/portrait-2020/?from=doufp), 65% разработчиков заняты в аутсорсе, остальные—в продукте и стартапах. Рискну предположить, что в "настоящем" продукте работает гораздо меньше 35%—под "настоящим" я понимаю компанию которая была создана у нас и содержит основную часть рабочей силы у нас. Потому что я например тоже работаю в продукте, но заказчик зарубежный. Добавочная стоимость и все деньги остаются за рубежом, я получаю только свой рейт. Опять же, можно спорить о том, что такое настоящий "отечественный" продукт, например Grammarly это настоящий продукт если все деньги остаются в Делавере, а сюда приходит только зп людям? В чем разница между кучкой фопов работающих по ВЭД напрямую на британский стартап и теми же фопами которые работают на Grammarly? Вопрос. Чем плох аутсорс? Ведь благодаря аутсорсу отрасль растет каждый год, зарплаты растут, открываются новые компании и все хорошо. Я считаю что аутсорс плох тем же, чем плоха работа наёмным батраком—прибыль прямо завязана на затраты времени а вся добавочная стоимость уходит клиенту. Как только гребцы уходят домой из "коворкинга"—печатный станок останавливается и компания перестает получать деньги. Утром—запускается обратно. В то же время, когда все инженеры Grammarly пошли спать, люди продолжают оформлять подписки и пользоваться сервисом. Конечно, за этой денежной машинкой нужно смотреть, держать её на плаву и так далее, без труда не вытащишь и доллар у лоха, но добавочная прибыль на каждого инженера Grammarly просто несоизмерима с добавочной прибылью которую генерит гребец Люксофта. Окей, предположим что аутсорс низкомаржинальный и малоприбыльный, но какая разница нам, инженерам, если деньги нам платят что там что там соизмеримые, и какая разница государству если что там что там заходит ровно денег на зарплату? Я считаю, что разница в культуре. Во-первых, у нас нет культуры выдачи сотрудникам акций и опционов. Оставим в стороне законодательный вопрос, но в принципе какие могут быть акции у аутсорс-шараги? Епам вышел на IPO, ребята оттуда вроде даже говорят что выдают акции и даже профит на этом есть. Но это единичные случаи. Массовой культуры нет и не будет, фаундеры не видят в этом смысла а люди вообще не понимают зачем оно надо. Лучше кеш. А вот на западе бонусы от акций могут легко составлять половину тотал компенсации. Во-вторых, как ни крути, даже если деньги заходят в страну по минимуму, условный успешный продукт делает хотя бы своих фаундеров богаче. Богаче ли коллег-по цеху—фаундеров аутсорс шараг—вопрос. Но чем больше в стране богатых людей, тем лучше для всех нас. Но это всё такие аргументы, ерундовые. Самый главный это в принципе отсутствие культуры продуктового мышления. Когда есть возможность срубить легкие деньги на апворках и аутсорсе на западных господ, то этот способ выбирается как основной, ты привязываешься ко времени и всё, приехали, мозг застревает в этой парадигме и фантазии вчерашнего гребца ограничиваются только желанием открыть еще одину аутсорс шарагу да выбить рейт повыше. По сумме факторов я считаю что лучше бы у нас было меньше аутсорса пусть и ценой меньших зарплат. На длинной дистанции это было бы выигрышнее для всех. А как вы считаете? Аутсорс нам друг или тормоз развития? _Includes the latest 500 public posts. Use `/sitemap.xml` for the complete archive of public content._