✙rozho)))k✙🇺🇦


Kanal geosi va tili: Ukraina, Ukraincha


Про автора: www.rozhkov.me/about
Про канал: www.rozhkov.me/about-full-of-hatred
Канал про все що не ІТ: @daily_rozhok
дірект: @xrozhokx
блог: rozhkov.me

Связанные каналы  |  Похожие каналы

Kanal geosi va tili
Ukraina, Ukraincha
Statistika
Postlar filtri


Вигоріла

Рік тому мені написала одна панянка яка десь натрапила на @Donate1024Bot з проханням допомогти зібрати гроші на авто та порадити де його краще придбати.

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

Деякий час тому знову звернулась зі збором на мільйон, і зазначила: «це мій останній збір, бо в мене через це почались проблеми зі здоров'ям, тому я надовго припиняю волонтерити».

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

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

В результаті як тільки з «мільйона» набирається якась вагома сума, вона відразу йде на оплату, бо навіщо чекати поки збереш всі 5 якщо ти не контрактуєш партію в одного виробника, а береш все в роздріб? От і сенсу немає в таких зборах, у тому випадку коли ти не маєш аудиторії, здатної надонатити все, наприклад, за тиждень.

Фронт втратив підтримку волонтерки, хоча вона могла спокійно далі закривати менші потреби.

Я обережно ставлюся до великих зборів і для мене теж щоразу це великий стрес. Звісно якщо не ставити собі амбітних цілей, то не буде зростання, але треба бути з собою чесним та розуміти, що марно повторювати одні й ті самі дії та сподіватися на різний результат. Коли в мене є тільки два канали дистрибуції — то 100 тисяч то моя межа, всьо, вище не стрибнеш. Я не можу сказати «пані та панове збираємо мільйон», розповсюдити це по старих каналах і очікувати що та сама аудиторія задонатить в десять разів більше.

Тому тут щось, там трішки, там ще, і ось за півтора року ви вже допомогли закрити потреб на ~два мільйони гривень. Not great, not terrible, але мене не попаяло, я не стресую, в адекваті, і не збираюсь зупинятись.

Вашими донатами❤️

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

P.P.S.: якраз днями дійшла черга до того збора на мільйон. Я його додавати — а профіль волонтерки у ФБ уже приватний, і телеграм акаунт з листуванням видалений🤷‍♂️

#війна
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Open source зубожіння

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

Хто мав колись справу з npm i пам'ятає рекламний банер який друкувався в термінал при встановленні core-js, розробник якого бідкався що немає грошей та роботи.

ElasticSearch плотно посмоктав Безосівського прутня, коли AWS просто додали у своє портфоліо хостед еластік. MongoDB втрапили в ту ж халепу, але раніше.

Того року компанія HashiCorp, яка робить такі продукти як Terraform, Vault, Vagrant та інші, змінила ліцензію з MPL на BSL, що викликало серйозну драму та форк від ком'юніті компаній які розробляють конкурента Terraform Cloud й ще одну драму.

Уже цього року Redis перейшов на Dual-License модель. Звісно вже зробили форк.

Всі ці зміни покликані захистити компанії-розробники опенсорсу від корпорацій-паразитів, які продають хостед-версії цих продуктів і не діляться ні прибутками, ні славою. Ліцензія BSL забороняє розробку «продуктів-конкурентів», подвійна ліцензія Redis забороняє продаж хостед редіса.

Очевидно, що permissive (дозвільна, хз), модель функціонування опенсорса не є сталою. Мегакорпорації не відсиплять тобі й копійчини хоч би скільки не заробляли, інші розробники теж не будуть платити за те що віддається просто так. Люди так-сяк тягнуть лямку отримуючи або нічого, або якісь копійки, а як тільки сіпаються обмежити інших, відразу знаходиться наступний лох який робить «вільний» форк.

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

Хтось намагається продавати консалтинг та преміум саппорт — що, очевидно, теж не є сталим, тому що все впирається в людино-години які ви можете продати, перетворюючи все на банальний аутсорс.

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

