Cіпласпластик
524 subscribers
159 photos
35 videos
2 files
252 links
🇺🇦 Про айті та дотичні теми загалом, ну й трохи про C++.

Мої емоджі:
https://t.me/addemoji/AdaptiveDevIcons
https://t.me/addemoji/VehicleBrands
Download Telegram
Раптом хто не знає: в терміналі можна зробити собі файні діфи. Я налаштував собі delta, але існують й інші #тулзи. Колись, памʼятаю, користувався для цього diff-so-fancy, наприклад, але той написаний на якійсь суміші Perl та shell, тоді як delta — на Rust, і є навіть підтримка Emacs 😂

Втім насправді я діфи майже ніколи не дивлюсь в терміналі, бо VSCode завжди відкритий все одно.
👀1
Cіпласпластик
Сідайте, зараз буде довжелезна розповідь не про inner-source. (Я б попросив нікому більше не розповідати, але вам ніхто не повірить 🙂). Моя спеціалізація — це #тулзи. Я полюбляю тестити якісь нові, мені подобається писати власні, подобається поєднувати різні…
Важко в це повірити, але щойно відсидів на черговому (пʼятому? шостому?) вебінарі, де знов розповідали, як важливо трекати час, потім повторювали всі ті ж 11 часових констрейнтів, яким мають відповідати дані в системі, далі погрози про скорочення зп, а опісля: «ми це робимо для вас та вашого work-life balance» 😂 Для тих, хто пропустив минулі серії, нагадую: компанія доволі марно намагається з початку року впровадити обовʼязковий тайм-трекінг (який взагалі-то був і до того, але не дуже працював).

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

1. Поганий UX — це коли не компʼютер спрощує життя людині, а коли людина намагається задовольнити забаганки компʼютера. Й тема з часовими обмеженнями як раз про це, бо фактично я маю сидіти та обраховувати в голові, чи працюю я довше ніж 6 годин або чи не коротша моя перерва за 15 хвилин. Що заважає автоматично ці дані обраховувати та хоча б показувати користувачу — не зрозуміло.

2. Система в її поточному стані викидає мене кожні N годин, де N менше, ніж довжина мого робочого дня. Нащо? Кому взагалі спало на думку, що розлоговувати користувача з будь-якої системи — це гарна думка?

3. Компанія: «Ви маєте абсолютно чесно та в ріалтаймі логати час». Також компанія: «Ви не можете робити перерви менш ніж 15 хвилин або працювати після 21:00». Так мені чесно логати, чи знову ж працювати на красиві дані в системі? Я розумію авжеж проблему компанії: вона має, якщо що, довести на аудітах, що її працівники не овертаймлять вночі. Але ж це фактично не збігається з моїм реальним режимом роботи. Хз насправді, як це вирішувати. Тут, схоже, в мене руки звʼязані.

4. Коли всі працювали в офісі, можна було доволі легко виробити певну дисципліну, бо на вході висів термінал для тайм-трекінгу: зайшов — зачекінився, вийшов — зачекаутився. Сидячи вдома, цього так просто не зробиш. В мене між моментом, коли я прокидаюсь, та першою нарадою — три хвилини 😅 Немає жодного приводу відкривати окрему прогу на телефоні чи сайт на компі та натискати там кнопочку. І це безперечно типова engagement-проблема. Як перший крок я б зробив, щоб прога принаймні викидала ремайндер, коли комп виходить зі сліпу, може. Взагалі, ідей в мене значно більше, але апішки досі нема.

5. З боку компанії доволі дивно протягом більше ніж пів року робити одне й те саме, але чогось очікувати на інший результат. Хоча вони щойно додали ще більше обмежень для співробітників, тож може це і є результатом їхнього аналізу патернів користування? Бо фактично система працює на тих, кому потім доповідати на аудитах, а не на тих, хто туди вносить дані 🙂 Трохи нагадує недавню (чи поточну?) ситуацію з редітом, де найбільша цінність продукту в величезному живому датасеті, тож логічно давати доступ до цих даних тільки за копійочку, але в той самий час весь контент user-generated, а обмеження напряму вплинули на користувачів, які цей датасет наповнюють. Уроборос якийсь 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔1🤬1👀1
Cіпласпластик
Раптом хто не знає: в терміналі можна зробити собі файні діфи. Я налаштував собі delta, але існують й інші #тулзи. Колись, памʼятаю, користувався для цього diff-so-fancy, наприклад, але той написаний на якійсь суміші Perl та shell, тоді як delta — на Rust
This media is not supported in your browser
VIEW IN TELEGRAM
До речі сам термінал на скріні — це Warp (наразі є тільки під macOS). Користуюсь ним певний час вже, бо там є цікаві ідеї та фічі, як-от вбудована ШІ-шка. Але й сумнівних моментів в ньому повно.

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

