Бьярне каже, що його нині трохи дратує, наскільки повільно рухається комітет стандартизації 💻. (Останній раз, коли він рахував, там було 527 членів 🤯). І якби він міг повернути минуле, то докладав би значно більше зусиль, щоб уникнути такої моделі управління й натомість розвивати мову групою в 6–7 людей. Водночас вважає, що шанси були примарні.
Ще пан Стауструп скаржиться на хаос, утворений сотнями різних налаштувань в сучасних компіляторах під різні платформи. Каже, що це теж через ISO, бо ті займаються стандартизацією мови, але не тулінга.
А ще відзначив, що Rust — не та мова, яка покладе край 💻.
(Хотів запитати його, як добре він знає C++ від 1 до 10 і які інші мови йому подобаються — шкода, що не встиг).
26.03.202510:17
Дослухав днями книжку «The Culture Map» (слухав англійською в Audible, але у «Нашого Формату» є переклад українською — «Культурна карта»). Раніше вже стикався з темою культурних барʼєрів, що можуть виникати при розширенні бізнесу на інші країни, коли читав книжку «No Rules Rules» про корпоративну культуру Netflix. Воно й не дивно, адже Ерін Меєр була їхньою консультанткою саме з цих питань, а потім власне стала соавторкою книги разом з нетфліксовським CEO.
Загалом отримав задоволення. Основна думка там полягає в тому, що ми (та й решта) як носії власної культури не надто звертаємо увагу на її особливості: для нас це норма, яку ми несвідомо намагаємося застосувати до будь-кого, з ким контактуємо. Але насправді всі геть різні 🙂
Ерін виокремила 8 основних аспектів, за якими порівнює різні культури: спілкування (наскільки багато інформації передається неявно «через контекст»), надання негативного відгуку (прямо чи непрямо), переконання (починаючи з деталей і до узагальнення чи навпаки від загальних концептів до прикладів), лідерство (егалітарне чи ієрархічне), прийняття рішень (зверху вниз чи консенсусне), довіра («за дії» чи через взаємини), вираження незгоди (з конфронтацією чи навпаки уникаючи її) і планування (з лінійним сприйняттям часу чи «гнучким» гг). Певен, що в українському перекладі якось краще все це назвали, ніж я щойно переклав.
Важливий момент, що давати оцінку для кожного з цих параметрів «у вакуумі» доволі без понту. Кажуть, нібито німці доволі прямолінійні, але я як українець не дуже це на собі відчуваю, бо ми теж не промах, а от японцю буде важкувато. Іншими словами, треба саме порівнювати культури: тоді можна буде сказати, що «оті прямолінійніші за інших». Ну й звісно, що кожна з характеристик — це не точка, а діапазон.
Очевидно, що культурні особливості зумовлені історично, але цікаво розуміти, як саме. Наприклад, у японців при спілкуванні багато інфи йде між рядків — ну, бо вони на островах більш-менш відокремлено живуть, і навчилися розуміти один одного з півслова. А ті ж американці навпаки мають майже нульовий контекст, бо туди понаїхали аби хто, і в разі непорозуміння могли підстрелити. У них того й гумор такий буквальний, навіть після жарту додають «I'm kidding» 😑, щоб уже сумнівів не лишилося.
Або інший приклад. Ось в Україні, особливо в державних установах, треба писати свої ПІБ — прізвище, імʼя та по-батькові. Нам ще в школі вчителька казала, що це росіянська хуйня, яка для українців не була характерна. Тут прикол у тому, що «прізвище» aka family name — на першому місці. Ну й імʼя батька ще нахуя-то додають. І це прям дуже азійська тема, бо це в них там суспільство вельми ієрархічне, а родина завжди важливіша за особистість. У західній культурі зазвичай навпаки: спочатку імʼя (особистість), а далі прізвище (належність до групи). Отож я щось не пригадую, щоб казали «Хмельницький Богдан Михайлович». Мазепа Іван? Сковорода Григорій? Ну, ви зрозуміли )
Інше кумедне спостережння: ставлення до часу впливає на формування черги в магазинах, установах тощо. Культури з лінійним сприйняттям формують нормальну прям у чергу, а культури з гнучким (як наша) — це тупо абишо 😅, бо починається з однієї людини, але швидко йде вшир.
В книзі повно інших історій, прикладів і порад. Мені сподобалася, тому й вам раджу ✍️
19.03.202511:20
Спробував так званий Edit Mode у GitHub Copilot. Це коли ви кажете ШІ-шці, мовляв, зараз працюватиму ось з цими файлами, а далі пишете їй, що треба зробити, а воно редагує. Таке собі парне програмування.
Я трохи не втямлюю, нащо під це було окремий режим робити й чому воно відрізняється від Chat, але ось так.
Попросив його винести декілька функцій в окрему лібу. Він чогось виніс туди попередню реалізацію (яку я закоментив), а не чинну, по дорозі загубив деякі перевірки вхідних параметрів тощо.
З іншого боку було доволі легко відвʼязався від 💻-типів, замінивши на стандартні, плюс ще декілька дрібниць попросив.
Загалом вийшло нібито швидше, ніж повністю руками це робити, але перевіряти канєш треба. Дедалі більше стає схожим на кіберджуна 😂
Треба якось буде його українською перекласти. Але тексту там багацько.
19.09.202409:36
Ух, як же я ненавиджу, коли хтось наламує юзкейси, що у користувачів вже буквально у мʼязовій памʼяті!
Днями в черговий раз спаплюжив #UX для всіх Telegram Desktop. Я вже бачив купу битих посилань в каналах, тож проблема не тільки моя.
Короч, раніше як було, якщо хочеш посилання додати в текст? Виділяєш, тиснеш ⌘K, відкриваєтся попап, в ньому вставляєш лінку через ⌘V, тиснеш Enter. Все.
Якийсь, не побоюся цього слова, геній в телеграмі вирішив щось заімпрувати і зробив так, що при відкритті попапа вміст буфера обміну вже там — залишається тільки Enter натиснути або OK.
От тільки текст посилання в попапі не виділений, тому якщо суто механічно натиснути ⌘V, то воно його ще раз додасть в кінець 🤬 Уїбанство.
(Ну принаймні скопійовані з 1Password паролі не світить — я перевірив. Схоже, фільтрує по майм-типам вміст буфера, перш ніж вставляти).
12.04.202512:13
Я дуже люблю різноманітні мови програмування — у першу чергу за можливість побачити якісь нові цікаві ідеї й додати їх до свого набору інструментів.
Проте в якусь мить досягаєш межі, за якою кількість нових ідей стає значно меншою, ніж час, необхідний для ознайомлення з особливостями мови. Іншими словами, всі мови приблизно однакові.
І, наприклад, саме завдяки цьому я зміг розв'язувати останній Advent of Code іншою мовою програмування щодня (хто не бачив, почитайте вище грудневі дописи, якщо цікаво). Хоча чимось дійсно новим для мене став тільки Prolog 🦉, від якого я в захваті.
А зараз подивився чудову доповідь про майже відсутню еволюцію в сучасних мовах програмування. Вражає, як купка людей, імена яких ви всі неодноразово чули, заклали фундамент на десятиріччя вперед.
25.03.202512:49
Тупня, до речі, що якщо робиш реплай на допис в межах якогось короткого проміжку часу, то Телеграм не додає до нього можливість коментувати. Але й в коменти до попередного воно не потрапляє.
Я б очікував принаймні, що обидва дописи в один ланцюжок потрапляють, як на скріні нижче. А ще краще просто зняти обмеження на довжину повідомлення )
12.03.202510:16
Опа 💻
26.12.202411:14
Щоразу, як дивлюся або читаю пана Соловйова, хочеться спробувати Clojure, особливо на тлі незрозумілостей з Red.
Ліспи з їхньою купою варіацій і REBOL з наразі єдиним нащадком Red — це D&D 🎮 світу програмування. Є десяток базових правил, а далі все обмежується лише вашою фантазією (і спроможностями заліза гг). Обидва мають суперпростий синтаксис — можна навіть сказати, що ніякого синтаксису немає: ви просто пишете слова, а потім наділяєте їх власними значеннями. Звучить як казка.
Я вже намагався зробити підхід до Clojure десять років тому, але вочевидь був неготовий ментально. Зараз же зробив другу спробу і… не зміг себе пересилити: дивлюся в цей короткий лаконічний код, а подумки бачу, як JVM нестямно жере памʼять мого компа, і уявляю, як мені доведеться йти крізь ієрархію тек, щоб нарешті знайти там свій єдиний файл з кодом.
На щастя з одного зі стрімів пана Соловйова я дізнався про існування мови Janet 👩🦰 — дуже схожого на кложу діалекту ліспа, який написаний на сішці, важить майже нічого, легко інтегрується з сішним кодом в обидва боки тощо. І спробував її для задач на пʼятнадцятий день!
На початку було дуже складно, зокрема через відсутність навичок роботи з реплом та редагування лісп-коду. «Кляті дужки!» 😂 Без paredit погано, з paredit погано — про це окремо ще розповім.
Одним із сюрпризів став той факт, що на ліспі взагалі-то можна (і дуже легко) писати імперативно. Чогось був переконаний, що це чисто ФП-шна штука на кшталт Haskell. Тож тут одразу +1 до приємності.
У Janet також є фішка з підтримкою PEG, якою вони надихнулися зокрема з REBOL/Red. Для задачі воно було непотрібно — можна було тупо працювати з charʼами, але мені кортіло спробувати, тож я запарсив файл отакою граматикою:
(defn parse-input [input]
Через наявність PEG у Janet немає підтримки регулярних виразів, бо в принципі вони непотрібні. Я не певен, чи це добре: все-таки інколи фігачнути маленький regexp швидше й легше, але ок. Іншим мінусом Janetʼівського peg/match є той факт, що вона працює тільки з рядками на вході. Якщо порівнювати з ріболівським parse, це сильний недолік, адже там вони прям блоки коду (а код — це дані) парсять тим же самим парсом. Це логічніше, бо яка різниця, що ви отримуєте на вхід: список текстових літер чи список кейвордів? Через це нові діалекти в REBOL робити легше й приємніше.
Із загальних приємностей Janet: є fibers, threads, channels, streams тощо — все, що потрібно, є. Також доволі розвинена стандартна бібліотека, менеджер пакетів, FFI взаємодії з сішним кодом.
До синтаксису звикаєш значно швидше, ніж здалося на початку. А ось до назв функцій трохи повільніше. Мій чинний код стопудєй максимально далекий від ідіоматичного і ще далі від оптимального, але я отримав задоволення, доки писав!
Другу задачу, яка фактично є ускладненою версією гри Sokoban, я так і не доробив трохи. Коли починав, то прийняв не найкращі рішення щодо структур даних, потім нахуєвертив зверху, задобався з цим боротися, та й загалом дуже втомився. На цьому мій Advent of Code завершився.
Я ще згодом напишу підсумки про саму подію, а зараз можу впевнено сказати, що Janet — це одна з моїх нових улюблених мов!
23.09.202410:27
«Цікава» штука тут у мене трапилася. Є проєкт, в якому прописані деякі депенденси на пакети в #Conan:
fmt/9.1.0 spdlog/1.11.0
Чудово все працювало. От тільки останній реліз був один рік тому, а відтоді ми його майже не чіпали.
А сьогодні я сів його зібрати, а він мені каже: «Хєр тобі! Конфлікт версій, йопта!» — Типу fmt/9.1.0 конфліктує з вимогою fmt/10.0.0, що вписана в spdlog. WHAT. THE. ACTUAL. FUCK⁉️
Як таке взагалі можливо? Який прикол у існуванні пекедж-менеджера, якщо можна поміняти залежність заднім числом? Та навіть у пайтоні такого немає! 🤯
І тепер я ставлю fmt/10.0.0, а воно не збирається, бо там зник якийсь template, від якого ми наслідувалися. Оце жесть. Щиро дякую за можливість вбити зайвий день на рівному місці.
Тему керування залежностями вже обсмоктали всі підряд по своїх каналах, і я був певен, що втримаюся, але дупця згоріла добряче з цього. Отож…
Нагадую, що єдине адекватне рішення для депенденсі-менеджера — це: 1) не давати можливості заливати різні пакети під однією й тією ж версією: якщо версія вже існує — то або інкременти її й роби нову, або досвідос; 2) не давати можливості вказувати в залежностях діапазони версій на кшталт pkg/[>=6.4 <6.8], pkg/[~1] тощо — тільки повна версія; 3) бажано ще й не давати видаляти 😄
«А як же автоматично отримувати мінорні оновлення?» — спитаєте ви. А ніяк! У ваші semver я не повірю доти, доки у прийнятті рішення, яку частину (major/minor/patch) версії треба інкрементити, бере участь людина.
Хтось тут може сказати, що це давно автоматизується за допомогою conventional commits, по яких потім воно нарощує версію в залежності від наявності feat: або fix:. Але ж рішення, що ставити, feat чи fix, все одно приймає людина, тож яка різниця?
Скоро так дограємося, що пральна машинка не ввімкнеться, якщо два тижні нею не користувався через відпустку.
18.09.202409:37
Є у мене значить плагін для MkDocs, який перетворює посилання виду
так, як це робить Obsidian. Тобто можна навіть не повний шлях вказувати, й воно знаходить найближчий файл з таким іменем і підставляє все правильно.
У ⬇️ фіча, що зображення вставляються абсолютно аналогічним способом, тільки треба ! додати перед цим. І обсідіан цим скористався, тож в ньому ![[image.jpg]] теж працює. І для цього мені навіть плагін не довелося модифікувати, бо перетворення [[...]] на [...](...) спрацьовує до того, а знак оклику там вже є.
А от з відосами в обсідіані працює, а у мене ні. Це тому, що MkDocs на синтаксис виду  генерує
Звісно, браузер тільки зображення так вбудовувати вміє.
Знайшов якийсь чужий екстеншн для Python-Markdown, який наче мав би працювати з коробки, але якогось хєра ні, тож сів писати свій.
Роблю приблизно таке: якщо знаходжу , в якому src вказує на відео, наприклад, video.mp4, то заміняю його на
Ну, так воно мало б працювати принаймні, але ж ні! Натомість було
Бачите? Воно ../ додало. І прикол у тому, що це як раз правильний URL згідно з тією структурою, яку генерить MkDocs.
Я дуже довго дуплився і не міг збагнути, в який момент і хто це робить, аж доки не втямив, що в самому MkDocs на цей випадок свій додатковий Treeprocessor, котрий відносні посилання адаптує, от тільки робить він це виключно для та , але не для . Наразі просто захардкодив додавання ../, але треба зробити аналогічним чином, як у них, мабуть.
Та допис насправді навіть не про це, бо це був вступ 😅
Спробував я тут ваш хвалений uv замість poetry, якщо вже нагода випала. Він типу на расті написаний, все вміє, мовляв, дуже швидкий і все таке (як з рекламного буклета). І знаєте шо? Виявляється, що він і справді норм!
Але є певні «але».
По-перше, не всі #тулзи можна ним поставити. От наприклад, ansible — поки що ні на відміну від pipx. По-друге, білд-система все одно потрібна, тож наразі використовую hatch, бо poetry не по стандарту пише у pyproject.toml.
По-третє, я якось не певен щодо підходу писати тули для якоїсь однієї мови — іншою мовою. Про це вже пан yakimka писав у себе в каналі, тож краще там почитайте. З одного боку кожен хороший програміст володіє багатьма мовами anyway, проте, з іншого є відчуття, що в довгостроковій перспективі це може негативно вплинути на спільноту 🤔 Хз.
Та що я точно можу сказати про uv: працює ця падлюка напрочуд швидко. Мені як раз друган днями жалівся, що доки тестував автоматизації робочих процесів у своїй 💻-репі на GitHub Actions, то виюзав всі халявні 2000 хвилин. І ось тут ця тула прям стане в пригоді, бо, думаю, можна на порядок пришвидшити встановлення всіх залежностей.
Я не професійний користувач цих тулів, а радше аматор. Певно, люди з досвідом вже знають, як оминати гострі кути. В мене ж окрім всіх цих пригод з імпортом фотошоп крашнув 4–5 разів.
(Ще цікаво, що я зустрів вже другий за пів року ймовірно самописний парсер CSV, який працює як лайно. Попередній використовувався у грі й не здатен був обробляти лапки взагалі 😂)
Мені досі подобаються деякі продукти Adobe. Той же фотошоп — це тупо пушка для роботи з растром (хоча не для малювання), і жодний GIMP з ним не зрівняється. А Illustrator на 10 голів вище за ваш хвалений Inkscape та будь-що інше для роботи зі складною векторною графікою.
Але прикол у тому, що в сучасних інтерфейсах немає ані складної растрової графіки (як у тому ж скевоморфізмі з фактурними матеріалами, рефлексами тощо), ані складної векторної (особливо в обриганських flat/material чи класному мобільному metro). Доволі примітивно все короч. Тож на перший план виходять вже зовсім інші фічі, проте, компаніям на кшталт Adobe це невтямки. (Я їх ще за вбивство Flash не пробачив).
22.02.202513:42
Оце спалився. Не знав, що ґітгаб про таке пише 😅 Ще й рахує!
01.11.202409:55
Сьогодні пʼятниця, й особисто в мене сьогодні вихідний.
А ви думали чи, може, навіть мріяли колись про чотириденний робочий тиждень? Я теж!
P.S. З вас усіх по репосту, бо скіки можна, їй-богу. Ексклюзивний матеріал врешті-решт 😉
20.09.202410:14
Ух, 💻 прям активізувалася 🤔 Нещодавно релізнули екстеншн до vscode 💻 з language server для #QML (екстеншн лайно, проте, як перший крок норм), а зараз ось зробили плагін для Gradle, щоб легше було під Android 💻 збирати.
17.09.202409:11
О ні, здається, я вже знаю, до чого все йде…
Пан Соловйов такий якось: «Он ту книжку по 💻 Clojure почитай», — каже. Й ось у мене вже 📝 імакс на компі! 😰
31.03.202509:59
Зараз навчу вас давати конструктивний фідбек і відповідно виявляти людей, які просто марнують ваш час.
Пише мені якийсь чувак у рандомному чаті:
До речі відписався від сіплапластика бо якісь занадто хуйові тейки в стрічці були
Еммм… ну ок… і шо далі? Що мені з цією інформацією робити, і як вона мені допоможе? Очевидно ж, що ніяк, бо не ясно, а які були очікування, а що саме вийшло за їх межі тощо. Якби ж була хоч якась ознака, що далі можна побудувати конструктивний діалог, я б навіть розпитав, а так лишається тільки сказати щось на кшталт: «Ну, досвідос!» 👋
Працює це до речі не тільки з негативними відгуками, а й з позитивними. Якщо після якоїсь презентації мені хтось казатиме: «Дякую, мені так сподобалося! — то я обовʼязково спитаю, — А що саме?» Тоді можна принаймні збагнути, що людям більше заходить. Бо від простих лестощів користі не надто багато, згодні?
Так а як робити, щоб користь була?
По-перше, подумайте, з якою метою ви взагалі хочете поділитися своєю думкою. Чи дійсно ви хочете допомогти людині, з якою спілкуєтеся? Якщо так, то ок. А якщо насправді вас просто зачепило, що людина не збагнула магічним чином ваших потреб і не задовольнила їх, а тепер ви просто хочете їй повідомити про особисту образу й привернути увагу до себе, то краще мовчки пройти повз. Бо я ще не бачив випадків, коли б таке закінчувалося добре 😄
По-друге, якщо вже лишаєте відгук, то давайте якомога більше деталей. Що більше контексту буде у людини, то краще, бо для неї це буде схоже на фікс креша з occurence: once. Всі ми знаємо, що мінімальний адекватний набір для розвʼязання подібної проблеми — це кроки для повторення + логи. Інакше легше зареджектити і забути. Звісно, що інколи доводиться, бува, шукати розвʼязок крешів буквально навпомацки, але зазвичай для цього потрібна сильна зовнішня мотивація, тож то радше винятки вже ))
По-третє, кажіть про слова/поведінку, але не про особистість. Тобто не «ти — хуй», а «ти отам сказав хуйню». Різниця чимала, повірте. Хоча це ще й від культури залежить, бо українці навіть другу фразу сприйматимуть як атаку на особистість, бо не вміють розділяти ці речі. Загалом незалежно від культури краще уникати тверджень з «ти», замінюючи їх на твердження з «я». Іншими словами замість «краще б ти більше писав про 💻» правильніше буде сказати «я був би радий, якби ти більше писав про C++, тому що…»
По-четверте, підкріплюйте сказане фактами. Це не єдина, але, сподіваюся, очевидна вимога для хоч якоїсь обʼєктивності.
По-пʼяте, фідбек краще давати якомога швидше після відповідної події, доки й ви самі, і людина ще в контексті. Якщо відгук негативний, то головне не робити це під впливом емоцій, але якщо ви вдало пройшли пункт 1, то має бути норм.
Ну й наостанок нагадаю, що не всім ваш відгук взагалі потрібен. Часто бачу, як люди лишають десь коментар і автоматично формують на базі нього якісь власні очікування, а потім ображаються, що «до них не прислухаються». Ну так ніхто й не зобовʼязаний, тю 🙂
Якщо дочитали аж сюди, то знайте, що я завжди (чи майже завжди гг) радо приймаю будь-який конструктивний фідбек, бо його дуже бракує.
25.03.202512:22
Не дивно, що Adobe програла битву за найкращий інструмент для дизайну інтерфейсів. Спочатку Sketch показав, що багато речей можна зробити значно зручніше, ніж у Photoshop. І Adobe навіть якийсь час це ігнорувала, аж поки не зробила власний (вже мертвий) XD. Ну а Figma 💻 той результат ще закріпила, правда, в процесі ледь не продалася.
Цими вихідними посидів у фотошопі короч. Мало хто знає, але там є підтримка змінних — навіть у фігмі їх ще десь рік тому не було. Стає в пригоді, якщо треба нагенерити пачку схожих зображень по шаблону: візитівки, листівки зі всратими цуценятами, запрошення на весілля або, як у моєму випадку, купа однотипних обкладинок для статей у блог (не собі).
Робиться це таким чином: спочатку встановлюєте звʼязок між шарами й змінними, а потім підставляєте туди різні значення з набору даних. Наприклад, можна текст міняти, підставляти інші зображення під масочку, вмикати/вимикати видимість чогось тощо. Набивати набір даних руками в самому фотошопі не надто зручно — краще імпортнути з CSV.
Краще ж? Відкрив Excel, накидав швидесенько, експортнув — і ПОТРАПИВ У ПЕКЛО!!! Я не жартую 😫 Фотошоп просто висирає помилку й відмовляється імпортувати дані.
1. Excel при збереженні в CSV покладається на регіональний формат системи. В Європі десятковий роздільник зазвичай — це кома, тому стовпчики ексель розділяє крапкою з комою. Важко в це повірити, але так: фотошоп це не схавав. Довелося фіксити вручну.
2. Microsoft хоч і використовує UTF-8 давно, але полюбляє бахнути на початок файлу BOM. Вгадайте шо? Правильно, фотошоп не зміг вдуплити. Перезберіг руками без BOM.
3. Якщо стовпчиків більше, ніж змінних, які ви визначили, то фотошоп проігнорувати їх не може — кидає помилку. Але не каже, що саме не так, а пише геть неадекватну маячню. Багаторічний досвід порпання в лайні (aka інтуїція) підказав мені спробувати прибрати зайві — і це допомогло.
4. Кодування. Так, ви все правильно прочитали. Проблеми з кодуванням у 2k25. Так, у UTF-8! 🤕 Ми-то з вами звикли давно взагалі на це увагу не звертати, бо нині будь-який нормальний текстовий редактор одразу детектить без проблем. Але не суперсофт від Adobe! Якщо залишити «автоматичне» визначення кодування, то деякі не-ASCII символи поїбало. Потім ще щось не виходило. Врешті перезберіг взагалі в UTF-16 і вказав вручну при імпорті.
5. Лапки. Тут взагалі якийсь треш, який мені важко пояснити. Короч, у мене був текст на кшталт “some text” з правильними типографськими лапками, але при імпорті вони чомусь зʼїдалися, і у фотошопі їх не було. Вирішив загорнути всі стовпчики в програмерські лапки. Вийшло отак: "“some text”". Вгадайте, в якому вигляді це потрапило у фотошопівський датасет? Хуяк: "some text” — зліва пряма програмерська, справа нормальна типографська. Виправив руками в самому фотошопі (датасет на 30 елементів).
6. У мене насправді два шаблони з двома датасетами були. У перший я так і не зміг імпортувати CSV. А знаєте, що зміг? Tab-delimeted plain text! Нє, ну а шо, хоч якось.
Фу-у-ух, це було важко. Ну далі-то вже як пісня литиметься, мабуть. Просто береш і генеруєш з того набору даних по шаблону пачку зображень… у форматі PSD 🤦♂️ Що з ними робити? Ну, у фотошопі є процесор зображень, який вміє переганяти PSD у JPEG або TIFF. Як щодо PNG або WebP? Нє, не чули. Зберіг все в TIFF, а потім тупо вже у маківському файндері конвертнув у PNG. Спочатку намагався зробити це через ImageMagick, але виявилося, що в мене там шари різного розміру, і воно їх не кліпало, а робило зображення більше.
А тепер тримайте правильний спосіб виконання подібної роботи: • Робите у фотошопі всю складну роботу з растром. Зберігаєте це як зображення. • Імпортуєте його у фігму, а там вже додаєте текст, кліпінг-масочки, тіні, лейаут, робите купу інстансів, як вам треба, експортуєте однією кнопкою без хєрні. Все.
11.02.202511:16
Мали колись доменне імʼя у володінні?
Коли купуєш собі домен вперше і намагаєшся прикрутити його до сайту або пошти, то воно трохи складнувато без досвіду. І доволі легко наламати щось, що пʼять хвилин тому вже працювало.
Натрапив на сайт, де можна погратися з тимчасовим доменом, постворювати собі DNS-записи різних типів, подивитися на запити, що приходять тощо: ⭐️ mess with dns ⭐️︎.
(Думав ще того тижня про це написати, але він якийсь час лежав мертвий 😆)
26.10.202413:36
Писати на 💻 у VS Code 💻 — це, звісно, класно і зручно, але блять… Треба було брати комп зі 128 ГБ оперативи.
(Другий рядок з java — це SonarLint, до речі, теж з VS Code).
20.09.202409:48
Якщо хтось чекав на можливість нарешті використовувати #QML у ваших WPF-програмах під 💻 (вже ніхто не чекав), wait no more.
Схоже, втративши купу ринків, 💻 раптово збагнула, що було б непогано мати офіційні байндінги до інших мов окрім 💻 та 💻, і хтось там у них написав кастомний нейтів хост під .NET.
Можливо, #QML — це наразі одна з найвагоміших причин, чого я досі тримаюся C++. Я просто дуже полюбляю робити UI, і саме завдяки цим двом мовам я здатен досягати найшвидших та найякісніших результатів. Python відштовхує своєю повільністю виконання та труднощами розповсюдження готових програм. А під інші мови всі байндінги сумнівної якості й написані хтозна-ким.
Це не значить, звісно, що я зараз раптово перейду на 💻, але може вони нарешті подивляться в бік чогось зручнішого та сучаснішого.
12.09.202413:06
Зізнавайтеся, кого ще компанія сьогодні привітала з «міжнародним» Днем програміста 💩? Так мило з їхнього боку 😡