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

Мої емоджі:
https://t.me/addemoji/AdaptiveDevIcons
https://t.me/addemoji/VehicleBrands
Download Telegram
В одному з місцевих супермаркетів зʼявилися отакі ручні сканери (за нирку грошей, певно, бо це Zebra!): береш на вході, в процесі все скануєш — і (за задумом) не витрачаєш час на касі.

Ідея звучить настільки чудово, що нам не западло проїхати заради цього десяток зайвих кілометрів саме в цей супермаркет. Я взагалі за змоги мінімізую необхідність контактувати з незнайомими людьми: навіть бензин заливаю на АЗС із самообслуговуванням. А тут раптом у супермаркеті такі технології , що гріх не скористатися.

Досвід користування цією штукою донині:
• За відчуттями це дійсно економить час, бо просканувати в процесі не так вже й важко, зате (за задумом) не треба чекати на касі.
• Першого разу виявилося, що окремих кас для користувачів з цими сканерами нема — треба йти на звичайну з чергою 🤡 Ми натомість пішли на швидкі каси самообслуговування, куди зазвичай люди йдуть з < 10 одиницями товарів.
Очікування: тиснеш на сканері кнопку «сплатити», прикладаєш картку або телефон, щасливий ідеш додому. Або хоча б: тиснеш «сплатити», отримуєш штрих-код, скануєш на касі, платиш там, ідеш додому. Реальність: тиснеш «сплатити», а сканер показує якесь число. Кличеш працівника магазину, вона/він прикладає свою спецову картку до термінала, потрапляє в якесь приховане меню, там проходить через купу екранів з зовсім іншим інтерфейсом, вбиває це число, воно з третьої спроби сінкає список зі сканера, і вуаля — можна платити 🤦
• Іншим разом звичайна каса була вільна, тож пішли з цим сканером туди. Там усе той же прикол з числом і якимись робочими меню. А далі раптова перевірка! Очікування: касир бере декілька рандомних штук з візочка й сканує їх, а система підтверджує, що вони дійсно наявні в списку. Реальність: касир бере декілька рандомних штук, сканує по одному, система показує якийсь внутрішній артикул, а далі касир очима вишукує цей артикул у списку 🤪 На все це йде ще більше часу, ніж пропикати всі наші 100500 товарів зі стрічки, як зазвичай.
• І останній випадок… Очікування (зауважте, як планочка впала вже): просканував усе в процесі, помаявся на касі з цими мутними інтеракціями, сплатив, пішов додому. Реальність: просканував усе в процесі, за пʼять хвилин до виходу прога на сканері крашнулася (там звичайний 💻 до речі), при повторному запуску нічого не відновила — тупо порожній список 🤬😂 Ото в мене дупа згоріла з такого, що аж сюди пишу тепер…

Черговий доказ того, що сучасний софт завжди смокче в порівнянні з хардваром. Сам пристрій дуже класний: якісний, доволі зручний — жодних нарікань. Але софтвар, як завжди, все зіпсував.

Вкотре нагадую, що найстрашніший гріх в UX — це втрата користувацьких даних. І це не про тільки про випадки, коли сервери десь погоріли, а бекапів у хостера не було. Це також про всі ті дрібниці, з яких складається наше щоденне користування програмними продуктами: десь поставили галочку, десь ввели текст, десь попикали сканером — а програма це забула? Ну оце воно і є.
Please open Telegram to view this post
VIEW IN TELEGRAM
Декілька років тому 💻 на своєму World Summitʼі мала доповідь, в якій чувак натякав, що було б цікаво використовувати цю бібліотеку в програмах іншими мовами.

Зараз Qt можна використовувати з C++ (очевидно), плюс є офіційні привʼязки для Python під назвою PySide. Ще промайнули якісь дивні поробки для інтеграції з 💻. На цьому все. Існує безліч неофіційних, та щось довіри до них нема.

Я вже якось згадував, що #QML як мова для використання фреймворка Qt Quick — це одна з останніх вагомих причин, чого я досі користуюся C++. Просто мені подобається робити UI і подобається, коли врешті він працює достатньо швидко й не вимагає 2 ГБ оперативки, як це нерідко буває з туду-програмами на електроні. Втім C++ у своєму поточному стані дійсно далека від приємної мови, хоча я потроху прямує до неї.

