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

Мої емоджі:
https://t.me/addemoji/AdaptiveDevIcons
https://t.me/addemoji/VehicleBrands
Download Telegram
Зовсім інша справа — Last Call BBS, яку мені підігнав кореш нещодавно. Це взагалі-то не одна гра, а набір міні-ігор різної складності. Але одна тільки перша (Dungeons & Diagrams на скріні) — це вже шедевр. Годі й казати про решту, де треба автоматизувати конвеєр з приготуванням їжі або, наприклад, програмувати геном для вирощування мʼяса та кісток тощо. Взагалі #ігри від Zachtronics мені завжди подобались, і ця не стала виключенням.
👍1
Ну й щоб двічі з дописами про #ігри не вставати…
👀1
Вперше бачу таку гарно структуровану, сучасну енциклопедію по левел-дизайну. Що мені здається особливо важливим - вона має в собі гарні приклади процесів як в самому дизайні рівнів, так і просто в розробці ігор (хочу видрукувати собі статтю про правильний пре-продакшн, повісити над робочим місцем і регулярно молитися). Ьуду почитувати в найближчі часи. І вам рекомендую.
👍1
Побачив в когось з друзів в стімі ось таку прогу: MasterPlan. Ну й безперечно не міг пройти повз, бо дуже полюбляю різні #тулзи. Як раз шукаю дещо типу того для одного зі своїх пет-проектів, але по скрінах та відосах мало шо зрозуміло: чи підійде, чи не підійде — хз.

«Ну ок», — думаю, — «можна купити й спробувати». Пішов спочатку на сайт, щоб впевнитись, що це не росіянське лайно (спойлер: ніби ні), аж раптом опинилось, що прога взагалі на ґітгабі. Треба збілдити тільки самому, але там Go — має бути нескладно.

Якщо сподобається, обовʼязково куплю. Проте, маю визнати, це було неочікувано.
👀1
Cіпласпластик
Побачив в когось з друзів в стімі ось таку прогу: MasterPlan. Ну й безперечно не міг пройти повз, бо дуже полюбляю різні #тулзи. Як раз шукаю дещо типу того для одного зі своїх пет-проектів, але по скрінах та відосах мало шо зрозуміло: чи підійде, чи не підійде…
Це мені нагадало, як я надіслав свою мікролібу в Qt Marketplace, вказавши конкретну ціну, а вони такі: «ну ми побачили, що вона під BSD-ліцухою й доступна на ґітгабі, тому опублікували її безкоштовно» 🤡 Щиро, блять, дякую.

Але кьютовий маркетплейс все одно сплюндровано, тож гріх жалітися мабуть. Це останнє місце, куди я йду шукати ліби під Qt. Про що взагалі мова, якщо моя ліба більше, ніж півроку, висіла там першою в розділі Newest 😂
😁3
Всі вже бачили мабуть, але тут чуваки в проекті Valetudo намагаються відвʼязати робопилососи від вендорських серверів, без яких вони наразі не дуже працюють.

Мене останнім часом також дофіга хилить в бік local-first (а краще local-only), тож ініціативу я підтримую обома руками. От тільки мій пилосос наче відсутній в списку підтримуваних, а для отримання рута на найближчому його родичі треба повністю розбирати пристрій )

Коли там вже ЄС (або ще хтось) зобовʼяже надавати локальну апішку, якщо немає технічних перешкод?
👍7
TIL в С++ в якості ідентифікаторів заборонені не тільки кейворди https://devblogs.microsoft.com/oldnewthing/20230109-00/?p=107685
👀1
Ого, оце нормальне доповнення до категорії #тулзи: Ventoy.

Замість того, аби постійно шити на завантажувальну флешку якісь образи, наприклад, для встановлення операційних систем, можна записати туди цей бутлоадер, а потім просто кидати на флешку iso-шки (чи навіть vhd-шки) файлами і бутатись з них.

Думаю, зроблю собі окрему таку на всяк випадок.
👍5
Побачив сьогодні цю хєрню, що на превʼюшці (досі сподіваюсь, що це жарт). Спочатку не зрозумів, як таке взагалі могло б працювати, а потім як зрозумів ахаха! Отже, хто його зна, нащо я це зробив, але мені вдалось примусити його працювати в трохи зміненому вигляді навіть без С++23 (проте з додаванням user-defined literal на жаль):

static_assert(5 +- 1_Δ >= 4);
static_assert(5 +- 1_Δ <= 6);

Подивитись можна отут: https://replit.com/@GooRoo/PlusMinus
👍1👀1
Вчора випадково знайшов скрін «гри», котру ми зробили за добу, коли брали участь в DOU Хакатоні в Харкові одинадцять з половиною років тому. Вирішив оновити репозиторій.

Круті часи були.
1
Бачу, Steam шарить, як робити округлення.
😁3
Там в Епіку, до речі, роздають Epistory (майже тавтологія, так), яку я нещодавно як раз-от пройшов. Це такий типу тайпінг-тренажер під виглядом гри, чи може навпаки… В середньому враження на рівні «not great, not terrible», бо вона непогана, але й прям радити її не можу. (Що цікаво, в Steam вона є під macOS також, а в Epic Games чомусь виключно Windows 🤔).

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

