Незважаючи на назву каналу, я взагалі-то не розраховував, що найперший же пост буде про C++. Але стан підтримки цієї мови мене знов доїбав.
Вирішили ми, значить, перейти на С++20, в першу чергу заради рейнджів. Оновити Clang на лінуксовому білд-сервері мабуть було найлегше, навіть враховуючи, що раптом виявилось, що ні в кого немає працюючих креденшиалзів, щоб на сервер взагалі зайти 😅 Віндового серверу в нас немає — замість цього я просто використовую якийсь ноутбук. І все в цілому збс окрім факту, що він вимагає пароль після ребуту (бо Bitlocker), а я на ремоуті. І авжеж при оновленні віжуал студії вона посеред інсталяції почала вимагати ребут. Для macOS в мене старий макміні. Оновити компілятор? Легко! Тільки треба оновити Xcode. А щоб оновити Xcode, треба оновити операційну систему також. Навіть є спеціальна тулза (UPD: тепер ще є тег #тулзи), яка показує різні версії Xcode та їх реквайрменти. Ну то добре: трохи зайобно, але можна й пооновлювати. Все це не має відношення до C++, я знаю. Єбля з енвайрментом — звичайні буденні справи айтішників.
Проте останньою краплею був момент, коли «раптово» виявилось, що сучий Apple Clang не підтримує рейнджі навіть в 14-й версії ахах 💩 Я навіть хз, що тут додати. Прогавив, ага. Треба тепер чи то колупатись з ніблеровими рейнджами замість стд-шних, чи то просто легше повернутись на С++17. Кінець 2022 року на дворі, а підтримка фічей минулих стандартів в компіляторах — це тупо лотерея. Легше в реальних кросплатформних проектах не чіпати того всього взагалі. Ніби 15 років розвитку прям, нові «корисні» фічі, а воно досі придатне хіба що похизуватись на конференціях та в статтях, як охуєнно на етапі компіляції можна робити те, що нікому й не спадало на думку, або як легко генерувати рандомні числа за десятьма різними законами розподілу. А шо там зі стандартними механізмами роботи з файловою системою за 40 років існування мови? Шо, вже рік як там? Ого! А календар вже зайшов в стандарт? А, зайшов, але не імплементований, ну ок. А може навіть парсер команд-лайн аргументів вже є? А нє, нє, це досі мрії…
В цілому мені це нагадує, чому я колись відмовився від хаскелю. Ні, там не було таких проблем з оновленням, та й з лібами все значно краще, ставити їх легше і т.д. Але розробка на ньому зрештою все одно — «too much effort». В С++ все навіть гірше, бо проблеми починаються ще на етапі налаштування середовища, а закінчуються на змогах розповсюджувати софт, на ньому написаний. Тож після всіляких Red, де весь тулчейн — це один бінарь, починаєш замислюватись, а чи варто взагалі свій час на то витрачати? Й причин це робити майже не залишилось.
Вирішили ми, значить, перейти на С++20, в першу чергу заради рейнджів. Оновити Clang на лінуксовому білд-сервері мабуть було найлегше, навіть враховуючи, що раптом виявилось, що ні в кого немає працюючих креденшиалзів, щоб на сервер взагалі зайти 😅 Віндового серверу в нас немає — замість цього я просто використовую якийсь ноутбук. І все в цілому збс окрім факту, що він вимагає пароль після ребуту (бо Bitlocker), а я на ремоуті. І авжеж при оновленні віжуал студії вона посеред інсталяції почала вимагати ребут. Для macOS в мене старий макміні. Оновити компілятор? Легко! Тільки треба оновити Xcode. А щоб оновити Xcode, треба оновити операційну систему також. Навіть є спеціальна тулза (UPD: тепер ще є тег #тулзи), яка показує різні версії Xcode та їх реквайрменти. Ну то добре: трохи зайобно, але можна й пооновлювати. Все це не має відношення до C++, я знаю. Єбля з енвайрментом — звичайні буденні справи айтішників.
Проте останньою краплею був момент, коли «раптово» виявилось, що сучий Apple Clang не підтримує рейнджі навіть в 14-й версії ахах 💩 Я навіть хз, що тут додати. Прогавив, ага. Треба тепер чи то колупатись з ніблеровими рейнджами замість стд-шних, чи то просто легше повернутись на С++17. Кінець 2022 року на дворі, а підтримка фічей минулих стандартів в компіляторах — це тупо лотерея. Легше в реальних кросплатформних проектах не чіпати того всього взагалі. Ніби 15 років розвитку прям, нові «корисні» фічі, а воно досі придатне хіба що похизуватись на конференціях та в статтях, як охуєнно на етапі компіляції можна робити те, що нікому й не спадало на думку, або як легко генерувати рандомні числа за десятьма різними законами розподілу. А шо там зі стандартними механізмами роботи з файловою системою за 40 років існування мови? Шо, вже рік як там? Ого! А календар вже зайшов в стандарт? А, зайшов, але не імплементований, ну ок. А може навіть парсер команд-лайн аргументів вже є? А нє, нє, це досі мрії…
В цілому мені це нагадує, чому я колись відмовився від хаскелю. Ні, там не було таких проблем з оновленням, та й з лібами все значно краще, ставити їх легше і т.д. Але розробка на ньому зрештою все одно — «too much effort». В С++ все навіть гірше, бо проблеми починаються ще на етапі налаштування середовища, а закінчуються на змогах розповсюджувати софт, на ньому написаний. Тож після всіляких Red, де весь тулчейн — це один бінарь, починаєш замислюватись, а чи варто взагалі свій час на то витрачати? Й причин це робити майже не залишилось.
GitHub
GitHub - XcodesOrg/XcodesApp: The easiest way to install and switch between multiple versions of Xcode - with a mouse click.
The easiest way to install and switch between multiple versions of Xcode - with a mouse click. - GitHub - XcodesOrg/XcodesApp: The easiest way to install and switch between multiple versions of Xc...
👍4😢1
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив на таку штуку як Paperless, про яку колись ще розповім. Треба було десь затестити, а засмічувати локально собі комп не хотілось, тож я раптово усвідомив, що мій NAS — фактично не дуже потужний, але все-таки Linux-сервер (на Celeron'і, ага, ну шо поробиш). Сховище це в мене від Synology, який я дуже раджу, бо він прям для нубасів типу мене. Там через web UI купу речей можна зробити, починаючи від налаштування реверс-проксі і DNS-сервера й закінчуючи докером. Деякі штуки через SSH значно легше робити безперечно, але мати змогу обійтись без нього (не теоретично, а прям реально на практиці) — це за теперішніх часів ачівка майже. Ще б локалізацію українською додали, то взагалі б було чудово.
👍2
Cіпласпластик
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив…
А щойно я ось взагалі сидів і читав, як під юнікс драйвер для принтера написати 😂 І це для мене не дуже типове використання часу, маю сказати, тож вирішив згадати, з чого все почалось. Подивимось, куди врешті-решт заведе, але принаймні за цей період дізнався багато нового )
👍1
Здибав вчора застосунок, аби дивитись вміст
UPD: додав в #тулзи
pkg
-файлів на #macOS. Це мабуть трохи олдскул, але мене прям бісить ця хуйня, коли воно щось ставить в систему, а що й куди — невідомо. Отже: Suspicious Package.UPD: додав в #тулзи
Mothersruin
Suspicious Package — An app for inspecting macOS Installer packages
👍1
Cіпласпластик
У джавістів вдома пакет з пакетом з пакетом з пакетами в пакеті, схоже
Тим часом проект на С++ (жодної папки взагалі)
😁5
Cіпласпластик
Тим часом проект на С++ (жодної папки взагалі)
Щонайменше половина читачів, як виявилось, не зрозуміла, що я вважаю плюс-мінус лайном обидва варіанти, а не тільки перший ) Тобто немає нічого прикольного у варіанті без папок взагалі — це ж тупо звалище якесь. Половина читачів… і це враховуючи, що в мене 4 підписники всього зі мною включно ахахаха 😂
😁1
Друзяка скинув вчора отаку штуку https://rclone.org (піде в рубрику #тулзи).
На тому ж сінолоджі є плюс-мінус аналогічний Cloud Sync, але він підтримує втричі меншу кількість сервісів. З Rclone, схоже, технічний бік питання переїзду на інший клауд можна закривати.
На тому ж сінолоджі є плюс-мінус аналогічний Cloud Sync, але він підтримує втричі меншу кількість сервісів. З Rclone, схоже, технічний бік питання переїзду на інший клауд можна закривати.
Rclone
Rclone syncs your files to cloud storage: Google Drive, S3, Swift, Dropbox, Google Cloud Storage, Azure, Box and many more.
👍1🔥1
Я якось перебував під враженням, що Elm — це такий собі Haskell під вебфронтенд, на перший погляд місцями позбавлений упоротої хуйні трішечки спрощений. Аж доки мені не довелося на ньому трохи пописати нещодавно. Ну й (на другий вже погляд) це дві різні мови майже. Спорідненість рівня Commodore BASIC та VB.NET: ніби синтаксис схожий, але в елмі немає й половини можливостей хаскелю. Наприклад, в останньому можна паттерн-матчити прям в параметрах функції, і це реально дуже лаконічно та зручно, а в Elm можна тільки в
Але… Якщо змиритись із незручностями за браком деяких звичних фічей, то писати код раптом стає доволі приємно. Навіть зникає відчуття, що мозок дарма спалює калорії на вирішення безглуздих проблем, котрі тобі підкидає компілятор. Тобто починаєш розʼязувати саме свої задачі, задля яких ти, власне, сів код писати.
case ... of
; паттерн-ґарди? — ні, не чули; кастомні оператори були, але наразі заборонені; інфіксного запису для звичайних функцій також немає; тощо. Тайп-класів теж нема, хоча є аж чотири констрейнти для типів. Документація — це сторінки з двома абзацами тексту на топік. Але… Якщо змиритись із незручностями за браком деяких звичних фічей, то писати код раптом стає доволі приємно. Навіть зникає відчуття, що мозок дарма спалює калорії на вирішення безглуздих проблем, котрі тобі підкидає компілятор. Тобто починаєш розʼязувати саме свої задачі, задля яких ти, власне, сів код писати.
elm-lang.org
Elm - delightful language for reliable web applications
A delightful language with friendly error messages, great performance, small assets, and no runtime exceptions.
👍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. Щоправда вона не безплатна аж ніяк 😕 В мене руки не дійшли спробувати, але якщо це зробите ви, розкажіть )
Так-от, якщо вручну колупатися в налаштуваннях впадлу, а зробити NAS із зайвого компу все ж хочеться, то можна спробувати цю хєрню: https://unraid.net. Щоправда вона не безплатна аж ніяк 😕 В мене руки не дійшли спробувати, але якщо це зробите ви, розкажіть )
Unraid
Unleash Your Hardware
Unraid is an operating system that brings enterprise-class features for personal and small business applications. Configure your computer systems to maximize performance and capacity using any combination of OS, storage devices, and hardware.
👍2
Cіпласпластик
Я ось зробив зі свого Synology NAS такий собі лінукс-сервер, але можна й навпаки безумовно, бо комп і є комп, хулі. Воно все про одне й те саме, а різниця тільки на рівні деяких окремих налаштувань та патернів використання. Так-от, якщо вручну колупатися…
Ще ось натрапив на Proxmox в якомусь відосі на ютубі. Збережу собі сюди.
Proxmox
Proxmox Server Solutions
Proxmox develops powerful and efficient open-source server solutions like the Proxmox VE platform, Proxmox Backup Server, and Proxmox Mail Gateway.
👍1
Цікавий факт. Є в мене на сервері (котрий NAS, так) декілька докер-контейнерів з різними програмами. Всі написані на бозна-чому авжеж, але плюс-мінус швиденько працюють навіть на Celeronʼі та повільних жорстких дисках. І тільки одна з програм (а саме Grocy) лагуча шопиздець, хоча там тупо CRUD простий та майже ніяка веб-юайка. Ні на що не натякаю, але якось так співпало, що воно на PHP написано 🙂 Навіть GitLab швидше ворушиться якось, хоча ресурсів при цьому жере — аж за вухами лящить.
Доки чорна пʼятниця була, вирішив взяти собі SSD для кешу. Мануали я заздалегідь не читав авжеж, тю 😂, тож вже коли отримав, опинилось, що з одним SSD можна тільки read-only кеш зробити. «Ну добре», — думаю, — «може хоч трохи щось поліпшиться з цим кешем». Аякже — тупо нульовий приріст.
Як правильно діяти в подібних ситуаціях? Безумовно треба повертати SSD, якщо з ним не вийшло досягти очікуваного ефекту. Що роблю я? Правильно, замовляю другий. Налаштований дуже песимістично, я встановлюю його, роблю RAID 1 для кешу читання-запису і… це диво! Почало працювати зі швидкістю думок, хто б міг подумати‽
Наступний крок — це написати повністю свій UI, бо зручність оригінального десь між 0 та −1. А згодом може й бекенд перепишу на щось нормальне 😅
Доки чорна пʼятниця була, вирішив взяти собі SSD для кешу. Мануали я заздалегідь не читав авжеж, тю 😂, тож вже коли отримав, опинилось, що з одним SSD можна тільки read-only кеш зробити. «Ну добре», — думаю, — «може хоч трохи щось поліпшиться з цим кешем». Аякже — тупо нульовий приріст.
Як правильно діяти в подібних ситуаціях? Безумовно треба повертати SSD, якщо з ним не вийшло досягти очікуваного ефекту. Що роблю я? Правильно, замовляю другий. Налаштований дуже песимістично, я встановлюю його, роблю RAID 1 для кешу читання-запису і… це диво! Почало працювати зі швидкістю думок, хто б міг подумати‽
Наступний крок — це написати повністю свій UI, бо зручність оригінального десь між 0 та −1. А згодом може й бекенд перепишу на щось нормальне 😅
Grocy
Grocy - ERP beyond your fridge
Grocy is a web-based self-hosted groceries & household management solution for your home. Open Source. Built with passion.
👍1
Ніяк не дослухаю «Принципи» (хоча вона збс), але в беклог додав ще пару книжок з цього рейтингу. Звідки час брати?
ДОУ
Рейтинг ІТ-книжок 2022
Наприкінці минулого року ми опитали українських ІТ-фахівців щодо книжок, які вони читають — як вузькопрофільних, так і видань з бізнесу, менеджменту, роботи з людьми та командами. Через початок повномасштабного вторгнення росії ми відклали публікацію результатів…
👍1
Cіпласпластик
😂 Волаю з такого. Всі популярні мови, але в списку жодної мови.
Це зі статті про SuperTokens. Воно насправді ще підтримує Python, Go і щось там про iOS/Android. А для решти, кажуть, є API, тож ви можете написати SDK самі ахаха
Supertokens
SuperTokens, Open Source User Authentication
Open Source User Authentication. Build fast, maintain control, with reasonable pricing.
👍1
Читаю тут презентацію Verse — нової мови програмування від Epic Games. Чув про неї і раніше, хоча зараз видно, що початкова концепція змінилась. До того ж виявилось, що над нею працює SPJ (один з творців Haskell — тож мабуть тому і змінилась). Тім Свіні щось там фоном парить за metaverse, але наразі складно уявити, до чого він веде та як саме збирається використовувати цю Verse там. Проте вже зрозуміло, що це функціональна мова програмування (а також логічна, а я досі не розібрався з Prolog 😓). Пишуть, мовляв, має бути значно легшою для сприйняття: ближче до JS, аніж до C++. Ну, подивимось.
👀1