Так-от місяць тому пройшов черговий QtWS, де вони нарешті анонсували так звані Qt Bridges. Поки що жодної конкретики, але за їхніми розповідями це якась достатньо високорівнева апішка для інтеграції QML-ного рушія (і, може, не тільки) в програми іншими мовами. Першими їхніми обранцями стали: 💻, Kotlin 💻 і Java 💻, Python 💻, Rust і Swift 🕊. Я особисто найбільше зацікавлений в останньому, бо під час Advent of Code 2024 мені загалом ця мова сподобалася. З іншого боку дуже хотілося б ще мати змогу писати на QML разом з 🦶. Ну й з Janet 👩‍🦰 ще б теж непогано ))

Найбільше в усьому цьому мене зараз хвилює навіть не технічний бік питання, а легальний. Nokia в свій час перевела Qt з GPL на LGPL, що зіграло на руку популяризації бібліотеки. Але зараз ми бачимо, що Qt Group в пошуках додаткових джерел для заробітку робить навпаки: створює нові модулі, інколи попередньо задепрекейтивши «старі» LGPL-ні, і релізить їх тільки під GPL та комерційною ліцензією. Наприклад, Qt Graphs, Qt HTTP Server, Qt Lottie Animation, Qt Quick 3D тощо.

А як хотілося б мати змогу писати UI на QML, а бізнес-логіку на чомусь компільованому, потім збирати це в один невеличкий бінарь — і щоб це все ще й безплатно! 🤑 Хоча, мабуть, легше вже свій рушій для QML написати натомість.
Please open Telegram to view this post
VIEW IN TELEGRAM
Спитав у ШІ-шки, як мені витягнути скриптом список усіх моїх ігор зі Стіма, Епіка, ГОГа тощо. ChatGPT поганого не порадить 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
Забув закинути в цей канал таку штуку як непевний калькулятор (хоча в коментарях вже десь було). Ідея проста й водночас потужна та вдала: у деяких розрахунках просто не знаєш конкретних значень, тож чого б не дати змогу оперувати приблизними?

Приблизні значення тут задаються діапазонами від/до. Ну, знаєте, як ото в рецептах інколи пишуть, типу, «візьміть 2–3 яблука»? А вам треба вдвічі більшу порцію, наприклад. То пишете просто:
2~3 * 2

і воно каже вам, що відповідь 4~6. Це звісно можна й в голові обрахувати, та коли формула стає складнішою, і непевних параметрів стає більше, то легко заплутатися. До того ж цей калькулятор ще й гістограму з розподілом будує:
 above | ▒▒▒▒
6.10 | ▒▒▒
5.99 | ▒▒▒▒▒
5.88 | ▒▒▒▒▒▒▒
5.77 | ▒▒▒▒▒▒▒▒▒▒
5.66 | ▒▒▒▒▒▒▒▒▒▒▒▒▒
5.55 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
5.44 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
5.33 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
5.22 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
5.11 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
5.00 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ (5.00)
4.89 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
4.78 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
4.67 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
4.56 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
4.45 | ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
4.33 | ▒▒▒▒▒▒▒▒▒▒▒▒▒
4.22 | ▒▒▒▒▒▒▒▒▒▒
4.11 | ▒▒▒▒▒▒▒
4.00 | ▒▒▒▒▒
3.89 | ▒▒▒
below | ▒▒▒▒


Окрім референсної імплементації від автора на Dart 💻 люди кинулися переписувати це на своїх улюблених мовах. Мені сподобалася ось ця вельми лаконічна версія на гаскелі 💻, де чувак просто в монаду все загорнув.

Тепер хотілося б побачити аналогічний синтаксис у всіх програмах-калькуляторах (або навіть у пристроях!).
Please open Telegram to view this post
VIEW IN TELEGRAM
Чи то я вже дід, чи то дійсно все настільки погано…

Бачили-чули ж, певно, про презентацію Apple нещодавню? Всі очікували якихось інновацій, а натомість отримали жменю старих фічей з самсунгів і візуальний стиль від Microsoft (щоправда, всі порівнюють з Windows Vista, а мені воно більше схоже на свіжіші моушн-дизайнерські відоси про Fluent UI).

Але мова не тільки про Apple. Буквально за декілька днів до того проходив великий фестиваль відеоігор — Summer Game Fest. Презентацію від Epic Games я проґавив. А от далі пішли State of Play (PlayStation), власне Summer Game Fest і купка дрібніших на кшталт Future Games Show, PC Gaming Show тощо. І знаєте, що їх всіх обʼєднує? Показані ігри — переважно лайно! (Не кажучи вже про засилля московії — мінімум 4 великих гри від них 💩).