Інші ось приймають непопулярні рішення щодо зміни ліцензій, перетворюючи свої продукти з «open-source» на «source-available».

Решта так-сяк тягне лямку свого продукту паралельно з роботою в наймі поки не вигоряє.

Нормального виходу з ситуації, здається, немає.

Але серед пітьми зубожіння розробників деколи трапляються і промені надії. Кілька тижнів тому FFMpeg випустили нову мажорну версію, і на цій хвилі на HackerNews всі пости з FFMpeg отримують підвищену увагу. Розробник програми CompressX теж запітчив свій проєкт, який є фронтендом до FFMpeg, а коли його запитали «а шо ж ти віддаєш назад» то той відповів що 10% від прибутку за минулий місяць перерахував у фонд FFMpeg. Цікаво, чи буде він продовжувати це робити, але така практика була б дуже крутою.

#спостереження
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Вітаю пані та панове!

Щиро вдячний вам за донати😊

Зібрали 68 тисяч. Надлишок суми витратили на паливо і ще тисяча залишилась — піде на ремонт🫣 та фарбування.

Також ще є 50$ від пана Савки, які зайшли вже після проплати. Вони підуть або на старлінки або на FPV обладнання.

Ще раз дякую всім! Машинка вже у моїх кєнтів, приведуть її до ладу і буде їздити працювати😎


Привіт усім!

Хто не встиг задонатити на старлінки, може надолужати донатом на пікапа L200 (саме він на фото) для моїх файних друзів з особливих військ😏

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

Частину суми вже зібрали силами приватних донорів, залишилось прибизно 1600$.

Банка на мого товариша: https://send.monobank.ua/jar/9MDYEDfZBg

Якщо маєте можливість позолотити ручку на paypal, ось: xpunkerx@gmail.com

Принципові фани державних банків можуть закинути гроші на мій приват: 4627055113374002

Дякую всім за донати!🇺🇦


🤗Дякую всім!
Зібрано 24,117.99₴
Витрачено 21,706.93₴
Залишок 2,411.06₴ піде в оплату наступних періодів.

Ще раз дякую всім хто підтримав збір😊


Привіт всім! В мікроп'ятницю мікрозбір на абонплату п'яти старлінків для моїх друзів.

Загальна сума приблизно 21700₴

👉 https://send.monobank.ua/jar/Fdt69tNdE 👈

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

Збираю сьогодні плачу сьогодні, звітую as soon as possible. Всім дякую!🤝


Ретроспектива порад щодо боротьби зі свавіллям ТЦК

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

Про службу, посаду, задачі

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

Чи хватає фізухи

Так. Я місяць витратив на щоденні тренування — підтягування, відтискання, присідання і це однозначно мені допомогло не ригати потім. А по бігу так я взагалі виявився в п'ятірці лідерів. Ті підрозділи які набирають до себе напряму (3ОШБр, Азов, інші), зазвичай вказують який фізичний тест треба пройти, ви можете на нього орієнтуватись. Але зрештою, вирішує не стільки сила, скільки витривалість та воля.

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

👟Навчіться правильно бігати та купіть спеціальне взуття для бігу.

Поради самому собі до мобілізації

🤡Ретроспективно, я став жертвою sunk cost fallacy, змарнував дуже багато зусиль та часу. Порада самому собі — якщо бачиш що карта не йде, то нема шо сидіти за столом, встав і пішов, хоч би скільки ти грошей вже там залишив.

🤥Друга порада — не вірити обіцянкам людей. Нікому нема до тебе діла, навіть якщо раціонально здається що це win-win для всіх.

🪖Третя — не витрачати багато на дорогу снарягу. Гроші з останньої зп закінчуються дуже швидко, а я хоч і не шикував, але таки примудрився купити оверпрайснутих та зайвих речей.

