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

Мої емоджі:
https://t.me/addemoji/AdaptiveDevIcons
https://t.me/addemoji/VehicleBrands
Download Telegram
Незважаючи на назву каналу, я взагалі-то не розраховував, що найперший же пост буде про C++. Але стан підтримки цієї мови мене знов доїбав.

Вирішили ми, значить, перейти на С++20, в першу чергу заради рейнджів. Оновити Clang на лінуксовому білд-сервері мабуть було найлегше, навіть враховуючи, що раптом виявилось, що ні в кого немає працюючих креденшиалзів, щоб на сервер взагалі зайти 😅 Віндового серверу в нас немає — замість цього я просто використовую якийсь ноутбук. І все в цілому збс окрім факту, що він вимагає пароль після ребуту (бо Bitlocker), а я на ремоуті. І авжеж при оновленні віжуал студії вона посеред інсталяції почала вимагати ребут. Для macOS в мене старий макміні. Оновити компілятор? Легко! Тільки треба оновити Xcode. А щоб оновити Xcode, треба оновити операційну систему також. Навіть є спеціальна тулза (UPD: тепер ще є тег #тулзи), яка показує різні версії Xcode та їх реквайрменти. Ну то добре: трохи зайобно, але можна й пооновлювати. Все це не має відношення до C++, я знаю. Єбля з енвайрментом — звичайні буденні справи айтішників.

Проте останньою краплею був момент, коли «раптово» виявилось, що сучий Apple Clang не підтримує рейнджі навіть в 14-й версії ахах 💩 Я навіть хз, що тут додати. Прогавив, ага. Треба тепер чи то колупатись з ніблеровими рейнджами замість стд-шних, чи то просто легше повернутись на С++17. Кінець 2022 року на дворі, а підтримка фічей минулих стандартів в компіляторах — це тупо лотерея. Легше в реальних кросплатформних проектах не чіпати того всього взагалі. Ніби 15 років розвитку прям, нові «корисні» фічі, а воно досі придатне хіба що похизуватись на конференціях та в статтях, як охуєнно на етапі компіляції можна робити те, що нікому й не спадало на думку, або як легко генерувати рандомні числа за десятьма різними законами розподілу. А шо там зі стандартними механізмами роботи з файловою системою за 40 років існування мови? Шо, вже рік як там? Ого! А календар вже зайшов в стандарт? А, зайшов, але не імплементований, ну ок. А може навіть парсер команд-лайн аргументів вже є? А нє, нє, це досі мрії…

В цілому мені це нагадує, чому я колись відмовився від хаскелю. Ні, там не було таких проблем з оновленням, та й з лібами все значно краще, ставити їх легше і т.д. Але розробка на ньому зрештою все одно — «too much effort». В С++ все навіть гірше, бо проблеми починаються ще на етапі налаштування середовища, а закінчуються на змогах розповсюджувати софт, на ньому написаний. Тож після всіляких Red, де весь тулчейн — це один бінарь, починаєш замислюватись, а чи варто взагалі свій час на то витрачати? Й причин це робити майже не залишилось.
👍4😢1
This media is not supported in your browser
VIEW IN TELEGRAM
👍1😁1💯1
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив на таку штуку як Paperless, про яку колись ще розповім. Треба було десь затестити, а засмічувати локально собі комп не хотілось, тож я раптово усвідомив, що мій NAS — фактично не дуже потужний, але все-таки Linux-сервер (на Celeron'і, ага, ну шо поробиш). Сховище це в мене від Synology, який я дуже раджу, бо він прям для нубасів типу мене. Там через web UI купу речей можна зробити, починаючи від налаштування реверс-проксі і DNS-сервера й закінчуючи докером. Деякі штуки через SSH значно легше робити безперечно, але мати змогу обійтись без нього (не теоретично, а прям реально на практиці) — це за теперішніх часів ачівка майже. Ще б локалізацію українською додали, то взагалі б було чудово.
👍2
Cіпласпластик
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив…
А щойно я ось взагалі сидів і читав, як під юнікс драйвер для принтера написати 😂 І це для мене не дуже типове використання часу, маю сказати, тож вирішив згадати, з чого все почалось. Подивимось, куди врешті-решт заведе, але принаймні за цей період дізнався багато нового )
👍1
Здибав вчора застосунок, аби дивитись вміст pkg-файлів на #macOS. Це мабуть трохи олдскул, але мене прям бісить ця хуйня, коли воно щось ставить в систему, а що й куди — невідомо. Отже: Suspicious Package.
UPD: додав в #тулзи
👍1
У джавістів вдома пакет з пакетом з пакетом з пакетами в пакеті, схоже
😁4
Cіпласпластик
Тим часом проект на С++ (жодної папки взагалі)
Щонайменше половина читачів, як виявилось, не зрозуміла, що я вважаю плюс-мінус лайном обидва варіанти, а не тільки перший ) Тобто немає нічого прикольного у варіанті без папок взагалі — це ж тупо звалище якесь. Половина читачів… і це враховуючи, що в мене 4 підписники всього зі мною включно ахахаха 😂
😁1
Друзяка скинув вчора отаку штуку https://rclone.org (піде в рубрику #тулзи).
На тому ж сінолоджі є плюс-мінус аналогічний Cloud Sync, але він підтримує втричі меншу кількість сервісів. З Rclone, схоже, технічний бік питання переїзду на інший клауд можна закривати.
👍1🔥1
Я якось перебував під враженням, що Elm — це такий собі Haskell під вебфронтенд, на перший погляд місцями позбавлений упоротої хуйні трішечки спрощений. Аж доки мені не довелося на ньому трохи пописати нещодавно. Ну й (на другий вже погляд) це дві різні мови майже. Спорідненість рівня Commodore BASIC та VB.NET: ніби синтаксис схожий, але в елмі немає й половини можливостей хаскелю. Наприклад, в останньому можна паттерн-матчити прям в параметрах функції, і це реально дуже лаконічно та зручно, а в Elm можна тільки в case ... of; паттерн-ґарди? — ні, не чули; кастомні оператори були, але наразі заборонені; інфіксного запису для звичайних функцій також немає; тощо. Тайп-класів теж нема, хоча є аж чотири констрейнти для типів. Документація — це сторінки з двома абзацами тексту на топік.