Таке враження, що лишилося три жанри: анімешні чік-чік-вжух-слешери, абсолютно однакові соулс-лайк з босами розміром з будинок і всраті мультиплеєрні шутери а ля Овердроч з Fortnite-подібними пластмасовими персонажами. Все МАКСИМАЛЬНО вторинне, ще й просякнуте недоречною сексуалізацією.

У мене тут питання до всіх продюсерів, продакт-менеджерів тощо: про шо ви думаєте взагалі, коли таке розробляєте? Що декілька місяців читаєш, як за три тижні з релізу закрився якийсь черговий нікому не потрібний шутер, а потім на фесті дивишся ще на 5 таких самих, тільки гірше 🤡

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

Для цього хоча б інколи варто спілкуватися зі своїми користувачами, щоб зрозуміти, де їм найбільше болить, а що навпаки дуже подобається. І видається, що як Apple, так і купа ігрових студій дедалі менше розуміють, що й для кого вони насправді роблять. Буквально щойно прочитав статтю про розробку останнього Dragon Age: The Veilguard (aka The Failguard), і там треш: то вони мультиплеєр роблять, то не мультиплеєр, то серйозне, то поверхнево-саркастичне — вісім років дрочки туди-сюди.

But fear not! Скоро люди перестануть робити такий вторинний непотріб… адже тепер це робить #ШІ! Весь контент вже 100500 разів перетравлений, поживних речовин в ньому нема. Навіщо писати щось, що ніхто не читатиме, а просто попросить ШІ-шку підбити підсумки одним абзацем?

А знаєте, до речі, у кого була найтоповіша презентація? У Xbox! Мінімум бла-бла-теревень, максимум премʼєр крутих і цікавих ігор. Все-таки Microsoft щось тямить у бізнесі, хто б міг подумати.
Please open Telegram to view this post
VIEW IN TELEGRAM
Посидів сьогодні онлайн на Ada Developers Workshop, який є частиною AEiC 2025 — конференції, присвяченої мові 💻, що проходить зараз у Парижі. Сподобалося, що там не тільки діди, а й молоді доволі багато.

Спочатку послухав про те, як чувак матчить ліцухи за шаблонами у своїй тулі spdx-tool. Можна, наприклад, пробігтися по всіх файлах і позаміняти заголовки з текстом ліцухи на SPDX-License-Identifier: MIT чи шо там у вас. Ще можна створювати шаблони власних ліцензій. Загалом цікаво доволі. Він токенізує шаблони й використовує TF-IDF для пошуку найбільш схожої ліцухи (схожість видає як число — косинус подібності). Я для схожих потреб зазвичай користувався REUSE-тулою, до якої маю низку нарікань.

Потім подивився трохи на новий GUI-фреймворк — LibreFrame від контори, що займається хостингом чи чимось таким. Загалом нічого такого прям вау, але приклади коду сподобалися — дуже лаконічні й прості!

Далі чувак з тесли 🚗 розповідав про написання програм на Ada під Zephyr OS ⌛️ — це така крихітна система реального часу, яку зараз часто крутять на всіляких 💻 ESP32. Щось доповідач там крутив разом 💻, CMake 🤮 і Ada, але я знудився слухати.

Інший чувак розповідав про нову бібліотеку для рядків — UXString. Юнікод — це завжди біль, особливо для таких старих мов. Врешті у чувака вийшло 4 різні реалізації бібліотеки з різними базовими типами всередині 😐 Але інтерфейс вийшов доволі зручний (бо надихався QString з 💻 та String з 💻).

В іще одній доповіді мова йшла про bbt — інструмент для black-box-тестування, в якому тести пишуться природною (англійською) мовою. Насправді там Gherkin в Markdown. Якість самої тулзи наразі «інженерного рівня», так би мовити, хоча працювало! Мені сподобалося.

Пару доповідей про property-based testing і про імплементацію BZip2 я слухав у пів вуха — можна вважати, що пропустив.

Ну а наостанок чувак розповідав про створення марсохода на Ada. Раніше в блозі AdaCore вже була стаття на тему, але зараз розповіли трохи більше деталей (працює на 🍓-Pico, контролюється геймпадом від плейстейшна тощо). Робочий прототип можна прямо там на конфі подивитися. Плюс ще тіпок розповів про деякі інші демки й прототипи, які вони програмували на Ada: іграшкова залізна дорога, квадрокоптер Crazyflie, якась штука, яка малює маркером логотипи RISC-V 5️⃣ і AdaCore, а потім їх стирає, може ще щось.

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

Якби я років 20 тому дізнався, що Ada досі не вмерла, може цей канал би називався Адамантій 🦾, а не Сіпласпластик 😂
Please open Telegram to view this post
VIEW IN TELEGRAM