🤑Четверта — не смітити грішми. Ситуація — в машину треба долити мастило, автослужба не дає, а треба їхати. Як людина що звикла вирішувати все грошима, я йду й купую те мастило, шо там тих 300 гривень. Так не треба робити. Доповідаєш нагору «командир, треба гроші на мастило, інакше не можемо поїхати», зняв з себе відповідальність, все. Ніби тих 300 грн то небагато, але то небагато коли ти маєш свої айтішні 5k$, а коли нічого ще не маєш то гаманець швидко тане.

З того що я писав раніше і що актуально досі

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

Про решту я писав у невеликому циклі:

🔹Практичні рекомендації щодо боротьби зі свавіллям ТЦК
🔹Практичні рекомендації щодо боротьби зі свавіллям ТЦК: працюємо проактивно
🔹Практичні рекомендації щодо боротьби зі свавіллям ТЦК: загальні поради

Все це актуально. Але водіння то найперше.

Про побут

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

Чи є вільний час

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

На цьому все

Вже досить багато айтівців мобілізувалося і на ДОУ є купа матеріалів про учєбку та службу, також з'явилося ще декілька підрозділів які набирають до себе, вивчайте, готуйтесь, вривайтесь!

#армія
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Звіт по збору на виносну антену Avenger

💰Всього зібрано: 86,693.94₴ 💪

✅Витрачено на комплект антена+кабелі+штатив+кріплення: 78,000.00₴

Я купував за кеш, тому дилер зробив знижку🤷‍♂️ і ціна виявилась значно меншою ніж я очікував.

Антена вже працює на фронті та допомагає наводити суєту😎

Решту витратили на:

✅14 антен на FPV дрони, по 200 грн за антенку (треба було швидко, тому купив у бариг а не на алі): 2,800.00₴ уважний читач помітить що на фото лише 13 антен, це тому що одна вже встановлена на дрон

✅Припой змивка та флюс для пайки FPV: 840.00₴

✅Болти, щоб кріпити мотори на FPV, бо китаєць не поклав правильної довжини: 60.00₴

✅Частково покрили ремонт корча в якого пропелер охолодження перебив трубку охолодження коробки: 3,500.00₴

✅Шайби, ключ та коробочка-органайзер для SD карт в епіцентрі: 159.02₴

✅Доставка зарядок до FPV батарей школі пілотів, на які збирав раніше: 180.00₴

💵Від збору на FPV ретранслятор залишалося 27.73₴, які я додав у цей збір.

Залишок: 1,182.65₴ піде або в наступний збір (рами та камери для FPV) або на дріб'язок який робить death by a thousand transactions гаманцю.

Щиро вдячний всім за донати!🇺🇦🇺🇦🇺🇦


Вітаю всіх!

Мої знайомі аеророзвідники звернулися за допомогою в покупці виносної антени. Їх Alientech (стандартний підсилювач, такий ви вже купували декілька разів для різних підрозділів) не витримав лихої долі, та крякнув у дуже відповідальний момент, терміново потрібна заміна.

Такі антени використовуються для того, щоб працювати з укриття, збільшити дальність польотів та покращити ребостійкість. Життя наших бійців + краща розвідка + збережені дрони — рецепт успіху.

Я вирішив взяти більш моцний та якісний варіант — Avenger AvengeAngel. Вона краще зібрана та потужніша за Alientech.
Все добре, кусається лише прайс: за комплект з антени, кабелів, штативу та кріплення потрібно відвалити ~83000₴😱

Вірю що спільними зусиллями вдасться зібрати цю суму.

Банка: https://send.monobank.ua/jar/7i2owh4VP
PayPal: xpunkerx@gmail.com
Приват: 4627055113374002

🇺🇦Дякую кожній і кожному за допомогу!🇺🇦


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Звіт по збору на ремонт волонтерського буса

💰Всього було зібрано 30 048.90 ₴
❤️🤝Дякую всім хто долучився!
🎥Відеозвіт додаю.


Прочитав «Фундація»/«Foundation»

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