Колись, може, створю свій термінал, ідеї для якого лежать в OneNote вже років десять 😅⌛️ А поки розділ #тулзи залишиться без нього.
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Я вже неодноразово згадував, що моя найулюбленіша система збирання проєктів — це #Qbs. Базується цей вибір на двох суперобʼєктивних причинах авжеж: 1) на хибному першому враженні, що за мову там використовують #QML (90% збігається, але насправді це не вона, від чого реально палає нерідко), та 2) на тому, що не можу терпіти #CMake 😁

В кьюбсі в найпростішому вигляді достатньо викликати qbs build або навіть qbs run, й він все сам зробить. Втім інколи треба додати пару якихось ключів в команд-лайн, які я безумовно не памʼятаю. Що в таких випадках люди роблять першочергово? Правильно, пишуть qbs build --help. Але це суперечить концепції(!) головного розробника, тому наразі результат отакий:

ERROR: Invalid use of command 'build': Unknown option '--help'.
Type 'qbs help build' to see how to use this command.

Концептуальність — це завжди офігезно авжеж, але не тоді, коли це щодня наламує мені UX. Так, я не можу спеціально для цієї тулзи тримати в памʼяті, що треба писати qbs help build замість qbs build --help, бо в нормальних прогах це тотожні виклики.

Тож я пішов та зробив свій перший внесок в Qbs аж на пʼять рядків коду, який це виправляє 😂 Довелось заради цього навіть gerrit налаштувати собі з його ґітовими гуками.

Сьогодні вмержив 🥳🍾
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀1
Cіпласпластик
Як зрозуміти, що прога написана на Qt? — Ніхто не вміє працювати з High-DPI екранами 🧐 Навіть дефолтний #QML-проєкт, що генерується в Qt Creator з офіційного шаблону, містить некоректний код для Windows. В даному випадку бачимо завеликі іконки в macOS. Що…
Поточний стан справ з підтримкою High-DPI в офіційному інстоллері #Qt на вінді 🤡

(Тим часом ми пишемо десктопну програму на Qt під три системи, й у нас все ок).
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Ніяк не закінчу свій довгенький звіт про менеджерський експеримент, що я ставив впродовж чотирьох місяців. Stay tuned, має бути цікаво. А доки звіт в процесі, поділюсь іншою «новиною», яка, ймовірно, цікава тільки мені 🙂

Чи багато ви бачили Product Managerʼів в outsource-компаніях? Ось я жодного разу не зустрічав, хоча пошук по корпоративній директорії каже, що нас таких аж девʼятеро.

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

Окремої розповіді вартий процес отримання цього тайтлу в моїй компанії. Я давно шукав собі якусь назву позиції, що відображала б, чим я фактично займаюсь, але все було марно. Тож я пішов до ChatGPT, написав йому, що роблю, та попросив запропонувати мені варіанти. Потім обрав те, що сподобалось та на мою думку відповідало найліпше. Окремий челендж був — переконати в цьому й інших, починаючи з мого безпосереднього менеджера. Тож я знов пішов до ChatGPT й кажу: «мені треба переконати всіх, що це моя роль. Зроби мені чекліст» 😂 Він згенерив, я пройшовся по чеклісту, додавши відповідних конкретних прикладів, почекав декілька місяців на всі апруви — й вуаля!

Бодай там як, я задоволений. От якби ще зп накинули 🤑
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11😁1👀1
Отже, історія отримала розвиток. Після чергової відмови від директорки Security & Compliance надати мені APIʼшку я накатав якийсь драматичний текст про те, як на всіх all-hands нарадах компанія парить про інновації та імпрувменти, а щойно справа дійшла до більш-менш активних дій, то всі тільки здатні вигадувати мільйон відмазонів. Це подіяло 😁 Тож вона пішла та створила нараду на купу інших директорів та Heads of Something Important.

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

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

Гарні новини: я принаймні мав змогу донести свою ідею, і в цілому вона була сприйнята дуже позитивно. Також це мій перший UI-дизайн чого-небудь, створеного власноруч, ever. Виглядає, може, доволі просто, але хто сказав, що воно не мусить?

