Я розумію, що сьогодні й так всі розмови про річницю того, як йобані росіянці прийшли змішатись з нашою землею. Але щось раптом спало на думку, що не буде зайвим для історії лишити допис ще й в цьому каналі. Тож…
Віримо в ЗСУ! Слава Українській Нації і пиздець російській федерації!
Слава Україні! 💙💛
Віримо в ЗСУ! Слава Українській Нації і пиздець російській федерації!
Слава Україні! 💙💛
Ви мабуть ніфіга не зрозумієте, але я все ж пожаліюся.
Отже я наробив якоїсь хуйні 😇 Все почалося з того, що локально зібраний реліз під мак в мене працював норм, а зібраний на CI не запускався. Я дізнався, що це через те, що в бінарь з CI чогось зашиваються локальні шляхи до ліб на кшталт:
Тож я, не довго думаючи, набрав
З новою версією Conan перестав працювати #Qbs (
Результат передбачуваний:
ВСЕ ЦЕ НІХУЯ НЕ ПРАЦЮЄ! ахахаха
Тому що я не знаю, як рестартнути ранер, аби він підхватив нові змінні середовища. Я вже і в .profile, і в .bashrc все попрописував. Наш девопс ніби щось там налагодив врешті, але це пиздець.
Мораль авжеж така, що не варто щось прям на серваку фіксити вручну, особливо надвечір. Тим паче, якщо це віртуалка в QEMU всередині докеру.
Але думаю, що час вчити Nix, бо Homebrew — це шматок лайна, котрий тільки для домашнього використання підходить.
Отже я наробив якоїсь хуйні 😇 Все почалося з того, що локально зібраний реліз під мак в мене працював норм, а зібраний на CI не запускався. Я дізнався, що це через те, що в бінарь з CI чогось зашиваються локальні шляхи до ліб на кшталт:
❯ otool -L /Applications/MyMegaApp.app/Contents/MacOS/MyMegaAppтоді як в мене локально все правильно (і на CI теж було):
/Applications/MyMegaApp.app/Contents/MacOS/MyMegaApp:
/usr/local/opt/qt/lib/QtQuick.framework/Versions/A/QtQuick (compatibility version 6.0.0, current version 6.4.0)
/usr/local/opt/qt/lib/QtOpenGL.framework/Versions/A/QtOpenGL (compatibility version 6.0.0, current version 6.4.0)
/usr/local/opt/qt/lib/QtGui.framework/Versions/A/QtGui (compatibility version 6.0.0, current version 6.4.0)
❯ otool -L MyMegaApp.app/Contents/MacOS/MyMegaAppТож я пішов на CI-сервер чєкнути, що відбувається. Ідей в мене було не багато, але я подумав, що може якась проблема з різними версіями Qbs (в мене 1.24.0, а на CI — 1.23.0 чи щось таке).
MyMegaApp.app/Contents/MacOS/MyMegaApp:
@rpath/QtQuick.framework/Versions/A/QtQuick (compatibility version 6.0.0, current version 6.4.0)
@rpath/QtOpenGL.framework/Versions/A/QtOpenGL (compatibility version 6.0.0, current version 6.4.0)
@rpath/QtGui.framework/Versions/A/QtGui (compatibility version 6.0.0, current version 6.4.0)
Тож я, не довго думаючи, набрав
brew upgrade qbs
. Це було великою помилкою. Воно авжеж оновило Qbs, але з ним воно оновило і його депенденсі — Qt (це проблема №1). Qt депендив на OpenSSL ніби, а той ще на щось, все це якось призвело до оновлення пайтону, котрий став 3.11, і врешті якогось хєра справа дійшла до Conan, який, тварюка така, як раз оновився до 2.0, хоча у нас був 1.57.З новою версією Conan перестав працювати #Qbs (
ConanProbe
не може зробити configure
), тому я вирішив знести Conan через brew
та встановити через pip
, бо brew
не дозволяє обирати версію ніби. Виявилось, що той pip
, що в системі, не вписаний в $PATH
, тому я вирішив поставити pyenv
, через нього встановити потрібну версію пітону з піпом глобально, а потім вже туди встановити конан. Результат передбачуваний:
Тому що я не знаю, як рестартнути ранер, аби він підхватив нові змінні середовища. Я вже і в .profile, і в .bashrc все попрописував. Наш девопс ніби щось там налагодив врешті, але це пиздець.
Мораль авжеж така, що не варто щось прям на серваку фіксити вручну, особливо надвечір. Тим паче, якщо це віртуалка в QEMU всередині докеру.
Але думаю, що час вчити Nix, бо Homebrew — це шматок лайна, котрий тільки для домашнього використання підходить.
Cіпласпластик
Ви мабуть ніфіга не зрозумієте, але я все ж пожаліюся. Отже я наробив якоїсь хуйні 😇 Все почалося з того, що локально зібраний реліз під мак в мене працював норм, а зібраний на CI не запускався. Я дізнався, що це через те, що в бінарь з CI чогось зашиваються…
This media is not supported in your browser
VIEW IN TELEGRAM
Мої враження від процессу.
Трохи про #ігри, а точніше про так званий cloud gaming.
Тема не нова. Це фактично як ютуб подивитись, тільки інтерактивно. Наприклад, на Nintendo Switch деякі ігри розповсюджуються виключно як cloud-версія, бо локально залізо не стягне.
Я торік тестував Marvel's Guardians of the Galaxy як раз на світчі, й воно в принципі для гри придатне, якщо інших варіантів нема, втім доволі регулярно фпс просідає на півсекунди. Ледь помітно, на геймплей не впливає, але дратує капець. Причому проблема не в коннекшні, бо я на різних тестував.
Трохи інша справа з GeForce NOW від NVIDIA. Я вже колись запускав на ньому Ларку (котра Tomb Raider) — і воно прикольно капець. Ну, принаймні точно не гірше за мій поточний Zotac NEN, в якому GTX 960. Я розумію, що гра не та, де мілісекунди вирішують, але хіба такіх ігор багато взагалі? Не в моєму колі інтересів отже. Я тестував на безкоштовному плані, де черга на підключення до серверів може сягати 500+ людей, тобто чекати інколи треба по півгодини; до того ж ігрова сесія обмежена ніби всього однією годиною, а резолюшн — 1080p. Але ж мені чисто саму технологію зацінити, тому і цього достатньо було. Лагів немає, виглядає симпатично як на мене, і це на німецькому інтернеті (хто знає, той зрозуміє).
У Microsoft теж тепер є свій Xbox Cloud, доступний для тих, в кого підписка на Xbox Game Pass Ultimate. До нього руки не дійшли досі потестувати, але враховуючи, скільки грошей вони інвестують в свої Azure та Xbox Game Pass, має бути прикольно з точки зору якості.
Інша справа — список доступних ігор. У випадку з GeForce NOW ти підключаєш свій власний Steam-аккаунт, проте, деякі видавці тупо забороняють використовувати їх ігри в клауді. В чому прикол такої заборони, я хз, але маємо те, що маємо. В Xbox Cloud теж список не надто довгий, втім хоча б окремо купувати ігри не треба, бо просто підписку сплачуєш і все.
Тема не нова. Це фактично як ютуб подивитись, тільки інтерактивно. Наприклад, на Nintendo Switch деякі ігри розповсюджуються виключно як cloud-версія, бо локально залізо не стягне.
Я торік тестував Marvel's Guardians of the Galaxy як раз на світчі, й воно в принципі для гри придатне, якщо інших варіантів нема, втім доволі регулярно фпс просідає на півсекунди. Ледь помітно, на геймплей не впливає, але дратує капець. Причому проблема не в коннекшні, бо я на різних тестував.
Трохи інша справа з GeForce NOW від NVIDIA. Я вже колись запускав на ньому Ларку (котра Tomb Raider) — і воно прикольно капець. Ну, принаймні точно не гірше за мій поточний Zotac NEN, в якому GTX 960. Я розумію, що гра не та, де мілісекунди вирішують, але хіба такіх ігор багато взагалі? Не в моєму колі інтересів отже. Я тестував на безкоштовному плані, де черга на підключення до серверів може сягати 500+ людей, тобто чекати інколи треба по півгодини; до того ж ігрова сесія обмежена ніби всього однією годиною, а резолюшн — 1080p. Але ж мені чисто саму технологію зацінити, тому і цього достатньо було. Лагів немає, виглядає симпатично як на мене, і це на німецькому інтернеті (хто знає, той зрозуміє).
У Microsoft теж тепер є свій Xbox Cloud, доступний для тих, в кого підписка на Xbox Game Pass Ultimate. До нього руки не дійшли досі потестувати, але враховуючи, скільки грошей вони інвестують в свої Azure та Xbox Game Pass, має бути прикольно з точки зору якості.
Інша справа — список доступних ігор. У випадку з GeForce NOW ти підключаєш свій власний Steam-аккаунт, проте, деякі видавці тупо забороняють використовувати їх ігри в клауді. В чому прикол такої заборони, я хз, але маємо те, що маємо. В Xbox Cloud теж список не надто довгий, втім хоча б окремо купувати ігри не треба, бо просто підписку сплачуєш і все.
ZOTAC
NEN Steam Machine | ZOTAC
<p>NEN, THE SLEEKEST AND POWERFUL STEAM® MACHINE</p>
<p>Get ready to transform what you know about gaming because NEN is going to completely change the dynamic. NEN offers the sleekest and powerful Steam® Machine for delivering your gaming experience into…
<p>Get ready to transform what you know about gaming because NEN is going to completely change the dynamic. NEN offers the sleekest and powerful Steam® Machine for delivering your gaming experience into…
Cіпласпластик
Трохи про #ігри, а точніше про так званий cloud gaming. Тема не нова. Це фактично як ютуб подивитись, тільки інтерактивно. Наприклад, на Nintendo Switch деякі ігри розповсюджуються виключно як cloud-версія, бо локально залізо не стягне. Я торік тестував…
Нащо взагалі паритись за клауд-геймінг? Слушне запитання!
В мене на думці наступні юзкейси:
1. Я вже мабуть років 12 граю виключно геймпадом в ігри (на компі, так). В мене навіть комп підключений чисто до телевізора, бо я його ні для чого іншого не використовую. Проте дедалі складніше йому нові ігри тягнути з точки зору відяхи — треба вже щось сучасніше брати. Шкода купу грошей витрачати на це: мені треба і компактно (щоб під телевізор в шуфлядку його сунути), і потужно. Поки що придивився собі аналогічний за розміром Zotac, тільки новіший — з RTX 3080 (мобільною ніби) — але це 2к євро тупо на ігри 😐 Якби я грав чисто в сінгл-плеєр, я б собі взяв Xbox по знижці за 150 євро, але я навпроти в сінгл-плеєр майже не граю, бо віддаю перевагу коопним іграм. Майбутнє з кросплеєм всюди досі не настало на жаль. Клауд-геймінг частково вирішує це питання.
2. Можна зробити собі хатній аналог світча, тільки з іграми, що потребують значно кращого заліза. Просто підʼєднуєш геймпад до мобільного телефону — і вуаля: в тебе мобільна консоль. Якщо мобільний інтернет дозволяє, то можна і поза домом грати аналогічно.
3. Я собі телевізор Samsung нещодавно взяв по знижках. І там прям є нативні апки для Xbox та GeForce NOW. Тобто ані комп, ані телефон навіть не потрібні — просто підʼєднуєш геймпад прямо до телевізору через USB/Bluetooth, й воно працює 🤯 Ну а чого б не мало? Це ж реально тупо відеострім + інпут-івенти. Сучасні телевізори і не таке вміють. Як раз тестував знову на тій же Ларці. Вогонь взагалі!
Втім не без UX-проблем. Слідкуйте за руками, як то кажуть:
1. В телевізорі Samsung є окремий Game Mode, який реагує на певні окремі комбінації з геймпаду. Наприклад, затиснувши Xbox-кнопку і порухавши стіком, можна гучність телевізора міняти (ну, щоб до пульта не тягнутись). Зручно? Зручно!
2. В цьому Game Mode я запускаю застосунок GeForce Now.
3. Після очікування своєї черги (план досі безкоштовний, так), GeForce Now підʼєднує вам відео- та інпут-стріми до серверу, на якому запущений Steam в режимі Big Picture.
4. Далі я запускаю Mass Effect Legendary Edition.
5. Для цього стім запускає EA app, бо там сторонній DRM.
6. Той запускає новий лончер Mass Effect
7. А в останньому вже можна обрати потрібну частину гри з трилогії.
Так ось на пункті 5 цей ссаний EA app потребує логін/пароль авжеж. А ще він не реагує на геймпад ніхуя, бо це ж компʼютер — всі розробники впевнені, що в тебе обовʼязково миша та клавіатура підʼєднані. Valve таку тему передбачили й додали можливість з геймпаду керувати мишею… затискаючи Xbox-кнопку та рухаючи стіком. В моєму випадку це авжеж перехоплює телевізор зі своїм Game Mode. Лайна шматок. Прям обурила ця срань.
Проте, якщо піти за межі цього окремого випадку, то тема дуже перспективна!
В мене на думці наступні юзкейси:
1. Я вже мабуть років 12 граю виключно геймпадом в ігри (на компі, так). В мене навіть комп підключений чисто до телевізора, бо я його ні для чого іншого не використовую. Проте дедалі складніше йому нові ігри тягнути з точки зору відяхи — треба вже щось сучасніше брати. Шкода купу грошей витрачати на це: мені треба і компактно (щоб під телевізор в шуфлядку його сунути), і потужно. Поки що придивився собі аналогічний за розміром Zotac, тільки новіший — з RTX 3080 (мобільною ніби) — але це 2к євро тупо на ігри 😐 Якби я грав чисто в сінгл-плеєр, я б собі взяв Xbox по знижці за 150 євро, але я навпроти в сінгл-плеєр майже не граю, бо віддаю перевагу коопним іграм. Майбутнє з кросплеєм всюди досі не настало на жаль. Клауд-геймінг частково вирішує це питання.
2. Можна зробити собі хатній аналог світча, тільки з іграми, що потребують значно кращого заліза. Просто підʼєднуєш геймпад до мобільного телефону — і вуаля: в тебе мобільна консоль. Якщо мобільний інтернет дозволяє, то можна і поза домом грати аналогічно.
3. Я собі телевізор Samsung нещодавно взяв по знижках. І там прям є нативні апки для Xbox та GeForce NOW. Тобто ані комп, ані телефон навіть не потрібні — просто підʼєднуєш геймпад прямо до телевізору через USB/Bluetooth, й воно працює 🤯 Ну а чого б не мало? Це ж реально тупо відеострім + інпут-івенти. Сучасні телевізори і не таке вміють. Як раз тестував знову на тій же Ларці. Вогонь взагалі!
Втім не без UX-проблем. Слідкуйте за руками, як то кажуть:
1. В телевізорі Samsung є окремий Game Mode, який реагує на певні окремі комбінації з геймпаду. Наприклад, затиснувши Xbox-кнопку і порухавши стіком, можна гучність телевізора міняти (ну, щоб до пульта не тягнутись). Зручно? Зручно!
2. В цьому Game Mode я запускаю застосунок GeForce Now.
3. Після очікування своєї черги (план досі безкоштовний, так), GeForce Now підʼєднує вам відео- та інпут-стріми до серверу, на якому запущений Steam в режимі Big Picture.
4. Далі я запускаю Mass Effect Legendary Edition.
5. Для цього стім запускає EA app, бо там сторонній DRM.
6. Той запускає новий лончер Mass Effect
7. А в останньому вже можна обрати потрібну частину гри з трилогії.
Так ось на пункті 5 цей ссаний EA app потребує логін/пароль авжеж. А ще він не реагує на геймпад ніхуя, бо це ж компʼютер — всі розробники впевнені, що в тебе обовʼязково миша та клавіатура підʼєднані. Valve таку тему передбачили й додали можливість з геймпаду керувати мишею… затискаючи Xbox-кнопку та рухаючи стіком. В моєму випадку це авжеж перехоплює телевізор зі своїм Game Mode. Лайна шматок. Прям обурила ця срань.
Проте, якщо піти за межі цього окремого випадку, то тема дуже перспективна!
This media is not supported in your browser
VIEW IN TELEGRAM
Взагалі сьогодні з шейдерами граюсь в #QML.
Конкретно цей я портував на Vulkanʼівський GLSL з чийогось коду і трохи адаптував під Qt Quick. Але багато ще треба зробити, аби його можна було легко використовувати.
Думаю додати можливість виставляти «світло» де завгодно, бо зараз воно до центру привʼязане. А ще, якщо прям трохи підчитати теорію кольорів, то колір тіні має залежати від обʼєкта, який її кидає.
Нахіба це? А шоб було!
Конкретно цей я портував на Vulkanʼівський GLSL з чийогось коду і трохи адаптував під Qt Quick. Але багато ще треба зробити, аби його можна було легко використовувати.
Думаю додати можливість виставляти «світло» де завгодно, бо зараз воно до центру привʼязане. А ще, якщо прям трохи підчитати теорію кольорів, то колір тіні має залежати від обʼєкта, який її кидає.
Нахіба це? А шоб було!
Читав тут пана Solovyovʼа. (Підпишіться, до речі, норм хлопак.) Ну й в коментах трохи подивився, що пишуть, та сам написав. В принципі весь допис можна звести до наступного запитання (майже цитата з коментів): «Які властивості мов програмування будуть корисними у нових реаліях?» — Наприклад, щоб згенероване всілякими ChatGPT і верифікувалось якось, і щоб в той самий час читати легко було.
І тут така думка в мене:
Нащо взагалі генерувати код? 😅 Ну, тобто згенерований він хай буде якийсь, але може показувати користувачу-програмісту його і не треба‽ Можна тоді прям в будь-яку мову його вбудовувати. Я навіть синтаксис придумав для мерзенного JS.
Уявімо, що мені не западло якось по-своєму локально дані обробити, бо, власне, для цього й сів код писати, але дуже западло ці дані витягувати, бо авторизації-хуєвторизації, схеми БД тощо. Тож хай будь-який реквест до ШІ-шки повертає функцію. І тоді маємо щось на зразок такого (це я продовжую метрики діставати з ґітгабу):
Вже чую, як хтось відкрив пляшку корвалолу. Так, тут авжеж найбільша проблема в тому, аби забезпечтити повторюваність. Тобто щоб в мене та в іншого девелопера цей запит відпрацьовував однаково завжди. Але давайте йти від зворотнього. Що найгірше може трапитись, якщо ні? Воно поверне якусь хуйню або не поверне нічого. Чим це відрізняється від виклику будь-якої бібліотечної функції? Та особливо нічим — ти або довіряєш, або не користуєшся (або проміжний варіант: дивишся сорци, якщо вони є). Я навіть більше скажу: якщо аналогічна функція написана на найсуворішій найстатичнішій мові програмування, то це не гарантія успіху ніфіга, адже воно на сторонній сервіс завʼязане, котрий може оновитись, може відпасти, може ще багато чого. Іншими словами, треба не намагатись зробити ідеально, а протидіяти ризикам.
Цікаво, що у Wolfram'і схожа тема давно є. Мені здається, Стівен Вольфрам взагалі трохи випередив прогрес в деяких штуках.
І тут така думка в мене:
Нащо взагалі генерувати код? 😅 Ну, тобто згенерований він хай буде якийсь, але може показувати користувачу-програмісту його і не треба‽ Можна тоді прям в будь-яку мову його вбудовувати. Я навіть синтаксис придумав для мерзенного JS.
Уявімо, що мені не западло якось по-своєму локально дані обробити, бо, власне, для цього й сів код писати, але дуже западло ці дані витягувати, бо авторизації-хуєвторизації, схеми БД тощо. Тож хай будь-який реквест до ШІ-шки повертає функцію. І тоді маємо щось на зразок такого (це я продовжую метрики діставати з ґітгабу):
function getAllApproversSince(date) {
let reviews = gpt`authorize in GitHub with login and password and get the list of all reviews`(login, password, 'myrepo')
let result = ... // my logic
return result
}
Вже чую, як хтось відкрив пляшку корвалолу. Так, тут авжеж найбільша проблема в тому, аби забезпечтити повторюваність. Тобто щоб в мене та в іншого девелопера цей запит відпрацьовував однаково завжди. Але давайте йти від зворотнього. Що найгірше може трапитись, якщо ні? Воно поверне якусь хуйню або не поверне нічого. Чим це відрізняється від виклику будь-якої бібліотечної функції? Та особливо нічим — ти або довіряєш, або не користуєшся (або проміжний варіант: дивишся сорци, якщо вони є). Я навіть більше скажу: якщо аналогічна функція написана на найсуворішій найстатичнішій мові програмування, то це не гарантія успіху ніфіга, адже воно на сторонній сервіс завʼязане, котрий може оновитись, може відпасти, може ще багато чого. Іншими словами, треба не намагатись зробити ідеально, а протидіяти ризикам.
Цікаво, що у Wolfram'і схожа тема давно є. Мені здається, Стівен Вольфрам взагалі трохи випередив прогрес в деяких штуках.
Telegram
Bite the Byte
Більшу частину вчорашнього дня втратив на те, щоб виловити баг у своєму коді на фронті — в інтернеті купа обговорень схожих кейсів і всі рішають якимись дуже складними конструкціями. Врешті мені в діскорді відповів один з авторів бібліотеки — виявилося, що…
Cіпласпластик
Читав тут пана Solovyovʼа. (Підпишіться, до речі, норм хлопак.) Ну й в коментах трохи подивився, що пишуть, та сам написав. В принципі весь допис можна звести до наступного запитання (майже цитата з коментів): «Які властивості мов програмування будуть корисними…
Відос про згаданий вище Wolfram: https://www.wolfram.com/language/fast-introduction-for-programmers/en/natural-language-input/video.html
Там найцікавіше — це inline mode.
Там найцікавіше — це inline mode.
Дізнався на днях про таку штуку як Ruffle. Це фактично емуляція Flash Player на WebAssembly. На диво непогано працює!
Одразу купа спогадів про те, як десь в районі 2004 року я дізнався про Macromedia Flash. Мене ця штука вразила до глибини серця! В мене тоді навіть інету не було нормального, але я знайшов якісь уроки по вже на той час застарілій версії 5. Пізніше десь здибав піратський Flash MX (6), з яким вже сам розбирався, навіть англійської не знаючи. Робив в ньому недомульт під «We Will Rock You» від Queen. Пʼятнашки якісь накодив, ще щось потім. Далі Xiao Xiao (小小作品) №3 приголомшив мене настільки, що я вирішив робити на флеші файтинг в подібному стилі.(З файтингами в мене взагалі окрема історія, бо я фактично і програмістом став через Mortal Kombat II). Не зробив авжеж 😅 (А хтось більш дієвий взяв і зробив! Цього року має вийти, тобто навіть 25 років не пройшло 😂). Потім доволі довгий час я активно слідкував за розвитком технології, знайшов спільноту Flash-Ripperʼа, яку створив Ростислав (теж з Харкова до речі, якщо не помиляюсь). В девʼятій версії флешу зʼявився ActionScript 3.0, який був на голову вищий за тодішній JavaScript, бо там і класи нормальні були, і купа всього. Зрештою, як ви всі знаєте, Adobe все проїбала. Втім я не впевнений, чи були шанси взагалі піти іншим шляхом.
Так ось… Купа років пройшла, а я досі вважаю Macromedia/Adobe Flash найкращим прикладом інтегрованого середовища розробки ever made. Може в спогадах погане вже не дуже збереглося, я хз. Але це був майже ідеальний баланс між легкістю вивчення та користування й потужними можливостями. Тільки уявіть: редактор векторної графіки, таймлайн, анімації по ключових кадрах, безпроблемне програвання аудіо, обробка інтерактивних подій та й в цілому редактор коду, який дозволяв писати доволі складні програми, натурально кросплатформна VM, яка не залежала від підтримуваних браузером стандартів — все це інтегровано в одне середовище, яке при цьому значно простіше для вивчення за, наприклад, сучасний Unity та потужніше за якийсь ProtoPie.
Я загалом не дуже ставлюсь до спроб відродити щось всілякими емуляторами. Ну, тобто, я поважаю це як спробу зберегти нашу історію, але не розумію, коли хтось розробляє щось нове під умовний NES чи ZX Spectrum. Flash туди ж авжеж. Time to move on, як то кажуть, бо він банально не пристосований до сучасних реалій.
Втім інколи буває дуже корисно озирнутись на те, що існувало і було доволі легким для сприйняття в минулому, а нині раптом стало складним, заплутаним, незручним. Хіба це не ознака того, що ми десь не туди звернули?
Одразу купа спогадів про те, як десь в районі 2004 року я дізнався про Macromedia Flash. Мене ця штука вразила до глибини серця! В мене тоді навіть інету не було нормального, але я знайшов якісь уроки по вже на той час застарілій версії 5. Пізніше десь здибав піратський Flash MX (6), з яким вже сам розбирався, навіть англійської не знаючи. Робив в ньому недомульт під «We Will Rock You» від Queen. Пʼятнашки якісь накодив, ще щось потім. Далі Xiao Xiao (小小作品) №3 приголомшив мене настільки, що я вирішив робити на флеші файтинг в подібному стилі.
Так ось… Купа років пройшла, а я досі вважаю Macromedia/Adobe Flash найкращим прикладом інтегрованого середовища розробки ever made. Може в спогадах погане вже не дуже збереглося, я хз. Але це був майже ідеальний баланс між легкістю вивчення та користування й потужними можливостями. Тільки уявіть: редактор векторної графіки, таймлайн, анімації по ключових кадрах, безпроблемне програвання аудіо, обробка інтерактивних подій та й в цілому редактор коду, який дозволяв писати доволі складні програми, натурально кросплатформна VM, яка не залежала від підтримуваних браузером стандартів — все це інтегровано в одне середовище, яке при цьому значно простіше для вивчення за, наприклад, сучасний Unity та потужніше за якийсь ProtoPie.
Я загалом не дуже ставлюсь до спроб відродити щось всілякими емуляторами. Ну, тобто, я поважаю це як спробу зберегти нашу історію, але не розумію, коли хтось розробляє щось нове під умовний NES чи ZX Spectrum. Flash туди ж авжеж. Time to move on, як то кажуть, бо він банально не пристосований до сучасних реалій.
Втім інколи буває дуже корисно озирнутись на те, що існувало і було доволі легким для сприйняття в минулому, а нині раптом стало складним, заплутаним, незручним. Хіба це не ознака того, що ми десь не туди звернули?
Newgrounds.com
Xiao Xiao No. 3
Not the normal stick figure movie.....
Натрапив до речі сьогодні на отакий #QML Online https://stephenquan.github.io/qmlonline/, що на відміну KDEʼшного https://qmlonline.kde.org, по-перше, базується на Qt 6, а по-друге, дозволяє описати одразу декілька файлів. Але все одно лайно насправді. Хіба що щось швиденько перевірити треба.
В Visual Studio зʼявився зневаджувач CMake. (Не очікували, мабуть, що debugger — це зневаджувач українською, так? Я теж спершу сторопів. Це від слова «вада». Тож зневаджувати — позбавляти вад.) Я розумію, що сімейк — це нині стандарт де факто і бла-бла-бла, але особисто його ніколи не полюбляв: може через те, що він навіть не зовсім білд-система, бо генерує файли для інших білд-систем, а може через щось ще, хз. (Офтоп: мій поточний фаворит — це Qbs, котрий хоч і був створений Qt, але навіть вони самі від нього відмовились давно, тож його наразі декілька волонтерів допилює.)
Так ось, назад до сімейку. Був в мене, значить, тімлід колись, котрий стверджував, що якщо проєкт не збирається з одного білд-файлу на один екран тексту, що лежить в кореневому каталозі, то це переускладнений шматок лайна. Я з ним тоді не на сто відсотків погодився, а може навіть і посперечався, але чимдалі схиляюсь до такої самої думки.
А тут сімейк… зневаджувач… 🤯 Тобто це вже той випадок, коли просто подивитись на пару декларативних правил збирання вже недостатньо — треба прям по кроках ходити. А якщо ситуація вже набуває такого становища, то нащо той сімейк взагалі? Він же як мова програмування мало того що ніякий, так ще і не схожий ні нащо. Не легше вже взяти якийсь Bazel чи Buck2, в яких використовується діалект Python (Starlark)? Чи може SCons якийсь, якщо він досі живий — там теж Python. Хз навіть.
Чого сімейк всім так до смаку?
Так ось, назад до сімейку. Був в мене, значить, тімлід колись, котрий стверджував, що якщо проєкт не збирається з одного білд-файлу на один екран тексту, що лежить в кореневому каталозі, то це переускладнений шматок лайна. Я з ним тоді не на сто відсотків погодився, а може навіть і посперечався, але чимдалі схиляюсь до такої самої думки.
А тут сімейк… зневаджувач… 🤯 Тобто це вже той випадок, коли просто подивитись на пару декларативних правил збирання вже недостатньо — треба прям по кроках ходити. А якщо ситуація вже набуває такого становища, то нащо той сімейк взагалі? Він же як мова програмування мало того що ніякий, так ще і не схожий ні нащо. Не легше вже взяти якийсь Bazel чи Buck2, в яких використовується діалект Python (Starlark)? Чи може SCons якийсь, якщо він досі живий — там теж Python. Хз навіть.
Чого сімейк всім так до смаку?
Microsoft News
CMake debugger allows you to debug your CMake scripts and more
The VS CMake team has been working in close collaboration with Kitware on developing a debugger for CMake scripts in the Visual Studio IDE (see this open Kitware issue for more details). We will be contributing this work back upstream (targeting the 3.27…
Здибав тут новий(?) статичний аналізатор коду для #Python: https://astral.sh/ruff.
Зібравбулшит- хайп-бінго з перших трьох рядків тексту 👆🏻.
Але штука, мабуть, непогана. Піде в #тулзи.
Зібрав
Але штука, мабуть, непогана. Піде в #тулзи.
Ну і якщо зайшла вже мова, то тримайте ось такий компілятор (так, в нейтів код) #Python на базі LLVM: https://exaloop.io
Документація та код також наявні.
Документація та код також наявні.
Cіпласпластик
Нащо взагалі паритись за клауд-геймінг? Слушне запитання! В мене на думці наступні юзкейси: 1. Я вже мабуть років 12 граю виключно геймпадом в ігри (на компі, так). В мене навіть комп підключений чисто до телевізора, бо я його ні для чого іншого не використовую.…
Нарешті спробував вчора хмарний геймінг від Microsoft. Найохуєнніше для мене в цьому те, що не потрібен ані комп, ані, власне, Xbox. Мені знадобилось наступне:
- передплата Xbox Game Pass Ultimate
- телевізор Samsung
- геймпад (можна USB або Bluetooth)
І все. Мінімальний time-to-play. Не настільки мінімальний, як у світча, авжеж, але теж доволі непоганий.
По результатах можу сказати, що працює це доволі добре: запускається швидко, не пригальмовує — тобто майже як грати локально. «Майже», бо якість на жаль така собі 😐 Схоже, що воно стрімить, хто б міг подумати, з іксбоксу…, тож заздалегідь можна не розраховувати на фотореалізм, а той факт, що воно стрімиться через інтернет, час від часу додає «квадратів» через макроблочне стиснення H.264 чи хтозна, що у них там. Враховуючи не маленький розмір телевізору та його 4K роздільну здатність, деякі градіенти виглядають трохи нижче мого порога прийнятного. Треба мабуть ще на Foldʼі спробувати — з його розміром екрану має бути як раз топчик.
Тож, підсумок наступний:
Грався в Mass Effect: Andromeda. Не лагає, не гальмує. Якість зображення — іксбоксовий апскейлений FullHD (ще додатково телевізором обробляється до речі, якщо ввімкнути). Інколи погіршується картинка, мабуть якщо інет просідає, але не прям так, що капець квадрати суцільні — тож не критично, причому навіть в ці моменти нічого не заїкається. Керування слухняне, звук офігенний. Ще б коштувало трохи менше, аніж 13 євро на місяць )
- передплата Xbox Game Pass Ultimate
- телевізор Samsung
- геймпад (можна USB або Bluetooth)
І все. Мінімальний time-to-play. Не настільки мінімальний, як у світча, авжеж, але теж доволі непоганий.
По результатах можу сказати, що працює це доволі добре: запускається швидко, не пригальмовує — тобто майже як грати локально. «Майже», бо якість на жаль така собі 😐 Схоже, що воно стрімить, хто б міг подумати, з іксбоксу…, тож заздалегідь можна не розраховувати на фотореалізм, а той факт, що воно стрімиться через інтернет, час від часу додає «квадратів» через макроблочне стиснення H.264 чи хтозна, що у них там. Враховуючи не маленький розмір телевізору та його 4K роздільну здатність, деякі градіенти виглядають трохи нижче мого порога прийнятного. Треба мабуть ще на Foldʼі спробувати — з його розміром екрану має бути як раз топчик.
Тож, підсумок наступний:
Грався в Mass Effect: Andromeda. Не лагає, не гальмує. Якість зображення — іксбоксовий апскейлений FullHD (ще додатково телевізором обробляється до речі, якщо ввімкнути). Інколи погіршується картинка, мабуть якщо інет просідає, але не прям так, що капець квадрати суцільні — тож не критично, причому навіть в ці моменти нічого не заїкається. Керування слухняне, звук офігенний. Ще б коштувало трохи менше, аніж 13 євро на місяць )
Xbox.com
Xbox App für Smart TVs | Xbox
Streame Xbox-Spiele mit der Xbox App für Smart TVs. Starte die App, um mit Xbox Game Pass Ultimate Hunderte von Spielen aus der Cloud direkt auf Samsung-TVs zu spielen. Keine Konsole erforderlich.
Cіпласпластик
Нарешті спробував вчора хмарний геймінг від Microsoft. Найохуєнніше для мене в цьому те, що не потрібен ані комп, ані, власне, Xbox. Мені знадобилось наступне: - передплата Xbox Game Pass Ultimate - телевізор Samsung - геймпад (можна USB або Bluetooth) І…
В мене ж і геймпад ще новий! Дружина подарувала 💜🧡
Наразі це найкращий геймпад, що колись існував в світі 🙂 Був приємно здивований, що вони вбудували зарядну док-станцію безпосередньо в його футляр (хоча вона витягається).
Наразі це найкращий геймпад, що колись існував в світі 🙂 Був приємно здивований, що вони вбудували зарядну док-станцію безпосередньо в його футляр (хоча вона витягається).
Cіпласпластик
Читав тут пана Solovyovʼа. (Підпишіться, до речі, норм хлопак.) Ну й в коментах трохи подивився, що пишуть, та сам написав. В принципі весь допис можна звести до наступного запитання (майже цитата з коментів): «Які властивості мов програмування будуть корисними…
Є така популярна нині думка: «AI won't replace you, but someone using AI will».
І в цьому є сенс безперечно. Я в повсякденній роботі вже покладаюсь на ШІ-шку певний час, і хоч прям код вона за мене ще не пише (але я й не на позиції програміста наразі, якщо шо), проте, допомагає доволі сильно час від часу. Я зауважив, що найчастіше використовую ті ж самі ChatGPT та Bing як джерело консолідованої інформації, в чому вони обидва доволі непогано себе показують, починаючи від розʼяснення якихось невідомих для мене концепцій або різниці між іншомовними словами (ну, я не знаю… quick vs fast, heritage vs legacy тощо) і закінчуючи поясненнями якихось write-only shell-ванлайнерів.
Код безумовно ChatGPT також писати може, але в цьому випадку я вже ставлюсь до нього не як до інструменту, а як до найманого й дуже старанного, але не надто щирого та відповідального працівника. Його рішення нечасто запускаються з першого разу, та й навіть якщо код працює, то review ніхто не скасовував, бо там ті ще нісенітниці. Отже, доводиться дуже прискіпливо наглядати за результатами. На цю мить це мені нагадує рівень D1 з теорії Ситуаційного лідерства (малюночок знизу), бо ентузіазму у ChatGPT досхочу, а от навичок та досвіду поки не вистачає, а отже треба й поводити себе відповідно: дуже чітко його спрямовувати, інколи навіть підказуючи, як саме зробити те, або інше.
Впевнений, що згодом ставатиме тільки краще. Навіть зараз вже трапляються доволі цікаві приклади використання для того ж програмування. Ось, наприклад, shahnk19/gpt-comrade, який не настільки прикольний з точки зору UX, як вже згаданий вище thefuck, і носить більш пояснювальний характер, втім може стати в пригоді. Інша схожа штука вже для C++ (ну й Rust, так): plasma-umass/cwhy — пояснює причину якоїсь помилки в вашому коді і може навіть запропонувати quick fix.
Ну, а biobootloader/wolverine всі вже й так, мабуть, бачили: ця штука бере ваш код на Python, запускає, й фіксить його доти, доки він не буде виконуватись без помилок 🙂 Ми як програмісти розуміємо авжеж, що виконати код хоч раз без помилок — це навіть не 20% справи. Може для якогось Haskell це й був би якийсь плюс-мінус показник, але для Python? Не смішіть )) Втім все одно прикольно.
Отож сидів я, щодо останнього думав знов. І моя поточна версія: в найближчому майбутньому програмісти все більше будуть зайняті тим, аби писати код для верифікації та валідації по заповітах BDD/TDD, в той час, як саму імплементацію може написати ШІ-шка. Нє, ну а шо, чи вам не пофігу, який код писати врешті? 😁
І в цьому є сенс безперечно. Я в повсякденній роботі вже покладаюсь на ШІ-шку певний час, і хоч прям код вона за мене ще не пише (але я й не на позиції програміста наразі, якщо шо), проте, допомагає доволі сильно час від часу. Я зауважив, що найчастіше використовую ті ж самі ChatGPT та Bing як джерело консолідованої інформації, в чому вони обидва доволі непогано себе показують, починаючи від розʼяснення якихось невідомих для мене концепцій або різниці між іншомовними словами (ну, я не знаю… quick vs fast, heritage vs legacy тощо) і закінчуючи поясненнями якихось write-only shell-ванлайнерів.
Код безумовно ChatGPT також писати може, але в цьому випадку я вже ставлюсь до нього не як до інструменту, а як до найманого й дуже старанного, але не надто щирого та відповідального працівника. Його рішення нечасто запускаються з першого разу, та й навіть якщо код працює, то review ніхто не скасовував, бо там ті ще нісенітниці. Отже, доводиться дуже прискіпливо наглядати за результатами. На цю мить це мені нагадує рівень D1 з теорії Ситуаційного лідерства (малюночок знизу), бо ентузіазму у ChatGPT досхочу, а от навичок та досвіду поки не вистачає, а отже треба й поводити себе відповідно: дуже чітко його спрямовувати, інколи навіть підказуючи, як саме зробити те, або інше.
Впевнений, що згодом ставатиме тільки краще. Навіть зараз вже трапляються доволі цікаві приклади використання для того ж програмування. Ось, наприклад, shahnk19/gpt-comrade, який не настільки прикольний з точки зору UX, як вже згаданий вище thefuck, і носить більш пояснювальний характер, втім може стати в пригоді. Інша схожа штука вже для C++ (ну й Rust, так): plasma-umass/cwhy — пояснює причину якоїсь помилки в вашому коді і може навіть запропонувати quick fix.
Ну, а biobootloader/wolverine всі вже й так, мабуть, бачили: ця штука бере ваш код на Python, запускає, й фіксить його доти, доки він не буде виконуватись без помилок 🙂 Ми як програмісти розуміємо авжеж, що виконати код хоч раз без помилок — це навіть не 20% справи. Може для якогось Haskell це й був би якийсь плюс-мінус показник, але для Python? Не смішіть )) Втім все одно прикольно.
Отож сидів я, щодо останнього думав знов. І моя поточна версія: в найближчому майбутньому програмісти все більше будуть зайняті тим, аби писати код для верифікації та валідації по заповітах BDD/TDD, в той час, як саму імплементацію може написати ШІ-шка. Нє, ну а шо, чи вам не пофігу, який код писати врешті? 😁
О, нові юайні рішення підʼїхали 😁 Тепер маківський «світлофор» можна так називати без сумнівів чи докорів сумління.
На зображенні так звана Opera One, якщо що. Колись я був фанатом «старої» Опери, доки гугл не витіснив всіх своїм монополістичним шматком лайна (хоча в ті часи це сприймалось інакше). Взагалі-то у свій час Опера подарувала нам багато речей, до яких всі наразі звикли: таби, сесії, вбудований пошук (хоча тут не на 100% впевнений, що саме Опера була перша), Speed Dial тощо. Зараз вже важко відновити в памʼяті, але можливо і синхронізацію букмарків першими зробили теж вони, хз. А згадайте Opera Turbo — технологію, що стискала трафік і нерідко траплялась в пригоді в часи GRPS та поганого ADSL.
Тож встановив я цей Opera One і нічого нового не побачив. Анімації UI трохи більш приємні, але з точки зору фічей цей браузер не пропонує нічого, чого б не було в Vivaldi чи деінде. Треба ще Arc спробувати, доки він на хайпі й живий взагалі.
Проте рішення зі світлофором мені до вподоби до речі!
На зображенні так звана Opera One, якщо що. Колись я був фанатом «старої» Опери, доки гугл не витіснив всіх своїм монополістичним шматком лайна (хоча в ті часи це сприймалось інакше). Взагалі-то у свій час Опера подарувала нам багато речей, до яких всі наразі звикли: таби, сесії, вбудований пошук (хоча тут не на 100% впевнений, що саме Опера була перша), Speed Dial тощо. Зараз вже важко відновити в памʼяті, але можливо і синхронізацію букмарків першими зробили теж вони, хз. А згадайте Opera Turbo — технологію, що стискала трафік і нерідко траплялась в пригоді в часи GRPS та поганого ADSL.
Тож встановив я цей Opera One і нічого нового не побачив. Анімації UI трохи більш приємні, але з точки зору фічей цей браузер не пропонує нічого, чого б не було в Vivaldi чи деінде. Треба ще Arc спробувати, доки він на хайпі й живий взагалі.
Cіпласпластик
О, нові юайні рішення підʼїхали 😁 Тепер маківський «світлофор» можна так називати без сумнівів чи докорів сумління. На зображенні так звана Opera One, якщо що. Колись я був фанатом «старої» Опери, доки гугл не витіснив всіх своїм монополістичним шматком…
До речі виявилось, що вертикальні кнопки керування вікном Apple сама ж придумала в 2010-му. Але, схоже, користувачам не зайшло. Хз навіть, мені здається, я тільки червону тисну взагалі — зелену дуже рідко, а жовту взагалі ніколи.
Останнім часом все частіше натрапляю на мову Mojo. Серед айтішних ЗМІ, мабуть, тільки ледащо не написав про неї. Це типу така надмножина Python із суворою перевіркою типів, перевантаженням функцій, окремим, більш суворим видом функцій ((отакої!) з конструкторами копіювання та переміщення, темплейтами, обчисленнями під час компіляції, якимсь borrow checkerʼом тощо.
Її ніби якісь не останні люди в світі програмування створюють: один був співавтором LLVM та Swift, а інший ще щось робив, я не згадаю вже.
І шо я думаю… Ну, або полетить, або ні 😂
Добре, якщо серйозно, то я собі можу легко уявити, наприклад, C++-програміста, який переходить на таку мову, бо синтаксис банально трохи приємніший та легший для сприйняття. Можу уявити собі програміста на Rust, що переходить на Mojo, якщо хайповітер взяв новий напрям. Можу навіть уявити собі програмістів на Python, котрі переходять на Mojo, бо пожерли лайна в кодобазі на десятки тисяч рядків динамічного коду(такі є взагалі на пайтоні?) й хочуть більше контролю.
Але я не можу уявити пересічного програміста на Python, котрий переходить на Mojo, бо… а нащо? Я безперечно помиляюсь, проте, мені здається, що навіть 20% коду не набереться, де кращий перформанс був би критичнішим за швидкість розробки.
Знаєте, чого мені коштувало почати писати на пайтоні у свій час? Та власне — нічого! Просто сів та почав писати. Так, я до того вже витратив років 6–7, аби «вивчити» С++(смішно, так) , тобто досвід в програмуванні я вже мав, але саме Python дозволив мені майже напряму дампати ідеї в код. Ну, колись давно ще QBasic створював таке саме враження, але й ідеї тоді були в мене простіші 😅
Або взяти JavaScript… Та я жодної книги не прочитав, і в глибоких нюансах на співбесіді напевно зіллюся. Проте дуже швидко склав певну ментальну модель, як там все працює, і цього наразі достатньо, аби уникати «undefined is not a function».
А нещодавно почав писати невеличку тулзу на ноді. Нумо, думаю, на TypeScript накодю її. І бля… не йде якось воно, капець! Складно прям розібратись експромтом, хоча я колись давно навіть книгу читав. Тупо синтаксису дофіга, якихось правил значно більше, компілятор постійно дає ляпаса. Ну, тобто, ідейно мені мова ду-у-уже до вподоби, але прям просто сісти та почати писати на собі вона не дає.
Я, мабуть, того і на Rust не переходжу, адже забагато зусиль — і заради чого? Мені треба ідеї втілювати в щось, що працює, а не підігрівати мозок на розвʼязанні чергових пазлів від компілятора. Хочеться спрощення, а не ускладнення.
А самі що думаєте? Полетить Mojo? Врешті якось так і C++ колись починався — як надмножина C. І подивіться на нього зараз… ніяк не звільнить дорогу молоді 🥲
fn
замість def
), value-семантикою Її ніби якісь не останні люди в світі програмування створюють: один був співавтором LLVM та Swift, а інший ще щось робив, я не згадаю вже.
І шо я думаю… Ну, або полетить, або ні 😂
Добре, якщо серйозно, то я собі можу легко уявити, наприклад, C++-програміста, який переходить на таку мову, бо синтаксис банально трохи приємніший та легший для сприйняття. Можу уявити собі програміста на Rust, що переходить на Mojo, якщо хайповітер взяв новий напрям. Можу навіть уявити собі програмістів на Python, котрі переходять на Mojo, бо пожерли лайна в кодобазі на десятки тисяч рядків динамічного коду
Але я не можу уявити пересічного програміста на Python, котрий переходить на Mojo, бо… а нащо? Я безперечно помиляюсь, проте, мені здається, що навіть 20% коду не набереться, де кращий перформанс був би критичнішим за швидкість розробки.
Знаєте, чого мені коштувало почати писати на пайтоні у свій час? Та власне — нічого! Просто сів та почав писати. Так, я до того вже витратив років 6–7, аби «вивчити» С++
Або взяти JavaScript… Та я жодної книги не прочитав, і в глибоких нюансах на співбесіді напевно зіллюся. Проте дуже швидко склав певну ментальну модель, як там все працює, і цього наразі достатньо, аби уникати «undefined is not a function».
А нещодавно почав писати невеличку тулзу на ноді. Нумо, думаю, на TypeScript накодю її. І бля… не йде якось воно, капець! Складно прям розібратись експромтом, хоча я колись давно навіть книгу читав. Тупо синтаксису дофіга, якихось правил значно більше, компілятор постійно дає ляпаса. Ну, тобто, ідейно мені мова ду-у-уже до вподоби, але прям просто сісти та почати писати на собі вона не дає.
Я, мабуть, того і на Rust не переходжу, адже забагато зусиль — і заради чого? Мені треба ідеї втілювати в щось, що працює, а не підігрівати мозок на розвʼязанні чергових пазлів від компілятора. Хочеться спрощення, а не ускладнення.
А самі що думаєте? Полетить Mojo? Врешті якось так і C++ колись починався — як надмножина C. І подивіться на нього зараз… ніяк не звільнить дорогу молоді 🥲
Modular
Mojo Manual | Modular
A comprehensive guide to the Mojo programming language.