Вибір впав на серіал «Foundation» від Apple. Подивився кілька серій, дай думаю книжку почитаю, адже вона була у мене в домашній бібліотеці, батько купив повну збірку Азімова ще не початку дев'яностих. Але я тоді читав тільки про роботів, а про Фундацію не читав. Не знаю чому. Вирішив надолужати.

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

Отож, у майбутньому вчений застосовує матан до поведінки великих людських мас та винаходить «психоісторію» — спосіб передбачити рух цих самих мас. Далі заганяє в комплюхтор наявні дані й комплюхтор видає результат — Галактична Імперія, найбільше суспільно-політичне утворення в Галактиці, незабаром розвалиться і настануть темні часи, війни, занепад технологій, та ролбек до примітивних суспільств.

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

Власне на картинці нижче абсолютно точно передана суть всієї епопеї.

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

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

Книжки цікаві та короткі. До прочитання рекомендую.

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

P.S.: на жаль, в українському перекладі немає двох приквелів, тому я їх не прочитав, та обмежився лише оригінальною трилогією та двома сиквелами.

#прочитав
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Go та дзен одного бінарника

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

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

Здоровенний проєкт поміщається в один файл. Тераформ, номад з консулом, пубернетис, you name it.

Звісно якщо проєкт великий, то і бінарник буде чималий.

Але здається, люди недооцінюють простоту дистрибуції.

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

Вчора шукав альтернативи системному крону і натрапив на популярне рішення написане на пітоні. Звісно в першому рядку how to install автор пропонує нам щось робити за допомогою virualenv🥴🤮. Дякую, не треба, я тільки того тижня вичистив 20 гігабайтів пітонячих віртуаленвів зі старих проєктів.

Такий підхід в ультимативній формі вироджується Docker, але у нього є проблеми з монтуванням файлових систем та мережі.

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

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

#інструменти
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot

3k 0 13 146 77

Обісрався з кроном

Час розваг! Місяць тому я рефакторив @Donate1024Bot, щоб прибрати node.js та npm з білдчейну.

Через кілька днів помітив що кнопки на інтерфейсі попердолило. З'ясувалося що кудись дівся CSS який відповідав за теми, і замість того щоб зафорсити світлу тему, воно вмикало системну, відповідно частину UI пердолило, бо вона не була заточна під темну. Замість того щоб розібратися, я накопіпастив css-варіаблів світлої теми в дефінішн темної. Ну типу