Втім думаю, якщо подальші події й матимуть місце, то нескоро.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4👍1😁1👀1
Cіпласпластик
Отже, історія отримала розвиток. Після чергової відмови від директорки Security & Compliance надати мені APIʼшку я накатав якийсь драматичний текст про те, як на всіх all-hands нарадах компанія парить про інновації та імпрувменти, а щойно справа дійшла до…
А ще питають такі:
— А на чому писати збираєшся?
— На C++ та #QML авжеж! (Хоча зараз думаю, що легше на Python+QML)
— У-у-у-у… Наші люди тільки на сішарпі та ангулярі вміють…

І важко їх звинуватити в чомусь. The #Qt Company просрала можливість зайняти нішу на десктопах (та й на решті систем втрачає позиції). Шкода, бо QML сама по собі дуже прикольна 😢 Але недовго їй лишилось, мабуть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Мене сьогодні звинуватили в тому, що я не знав про https://manifest.in.ua/, наче це я винен, що йому бракує розголосу. Я прийняв удар на себе, аби вам не довелося 😄 Тож користуйтеся та шліть знайомим та друзям, аби вони теж не були, як я.

Ще б знайти тепер аналогічний рейтинг українських каналів в телеграмі, бо це досі моє основне джерело інфи…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Cіпласпластик
Мене сьогодні звинуватили в тому, що я не знав про https://manifest.in.ua/, наче це я винен, що йому бракує розголосу. Я прийняв удар на себе, аби вам не довелося 😄 Тож користуйтеся та шліть знайомим та друзям, аби вони теж не були, як я. Ще б знайти тепер…
А якщо ви ютуб не дивитесь, то в ігри-то хоча б маєте грати? Тут може стати в пригоді КУЛІ (Каталог української локалізації ігор), щоб грати рідною не тільки в Baldurʼs Gate 3.

Ще є не всім відомий куратор в стімі «Обережно, русняві ігри», що допомагає уникати випадкового спонсорування країни-терориста. Треба підписатись, і тоді на сторінках відповідних ігор буде висіти застереження.
👍2🔥1
Серед любителів трохи поаналізувати дані нерідко йдуть баталії, а що ж краще: звичні таблички (spreadsheets) або інтерактивні блокноти (а ля Wolfram/Jupyter).

Короч, сьогодні ніби не перше квітня, але Microsoft додала можливість писати код на #Python в #Excel 🤯 Виконується він не локально, а в контейнері Azure. Доволі цікавий крок.
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Media is too big
VIEW IN TELEGRAM
Вітаю всіх з 0x20-м Днем незалежності України!

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

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

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