В певний момент в грі зʼявляється можливість «стріляти» різними стихіями, а перемикати стихії авжеж треба, друкуючи відповідний текст з назвою. Так от, нагадую, текст я весь тайпав англійською, а стихії, як виявилось, треба перемикати російcькою, бо їх назви — це ЧАСТИНА ІНТЕРФЕЙСУ 🤡

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

Якби ж я подібне виключно в іграх зустрічав, то ще норм, але мені якась схожа хєрня трапляється регулярно прям на очі. Заїбало реально. Найбільш шизрофренічний випадок в мене був чи то в Uplay, чи то в Origin колись, коли частина UI в мене була українською (бо в налаштуваннях обрав), частина німецькою (бо в Німеччині знаходився), а частина англійською (бо я навіть хз чому — тупо «так вийшло»). Причому якщо трохи походити по сторінках, то можна було потрапити в те саме місце, але вже з іншим набором мов! 🤯

З росіянською в Epistory був не правий, визнаю. Дограв вже чисто англійською авжеж. Нічого не втратив — навіть навпаки.
😁1
Дід Бьярне раптом прокинувся та написав «атвєтку» АНБ, котре чверть року тому назвало С++ недостатньо safe та порадило натомість переходити на всілякі Go і Swift (та інші Rust'и): https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2739r0.pdf

Пише, мовляв, ссану сішечку та божественні плюси постійно поєднують у в'язку C/C++, в той час як останні пройшли довжелезний шлях і стали зовсім іншою мовою за останні 30 років. Тут я цілком погоджуюсь: мене теж дратує шопиздець, коли пишуть C/C++, ніби це одне й те саме (сішка, до речі, також на місці не стояла, але… ну, вона досі сішка).

А далі він починає розказувати, чого ж саме вони досягли: типу пододавали купу всього для тайп-, тред- та ресурс-сейфті в стандартну лібу, наробили мільйон тулів для аналізу тощо. Все це безперечно правда, але ж лукавий Бьярне не каже, що вся ця срань опціональна! В цьому ж найбільша проблема й полягає: якщо можна щось не робити — це не зроблять, якщо можна зробити «неправильно» — зроблять неправильно. (Іронічно, що найкраще це видно як раз по останніх стандартах C++ 🥲).

Я плюси досі люблю, але в цьому питанні вже схиляюсь в бік АНБ.
👍2👎1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Зацініть, на яку фічу щойно натрапив в Vivaldi. (Бля, ну не хромом же користуватись, альо. Едж також чимось не зайшов). Активується затисканням ⌘
👍3👀1
Як відомо, завжди є простір для покращень. Сьогоднішня тема — білд-інструкції.

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

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

А у нас в рідмі тільки назва! Причини Відмазочки теж є авжеж. По-перше, в якомусь, нехай й трохи розмазаному вигляді вимоги до енвайрменту є прям в білд-скриптах, але це треба шарити, де шукати, або вміти читати повідомлення про помилки в лоґах. По-друге, я все ж витратив чимало енергії, аби у нас все збиралось та запускалось одним команд-лайном. Тобто не все так погано, але ж можна краще.
👀1
Cіпласпластик
Як відомо, завжди є простір для покращень. Сьогоднішня тема — білд-інструкції. Як часто вам доводиться онбордити когось в проєкт? Ну, навряд чи часто, еге ж? Мені ось ніби теж. Наприклад, поточний проєкт в зоні моєї відповідальності цілковито розробляється…
Треба бути чесним із собою: в середньому мені чхати на чийсь онбордінг. Два людинодні туди, два сюди — на дедлайни не вплине, ніхто не зауважить. А ось на кого мені не пох, так це на себе, особливо в умовах декількох проєктів, чи то робочих, чи власних — не важливо.

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

Чого я точно не хочу робити, так це писати якісь інструкції в документацію, яка стане невалідною вже за день. Особливо волаю з намагань підтримувати актуальність білд-інструкцій на якомусь повністю відірваному від коду Confluence, як в одному з наших минулих проєктів на кількасот програмістів (там таких інструкцій було щонайменше чотири різних — одну написав я 😁). Тож загалом шляхи два: або генерувати документацію з коду, або робити код документацією.

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

А для другого я кілька тижнів тому натрапив на нового постійного мешканця моєї рубрики корисні #тулзи: just. Це такий типу make, але спрощений. Головне, що це не білд-система, а тупий запускач команд. Я наразі описав там setup-env, яка ставить потрібне через brew та фігачить автоматично налаштування, а також базові build, run, test, package, show-docs тощо.

Було:
qbs build -d build config:debug -p app -- --last
Стало:
just run-last

Було:
qbs build -d build config:release -p autotest-runner
Стало:
just test

Планую тепер в усі свої проєкти класти аналогічний justfile, аби можна було дати раду, що взагалі можна з ним робити.

Покращення!
👀1
Cіпласпластик
Треба бути чесним із собою: в середньому мені чхати на чийсь онбордінг. Два людинодні туди, два сюди — на дедлайни не вплине, ніхто не зауважить. А ось на кого мені не пох, так це на себе, особливо в умовах декількох проєктів, чи то робочих, чи власних — не…
Окремої уваги заслуговує назва. Взагалі дуже полюбляю, коли у тулзів дуже влучні й логічні назви. Серед прикладів одразу спадають на думку цей just, а також go get, fuck (aka thefuck). Ніби ще щось було.
👀1