@media (prefers-color-scheme: dark) {
:root {
color-scheme: light;

Класно придумав, правда? Зробив так і забив.

На вихідних трохи мав часу, щоб нарешті замерджити фічу для сайту: список волонтерів, який зробила моя колега Олекса Лелека. Коли вже засів за мердж, давай думаю оновлю бібліотеку DaisyUI. Cкачав новий css, поклав у папку vendor, запустив, подивився, ніби майже нічого не зламалося. Посипалась пара елементів, але Олекса люб'язно підфіксила те що відпало та й по тому.

Далі пішов в адмінку, дивлюся, а там інпути не такі як мають бути. В DaisyUI вони з закругленими бордерами, а у мене — з прямокутними🤔 Знову прошу Олексу подивитися, каже що там чомусь не відпрацьовує потрібний CSS.

Починаю підозрювати, що ідея викинути ноду та збирати все тайлвіндівським бінарником не дуже спрацювала, бо є якісь бока. Деякий час дебажимо, але не знаходимо проблеми. Думаю що проблема таки точно у збірці, тому що 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 думаю може там вже шось придумали. І такі да! Розумні люди плюнули на бінарник 50-и річної давності та зробили drop-in replacement який працює з-під юзера і не вимахується.

Називається Supercronic. В інструкції вже готовий набір для докерфайла, бери й запускай. Зкопіпастив, задеплоїв, вуаля! Все працює. І логи і пише і їсти не просить.

Fin.

#робота
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Прочитав «Убік»/«Ubik» та «Чи мріють андроїди про електричних овець?»/«Do Androids Dream of Electric Sheep?»

Втомився від селф-хелпу та бізнес літератури, та вирішив надолужати лауреатів премій хуго, неб'юла.

«Убік»

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

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

«Чи мріють андроїди про електричних овець?»

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

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

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

Втім, до прочитання рекомендовано.

#прочитав
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


РТФ

У часи коли я вчився, мені було невідомо, чим займатимуться майбутні випускники інших факультетів. Здавалось, що тоді на радіотехнічний, авіаційний, приладобудівний, машинобудівний, зварювальний та інші, йшли ті, кому не вистачило балів, щоб потрапити на ФІОТ, прикладну математику, або ІПСА (не плутати з ІПСО).

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

Програмізм здавався мені безальтернативним квитком у щасливе безбарвне майбутнє. Я був абсолютно впевнений що ІТ буде тільки зростати, і нас ніколи не чіпатиме криза, тому що software ate the world, а решта — невдахи приречені рано чи пізно свічнутися в ІТ.

Аж ось, раптово, з'ясовується, що вся ця братія, яку вчили старенькі професори у лекторіях де протікає дах, дуже і дуже навіть потрібна.

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

Де ці всі люди, навчені за держваний кошт? Чи зайняті вони у реальному секторі, чи вже давно вивчили джаваскріпт та пішли у комфортні офіси пити лавандовий раф?

P.S.: до речі я вчився на конструктора комп'ютерів. Але замість піти працювати в Інтел або АМД, я теж нюхнув ентерпрайзної бебри й навіки залишився кодером, все як передбачав один з наших старих професорів.

#війна
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot

3.8k 1 31 159 96

Офіс простих рішень

Прокляття програміста — всюди бачити неефективність та мати ідеї та «прості» рішення щодо виправлення цих прикрих помилок реальності.

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

Dan Luu чудово описав це в статті «Cocktail party ideas» — коли купка програмістів збирається, та починає придумувати як вирішити неефективність світу, хоча насправді вони не усвідомлюють масштаб та складність проблем.

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

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

Мені для роботи конче були потрібні ресурси, але в ІТ була інша мотивація. Вони не отримували гроші або премії за те що видавали ресурси. Вони стояли на сторожі витрат компанії. Їх ідеальний стан — це коли взагалі нікому нічого не видано, а кожна заявка — це маленька битва, в якій треба було довести що кандидат достойний. Зрозуміло що власники фірми зробили це умисне, бо інакше споживання могло б бути недоцільним, та перевищувати реальні потреби. Але щоразу коли створюється така структура, то вона стає «вахтером», задачею якого вже не є забезпечення комфорту відвідувачів, а утримання власної посади.

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

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

Один зі способів змін — створити маленьку структуру за своїми правилами, та будувати інтеграції, що абстрагуватимуть її учасників від великої материнської структури. Стартап, досвід якого потім можна буде масштабувати.

Здається що саме це зараз відбувається з 3 ОШБр. Невеликий підрозділ, який довів свою ефективність, отримав ресурси для масштабування та екстраполює свій досвід на інших.

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

Тому в мене небагато очікувань від верхівки. Чи буде вона така, чи інша — без звитяжних людей, які здатні ефективно діяти, та мають волю до змін з низів, нічого не буде.

#армія #війна
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Від 0 до 1

Чим далі в ліс, тим менше залишається low hanging fruit — інновацій, які легко зробити. Невпинний технологічний розвиток залишає дедалі менше і менше простору для винаходів, відтак, більшості доводиться проходити не цікавий шлях від 0 до 1, а нудний та передбачуваний від 1 до ∞.

В мене з тим проблема. Коли усвідомлюєш, що задачу вже хтось робить, пропадає мотивація займатися нею. Наприклад, зараз багато команд намагаються застосувати AI/ML для донаведення дронів. В мене теж є трохи знань OpenCV та відповідних технологій, але усвідомлюючи, що тим вже хтось займається, не хочеться витрачати на то час. Ну типу точно є люди які сидять фуллтайм і щось там колупають, а що можу зробити я, коли в мене небагато вільного часу та ресурсів?

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

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

Десь рік назад мав елементарну ідею — допиляти аналізатор радіоспектра, щоб він видавав алерти при наближенні джерел випромінювання на визначених частотах. Детектор дронів. Я навіть сконтактував з людиною, яка мала напрацювання. Забив, бо мав оплачувану роботу, та й подумав що напевне вже точно хтось таке робить.

І дійсно робили! Drone Spices поставили на потік виготовлення таких детекторів, які зараз відомі як «Цукорки» ще влітку, але щоб його купити я стояв в черзі 2 місяці! Зараз там щось має покращитись, але уявіть — минув вже рік! Якби я не кинув той задум, то вже б точно мав схожий прилад..

Війна дає практично необмежений ринок, та створює постійний дефіцит технологічних засобів. Спробуйте замовити дрони, РЕБ, детектори — на все потрібно чекати, й не один тиждень.

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

Не забивайте на свої ідеї, навіть якщо здається що таке вже точно зробили.

#війна #ідеї
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot


Чмобіки у светрах

Оце підписався на канал «розвідка ворога» де публікують матеріали з ворожих пабліків, і зажурився.

Ще у 2014 я зрозумів, що технічна вища освіта не робить людину адекватною та розумною. Тоді один з розробників-росіян контори в якій я працював випустив апдейт внутрішньої тулзи куди додав колорадську стрічку та в реліз ноутсах написав «у той час, коли фашизм знову піднімає голову...». На початку великої війни крінжанув з одного відомого CTO, теж росіянина, який на той час був резидентом Естонії й написав щось типу «це геополітичні шахи, це все нато та америка винуваті», ну далі ви зрозуміли.

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

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

Попри загальний занепад, інженерна школа в росії така-сяка є, люди там розумні є, і ось вже вони якось намагаються закрити діри у зв'язку китайськими цифровими станціями, роблять РЕБи, аналізатори, збирають картонні та текстолітові дрони. Зробили навіть симулятор FPV-камікадзе, щоб краще тренувати своїх пілотів.

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

Шкода що так, але в нас варіантів нема. Маємо вистояти.

#війна
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot

4.1k 0 46 245 134

В середині грудня телефонує мені товариш з «Айдару», якому ми допомагаємо вже рік. Каже „наша волонтерка привезла цілий бус димових та запалювальних шашок, але не має можливості зараз їх відвезти до нас, бо бус зламався. З наших ніхто теж не має можливості їх забрати. Може вам треба?“

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

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

💸 PayPal: xpunkerx@gmail.com
💳 ПРИВАТ: 4627055113374002
🫙 БАНКА: https://send.monobank.ua/jar/7yVR1BqgAW

P.S.: по попереднім зборам запчастини ще йдуть з далекого Китаю.


frozen_string_literal: 🤡

Знадобилося тут попрограмувати трохи (поганий той штурмовик що забув як програмувати), поки прокрастинував та думав як краще організувати новий проєкт, дай думаю оновлю старий.

Ласкаво просимо до проклятого світу веброзробки!

Зробив 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, який Rails мені люб'язно пакує в проєктний CSS бандл.

Щоб не додавати ноду разом зі всім барахлом в тестовий імедж я вирішую піти шляхом, який треба було обрати з самого початку — завендорити той CSS. Добре що в гітхаб тікеті дворічної давності для бібліотеки tailwindcss-rails вже є рішення для конкретного 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 у мене кожен файл має бути засраний архаїчними конструкціями двадцятирічної давності які ще й користі принесуть близько нуля!

Видалив той коментар гарбедж колектору на зло.

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

Короче шляпа повна наше програмування.

#робота
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot

4k 1 9 36 109
20 ta oxirgi post ko‘rsatilgan.