Слава Україні!
(А я далі напишу трохи вражень від процесу перекладу)
8
Cіпласпластик
Вітаю всіх з 0x20-м Днем незалежності України! За збігом обставин так вийшло, що я буквально вчора зробив свій маленький внесок у розвиток нашої мови, переклавши інтерфейс програми Monica українською. (Трохи дивно, адже я цей інструмент навіть не використовую…
Отож, по-перше, хочу передати привіт всім тим, хто нещодавно закидував лайном перекладачів Baldur's Gate 3, бо більшість з цих невігласів навіть близько не уявляє, наскільки це складно. Я витратив чотири повних дні та загалом переклав 8334 слів, тоді як в BG3 понад два мільйони слів 😰 Не кажучи вже про те, що перекладати художні тексти значно важче, аніж інтерфейси програм.

По-друге, сам переклад доступний на Crowdin (до речі ви знали, що це українська платформа?), але для прискорення роботи я купив собі Poedit Pro за 35 євро. А якщо ще порахувати слова за тарифом 0,06 євроцентів/слово (знайшов десь саме такі ціни, хоча українські студії локалізації, мабуть, роблять дешевше), то загальна вартість перекладу вкладається в 550€.

По-третє, там вже було локалізовано близько 10% тексту іншими людьми. І що у випадку з ними, що при використанні машинних перекладачів (Microsoft/Google/DeepL) простежується одна й та сама проблема: дуже багато росіянського впливу. Найбільш розповсюджені випадки: you must, you should, you need часто перекладають як ви повинні, вам потрібно, вам необхідно, тоді як краще буде сказати ви мусите, ви маєте або вам слід (а якщо need в сенсі потреби, то ви потребуєте). Також no need перекладають як не потрібно, хоча це очевидна калька з росіянської. Натомість краще казати — жодної потреби. Є й інші аналогічні приклади (англійська — рос. калька — українська):
- once it's done — після того, як це зроблено — щойно це зроблено
- at any time — в будь-який час — будь-коли
- are you sure you want to… — ви впевнені, що хочете… — чи дійсно ви хочете
- join as co-author — приєднатися в якості співавтора — долучитися як співавтор
- more powerful — більш потужний — потужніший
- more than — більш ніж — понад
- not less than — не менше, ніж — щонайменше
- 1200 pixels wide — 1200 пікселів в ширину — 1200 пікселів завширшки
- is publicly accessible — знаходиться у відкритому доступі — є загальнодоступним
- rather — краще / скоріш — радше
- тощо (можу продовжувати список доволі довго)

Мій переклад вочевидь не ідеальний, адже я не професійний перекладач. Проте я дізнався багато нового під час цього процесу. Раджу кожному 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Cіпласпластик
Отож, по-перше, хочу передати привіт всім тим, хто нещодавно закидував лайном перекладачів Baldur's Gate 3, бо більшість з цих невігласів навіть близько не уявляє, наскільки це складно. Я витратив чотири повних дні та загалом переклав 8334 слів, тоді як в…
В-четверте, принцип Парето спрацював і тут. Коли здавалося, що я майже скінчив, я натрапив на необхідність перекласти ось це спадне меню з декількома рівнями вкладеності, яке дозволяє вам обрати якусь емоцію або відчуття з переліку.

Просто подивіться на ці слова (це не всі) та уявіть, як би ви їх локалізували так, щоб вони не повторювались 🤓

Adoration, affection, love, fondness, liking, attraction, caring, tenderness, compassion, sentimentality, arousal, desire, lust, passion, infatuation, longing, amusement, bliss, gaiety, glee, jolliness, joviality, joy, delight, enjoyment, gladness, happiness, jubilation, elation, satisfaction, zeal, zest, excitement, thrill, exhilaration, contentment, pleasure, pride, eagerness, hope, optimism, enthrallment, rapture, relief, amazement, surprise, astonishment, aggravation, irritation, agitation, annoyance, grouchiness, grumpiness, exasperation, frustration, anger, rage, outrage, fury, wrath, hostility, ferocity, bitterness, hate, loathing, scorn, spite, vengefulness, dislike, resentment, disgust, revulsion, contempt, envy, jealousy, agony, suffering, hurt, anguish, depression, despair, hopelessness, gloom, glumness, sadness, unhappiness, grief, sorrow, woe, misery, melancholy, dismay, disappointment, displeasure, guilt, shame, regret, remorse, alienation, isolation, neglect, loneliness, rejection.

Думаю, це була найважча частина.

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

Загалом це далеко не перший раз, коли я беру участь в локалізації чогось, і скоріш за все не останній. А у вас був досвід?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👀1
Cіпласпластик
Вітаю всіх з 0x20-м Днем незалежності України! За збігом обставин так вийшло, що я буквально вчора зробив свій маленький внесок у розвиток нашої мови, переклавши інтерфейс програми Monica українською. (Трохи дивно, адже я цей інструмент навіть не використовую…
До речі, як я щойно дізнався, 1Password також перекладають на Crowdin.

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

Тоді, можливо, з'явиться офіційна локалізація, в створенні якої я обов'язково візьму участь.

Ну й… цей во… час вже починати форвардити мої дописи по друзях 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Я вже якось згадував, що почав користуватись Warp як терміналом на macOS. Вирішив його спробувати, бо сподобалася (читайте — зійшлася з моєю) ідея блоків: фактично він просто групує команду з її аутпутом, що, втім, доволі зручно.

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

А вчора з друганом обговорювали Warpʼівський відос (ютубівські шорти дуже дратують), де нам говорять: «Дивіться, ми додали command palette в термінал, аби вам було зручніше». І тут я нарешті збагнув! Вони буквально кажуть: «Ми робимо прогу з рядком для вводу команд, в яку ми додали інший рядок для вводу інших команд» 🤨 В чому сенс?

Додатково в контексті розмови виринув (хе-хе) fish, котрий мій друган мені порадив глянути. Я й до того чув хороші відгуки на нього, а вчора реально пішов та глянув. Виявилось, що це майже shell здорової людини (на відміну від bash)! Перейшов на нього.

На скриншотах вище — порівняння автокомпліта однієї й тієї ж команди в так званому покращеному “warpified” шеллі та в стандартному — без жодних фічей з боку термінала. Який вам більше до вподоби? 😆
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀1
Щойно в команді придумали найдієвіший спосіб сформувати імунітет до бажання користуватись десктопним лінуксом — треба зробити макцинацію 🦖
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍1👀1