Але… Якщо змиритись із незручностями за браком деяких звичних фічей, то писати код раптом стає доволі приємно. Навіть зникає відчуття, що мозок дарма спалює калорії на вирішення безглуздих проблем, котрі тобі підкидає компілятор. Тобто починаєш розʼязувати саме свої задачі, задля яких ти, власне, сів код писати.
👍1
Ох, ну ніхуя, Qt пофіксили баг (QTBUG-77428) про hoisting let та const в #QML, який я зарепортив три роки тому ⌛️
👍4
Media is too big
VIEW IN TELEGRAM
Трохи про сучасні UI-фреймворки для десктопних програм 🙂
(Чи варто казати, що модальний діалог не закривається, не реагує на кліки та не дає вийти з програми?)
😁4
Cіпласпластик
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив…
Я ось зробив зі свого Synology NAS такий собі лінукс-сервер, але можна й навпаки безумовно, бо комп і є комп, хулі. Воно все про одне й те саме, а різниця тільки на рівні деяких окремих налаштувань та патернів використання.

Так-от, якщо вручну колупатися в налаштуваннях впадлу, а зробити NAS із зайвого компу все ж хочеться, то можна спробувати цю хєрню: https://unraid.net. Щоправда вона не безплатна аж ніяк 😕 В мене руки не дійшли спробувати, але якщо це зробите ви, розкажіть )
👍2
Витратив дві години, аби додати керування годівницею для кота на дашборд в Home Assistant. Той випадок, коли легше було продовжувати нахилятись, щоб натискати фізичну кнопку, але не так цікаво 😅
👍1
Цікавий факт. Є в мене на сервері (котрий NAS, так) декілька докер-контейнерів з різними програмами. Всі написані на бозна-чому авжеж, але плюс-мінус швиденько працюють навіть на Celeronʼі та повільних жорстких дисках. І тільки одна з програм (а саме Grocy) лагуча шопиздець, хоча там тупо CRUD простий та майже ніяка веб-юайка. Ні на що не натякаю, але якось так співпало, що воно на PHP написано 🙂 Навіть GitLab швидше ворушиться якось, хоча ресурсів при цьому жере — аж за вухами лящить.

Доки чорна пʼятниця була, вирішив взяти собі SSD для кешу. Мануали я заздалегідь не читав авжеж, тю 😂, тож вже коли отримав, опинилось, що з одним SSD можна тільки read-only кеш зробити. «Ну добре», — думаю, — «може хоч трохи щось поліпшиться з цим кешем». Аякже — тупо нульовий приріст.

Як правильно діяти в подібних ситуаціях? Безумовно треба повертати SSD, якщо з ним не вийшло досягти очікуваного ефекту. Що роблю я? Правильно, замовляю другий. Налаштований дуже песимістично, я встановлюю його, роблю RAID 1 для кешу читання-запису і… це диво! Почало працювати зі швидкістю думок, хто б міг подумати‽

Наступний крок — це написати повністю свій UI, бо зручність оригінального десь між 0 та −1. А згодом може й бекенд перепишу на щось нормальне 😅
👍1
😂 Волаю з такого. Всі популярні мови, але в списку жодної мови.
😁3
Cіпласпластик
😂 Волаю з такого. Всі популярні мови, але в списку жодної мови.
Це зі статті про SuperTokens. Воно насправді ще підтримує Python, Go і щось там про iOS/Android. А для решти, кажуть, є API, тож ви можете написати SDK самі ахаха
👍1
Як завжди при взаємодії з картонними коробками, я порізав собі палець прям над нігтем, тож час згадати одне з відкриттів цього року — пластир-спрей! Хіба не круто‽ Це реально працює )
👀1
Читаю тут презентацію Verse — нової мови програмування від Epic Games. Чув про неї і раніше, хоча зараз видно, що початкова концепція змінилась. До того ж виявилось, що над нею працює SPJ (один з творців Haskell — тож мабуть тому і змінилась). Тім Свіні щось там фоном парить за metaverse, але наразі складно уявити, до чого він веде та як саме збирається використовувати цю Verse там. Проте вже зрозуміло, що це функціональна мова програмування (а також логічна, а я досі не розібрався з Prolog 😓). Пишуть, мовляв, має бути значно легшою для сприйняття: ближче до JS, аніж до C++. Ну, подивимось.
👀1