Cіпласпластик

Description
Про айті та дотичні теми загалом, ну й трохи про C++.

Мої емоджі: https://t.me/addemoji/AdaptiveDevIcons

🇺🇦
Зворотний звʼязок: @gooro0
Advertising
We recommend to visit

❌ Чорний Лист заходу України ⚠️
(Львівщина, Волинь, Тернопільщина, Рівненщина, Франківська та Хмельницька області! Закарпаття та Чернівецька)

Надіслати новину/Реклама 🏴‍☠️ @send_me_smth

Last updated 13 hours ago

Last updated 1 week, 4 days ago

Зв'язок: @amanogawa_sup
На вступ: https://forms.gle/uJsKK2DqDjM65Kcf8

Бот: @amanogawa_ua_bot
Релізи: @amanogawa_release_re
Чатик: @amanogawa_talks
Наш сайт: https://amanogawa.space/

У коментах лише українська

https://base.monobank.ua/CyXpFgHdz8XH7u

Last updated 2 days, 6 hours ago

1 month, 2 weeks ago
1 month, 3 weeks ago
1 month, 3 weeks ago

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

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

Вирішив я у відпустці зробити на своєму ігровому віндовому компі так, щоб Dolby Atmos працював. Телевізор Samsung, саундбар Samsung, вінда підтримує — що може бути легше?
(Правильна відповідь: легше не ~~вийобуватися~~ вмикати Atmos. Але це нецікаво.)

Значить, схема така: комп через HDMI-дріт йде в саундбар, а саундбар через інший HDMI — у телевізор. Не працює

Ок, тоді комп йде в телевізор, а телевізор у саундбар через HDMI ARC. Інколи працює з жахливим лагом, а інколи чомусь взагалі ні

Тоді комп одним HDMI-дротом йде в телевізор чисто заради відео, а іншим — у саундбар для аудіо. Починаються танці з налаштуваннями, в один момент яких комп взагалі відмовився виводити кудись картинку, а у мене навіть монітора немає. І по RDP почав помилку писати. Ще й Switch тепер на саундбар звук не виводить

Ок, вирішив замовити нові кабелі. Ви ж в темі, що вони всі різні, хоча виглядають однаково? З якимись у вас буде 4K, з іншими ні. 120 Hz? HDR? — Як пощастить. Не забуваємо про довжину ще!

Гірше ситуація тільки з USB-C — ось там взагалі найгірший прояв динамічної типізації прямо у залізі‼️, бо може бути USB 3.0, а може бути 3.2… а може бути чисто живлення… або живлення, але не з тим струмом… а може й живлення в інший бік… або навіть не USB, а HDMI! Чи якийсь Display Port через Thunderbolt. Дуже зручно короч, дякую.

Добре, кабелі новіші отримав, почав знов під’єднувати. І врешті працює тільки варіант, коли сигнал з компа йде у телевізор, а звук з іншого порту телевізора через HDMI ARC — вже у саундбар Наче логічніше було б, якби сигналу не доводилося робити петлю, але ні.

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

Інша проблема: перехід з тиші у стан, коли є звуки. Якогось хєра це займає ну секунди 4, їй-богу. Тобто ці чотири секунди звуку просто нема! Для ігор це зазвичай не суттєво, бо там завжди хоча б фонова музика є, але якого хєра‽ Знаєте, що допомогло? Зайти в налаштування звукового пристрою та поміняти драйвер з NVIDIA на вбудований віндовий 🤡🎪

Я дуже сподіваюся, що люди, які це все вигадали, вимушені щодня з цим стикатися і так само страждати!

4 months, 3 weeks ago

C++-комітет продовжує ~~підглядати в спеку Haskell~~ обговорювати нові потенційні фічі для мови. Цього разу (документу вже рік насправді) дійшло до плейсголдерів _, щоб зручно було користуватися зіставленням із взірцем (паттерн-матчінгом), якого звісно досі нема, або, наприклад, розпаковувати кортежі на кшталт:

auto [x, y, \_] = f();

Тут типу третє значення нам не суттєве, тож можна використати _, щоб не вигадувати імʼя, а потім боротися з ворнінгами про те, що воно не використовується, додаючи [[maybe_unused]].

Та C++ би не був собою, якби все було так прозоро. Ніщо не заважає вам і зараз використати _ як імʼя змінної:

auto [x, \_] = make\_pair(1, 2); cout << x << "," << \_ << endl; // використання

Тож це працюватиме й надалі. Однак інколи хочеться зробити так двічі в одному скоупі, а structured binding — це визначення нової змінної, а не просто запис у ту, що вже існує:

auto [x, \_] = make\_pair(1, 2); auto [\_, y] = make\_pair(3, 4);

Зараз такий код генерує error: conflicting declaration ‘auto _’, бо це повторна декларація змінної, а от з новим пропоузалом перестане.

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

auto \_ = 42; // Оголошення auto \_ = 0; // Повторне оголошення { auto \_ = 1; // Новий скоуп. Оголошення з шадовінгом assert( \_ == 1 ); // Можна прочитати } assert( \_ == 42 ); // Не можна прочитати ***?***

В принципі, очевидно, еге ж?) А, до речі… У неймспейсі двічі не можна оголосити:

namespace a { auto \_ = f(); // Ок auto \_ = f(); // Помилка }

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

З іншого боку шанси, що це увійде в C++26, все одно низькі ) Може в C++32…

4 months, 4 weeks ago
5 months ago
We recommend to visit

❌ Чорний Лист заходу України ⚠️
(Львівщина, Волинь, Тернопільщина, Рівненщина, Франківська та Хмельницька області! Закарпаття та Чернівецька)

Надіслати новину/Реклама 🏴‍☠️ @send_me_smth

Last updated 13 hours ago

Last updated 1 week, 4 days ago

Зв'язок: @amanogawa_sup
На вступ: https://forms.gle/uJsKK2DqDjM65Kcf8

Бот: @amanogawa_ua_bot
Релізи: @amanogawa_release_re
Чатик: @amanogawa_talks
Наш сайт: https://amanogawa.space/

У коментах лише українська

https://base.monobank.ua/CyXpFgHdz8XH7u

Last updated 2 days, 6 hours ago