YouTube
Tomorrow Corporation Tech Demo
A demonstration of some of the internal programming and debugging tools we use at Tomorrow Corporation to make video games.
Our company website:
https://tomorrowcorporation.com
My personal twitter:
https://twitter.com/allan_blomquist
Our company website:
https://tomorrowcorporation.com
My personal twitter:
https://twitter.com/allan_blomquist
Просто подивіться оце ☝️
Я називаю себе програмістом, що інколи щось дизайнить, а мій знайомий є дизайнером, що інколи кодить (але обидва працюємо менеджерами😅 ), і майже кожна розмова з ним додає мені якихось корисних інсайтів. Ось вчора він приніс мені відос.
Коли я кажу людям, що девелоперські #тулзи не мусять бути лайном, вони мені у відповідь:
🤪 «IDE не потрібна» 🤪 «я грепаюсь по логах» 🤪 «а що не так з гітом?» 🤪 «проєкт збирається всього лише за 40 хвилин на тредріппері» 🤪 тощо 🤪
Тим часом компанія з трьох людей, що робить дуже офігезні ігри:
• оновлюють асети без перезавантаження програми;
• компілюють код у файлі на 13к рядків(!) на кожне натискання клавіші(!!) та оновлюють його теж у рантаймі(!!!)
• у будь-який момент можна поставити брякпоїнт будь-де та пройтися по кроках вперед та назад!
• завдяки хот-релоаду кода, вони компілюють код для профайлінга за потреби вже на запущеній програмі;
• всі дії з моменту запуску програми зберігаються у повністю reproducible послідовність включно зі всіма рекомпіляціями та перезавантаженнями коду або ресурсів, яку можна переносити на інші компи, й воно працюватиме;
• можна тегнути будь-яке місце в коді якимсь додатковим контекстом (timestamp, наприклад), щоб потім швидко знайти саме те місце в коді та саме той момент часу, коли це трапилося;
• все це інтегровано з білд-системою та системою контролю версій.
Я хз, що тут ще додати. Мій поточний тулсет на тлі цього — це наче бричка з кіньми поряд з зорельотом.
Я називаю себе програмістом, що інколи щось дизайнить, а мій знайомий є дизайнером, що інколи кодить (але обидва працюємо менеджерами
Коли я кажу людям, що девелоперські #тулзи не мусять бути лайном, вони мені у відповідь:
Тим часом компанія з трьох людей, що робить дуже офігезні ігри:
• оновлюють асети без перезавантаження програми;
• компілюють код у файлі на 13к рядків(!) на кожне натискання клавіші(!!) та оновлюють його теж у рантаймі(!!!)
• у будь-який момент можна поставити брякпоїнт будь-де та пройтися по кроках вперед та назад!
• завдяки хот-релоаду кода, вони компілюють код для профайлінга за потреби вже на запущеній програмі;
• всі дії з моменту запуску програми зберігаються у повністю reproducible послідовність включно зі всіма рекомпіляціями та перезавантаженнями коду або ресурсів, яку можна переносити на інші компи, й воно працюватиме;
• можна тегнути будь-яке місце в коді якимсь додатковим контекстом (timestamp, наприклад), щоб потім швидко знайти саме те місце в коді та саме той момент часу, коли це трапилося;
• все це інтегровано з білд-системою та системою контролю версій.
Я хз, що тут ще додати. Мій поточний тулсет на тлі цього — це наче бричка з кіньми поряд з зорельотом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🤯2
Cіпласпластик
#Ідея для стартапа: сервіс, в який ви логінитеся своїм обліковим записом #Spotify, щоб він щотижня пробігався по «Тижневій добірці», перевіряв за допомогою #ШІ-шки кожного виконавця, чи не має той звʼязків з рашкою, та автоматично дизлайкав тих, хто має.…
Окей, трохи навчив Perplexity зʼясовувати походження та звʼязки виконавців. Потестив на якихось назвах, що знайшов у #Spotify — не вгадало тільки CHAINY. (ДахаБраха та Ragapop — це 🇺🇦 звісно, а Paul Sabin ніби хвранцуз).
Цікаво, що на цій задачі Claude 3 Opus показує себе вкрай жахливо, а от GPT-4 Turbo ніби норм.
Цікаво, що на цій задачі Claude 3 Opus показує себе вкрай жахливо, а от GPT-4 Turbo ніби норм.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Нефігова така анімація іконки burger menu.
Зазвичай всі пхають анімації абикуди, не розуміючи нащо, й чисто тому, що інші так роблять. Але тут це має сенс, бо це сайт ігрової компанії. Прикольно🙂
UPD: Важливий момент до речі, що вона програється на сайті всього один раз, а не постійно мерехтить в очах, програючись по колу.
Зазвичай всі пхають анімації абикуди, не розуміючи нащо, й чисто тому, що інші так роблять. Але тут це має сенс, бо це сайт ігрової компанії. Прикольно
UPD: Важливий момент до речі, що вона програється на сайті всього один раз, а не постійно мерехтить в очах, програючись по колу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Цікаво, як за допомогою #emoji виразити прізвище автора вірша 🤨 (Так, я ще той жартівник 😁 Проте вірш ще зі школи памʼятаю, бо саме він мені на екзамені трапився).
Взагалі emoji — штука доволі дивна, як на мене. Я проґавив їхнє глобальне пришестя, бо, мені здається, це завдяки айфону відбулося (хоча вікі пише, що гугл першим звернув на них увагу та інтегрував у GMail). А коли вони зʼявилися на андроїді, то я довго впирався та не хотів користуватися.
Річ у тім, що emoji містять у собі купу якогось непотребу, й одночасно там бракує багатьох важливих штук. У часи #ICQ я користувався найкращим чат-клієнтом — Miranda IM, і навіть тамтешні стандартні смайли (емотікони, точніш) були більш експресивні. Ну а краще за анімовані скайпівські, здається, досі ніхто нічого не зробив. У Microsoft взагалі зі смаком все в порядку, тож я emoji також їхні використовую, як ви давно зауважили.
Та мова не про це. Емодзі — далеко не перша спроба «стандартизувати» спілкування символами за останні роки, але найуспішніша. Наприклад, ще була iConji, яка проіснувала з 2010 до 2012.
Та мало хто знає (а ті хто знає, вже забули), що ще у 2004 зʼявилася така штука як Zlango👇
Взагалі emoji — штука доволі дивна, як на мене. Я проґавив їхнє глобальне пришестя, бо, мені здається, це завдяки айфону відбулося (хоча вікі пише, що гугл першим звернув на них увагу та інтегрував у GMail). А коли вони зʼявилися на андроїді, то я довго впирався та не хотів користуватися.
Річ у тім, що emoji містять у собі купу якогось непотребу, й одночасно там бракує багатьох важливих штук. У часи #ICQ я користувався найкращим чат-клієнтом — Miranda IM, і навіть тамтешні стандартні смайли (емотікони, точніш) були більш експресивні. Ну а краще за анімовані скайпівські, здається, досі ніхто нічого не зробив. У Microsoft взагалі зі смаком все в порядку, тож я emoji також їхні використовую, як ви давно зауважили.
Та мова не про це. Емодзі — далеко не перша спроба «стандартизувати» спілкування символами за останні роки, але найуспішніша. Наприклад, ще була iConji, яка проіснувала з 2010 до 2012.
Та мало хто знає (а ті хто знає, вже забули), що ще у 2004 зʼявилася така штука як Zlango
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Cіпласпластик
Цікаво, як за допомогою #emoji виразити прізвище автора вірша 🤨 (Так, я ще той жартівник 😁 Проте вірш ще зі школи памʼятаю, бо саме він мені на екзамені трапився). Взагалі emoji — штука доволі дивна, як на мене. Я проґавив їхнє глобальне пришестя, бо, мені…
Отож зустрічайте, піктографічне письмо моєї юності 😄
Zlango, створений ізраїльською компанією, як і #ICQ до речі, спочатку був плагіном для останнього, але згодом зʼявилася й окрема програма для телефонів. Чи може навпаки все було.
Так чи інакше, в Україні серед мобільних операторів Zlango тільки Київстар розповсюджував: там на djuice можна було майже на халяву завантажити це з WAP-сайту, а потім слати замість смс-ок — але у мене був JEANS😐
Ну а фішка програми, власне, була в тому, що ти друкуєш текстом своє повідомлення, а воно відповідні символи автоматом підставляє. І якщо з іншого боку у людини інша мова обрана, то вона символи ті самі отримує, а підписи відповідно мають транслюватися. Ну, принаймні така ідея була, але на практиці цього трохи складніше досягти, мені здається.
Фактично це чергова спроба знайти спільний знаменник для мов, і в історії людства таких вже безліч була. Та й взагалі цікаво спостерігати, як люди від піктограм та ідеограм до літер і назад туди-сюди постійно ходять.
А гугл-он ще вісім років тому стверджував, що їхня #ШІ-шка в Google Translate буцімто виробила свою проміжну мову.
Тож може зараз з LLM справа краще піде. Але гарантую, що скоро ще схожі спроби будуть. А може й вже є )
Zlango, створений ізраїльською компанією, як і #ICQ до речі, спочатку був плагіном для останнього, але згодом зʼявилася й окрема програма для телефонів. Чи може навпаки все було.
Так чи інакше, в Україні серед мобільних операторів Zlango тільки Київстар розповсюджував: там на djuice можна було майже на халяву завантажити це з WAP-сайту, а потім слати замість смс-ок — але у мене був JEANS
Ну а фішка програми, власне, була в тому, що ти друкуєш текстом своє повідомлення, а воно відповідні символи автоматом підставляє. І якщо з іншого боку у людини інша мова обрана, то вона символи ті самі отримує, а підписи відповідно мають транслюватися. Ну, принаймні така ідея була, але на практиці цього трохи складніше досягти, мені здається.
Фактично це чергова спроба знайти спільний знаменник для мов, і в історії людства таких вже безліч була. Та й взагалі цікаво спостерігати, як люди від піктограм та ідеограм до літер і назад туди-сюди постійно ходять.
А гугл-он ще вісім років тому стверджував, що їхня #ШІ-шка в Google Translate буцімто виробила свою проміжну мову.
Тож може зараз з LLM справа краще піде. Але гарантую, що скоро ще схожі спроби будуть. А може й вже є )
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1😁1
Cіпласпластик
Отож зустрічайте, піктографічне письмо моєї юності 😄 Zlango, створений ізраїльською компанією, як і #ICQ до речі, спочатку був плагіном для останнього, але згодом зʼявилася й окрема програма для телефонів. Чи може навпаки все було. Так чи інакше, в Україні…
Якась халепа з коментарями тут трапилася, але якщо комусь є, що сказати, то можна під попередній допис написати або під цей. Не соромтеся )
😁1
Мене аж тіпає, коли пишуть C/C++, поєднуючи дві різні мови, відмінні не тільки концептуально, але й синтаксично (так!). Щось я не бачу, щоб писали C/Objective-C або QBasic/Visual Basic десь у вакансіях.
З очевидних відмінностей є, наприклад, автоматичне приведення в сішці void-вказівниказ десяти у світі від цього не вмер.
Але у зворотному боці я також отримав декілька WTF-моментів. Наприклад, в C++ можна написати
і воно це схаває, бо в C++
Це з цікавого. Кажуть: «Майже будь-який код на C може бути скомпільований як C++» — проте не кажуть, що це ще не гарантує його коректність. Наприклад, в C🥱
Короч, між C та C++ ще безліч «прикольних» відмінностей. Аж на цілу пдф-ку назбиралося.
З очевидних відмінностей є, наприклад, автоматичне приведення в сішці void-вказівника
void*
до вказівника на будь-який інший тип, наприклад, int*
. А неявні касти в результаті приносять значно більше болю, ніж необхідність робити це явно. В Haskell немає неявних приведень типу, і жоден розробник Але у зворотному боці я також отримав декілька WTF-моментів. Наприклад, в C++ можна написати
int i = 0;
(i = 10) = 42;
і воно це схаває, бо в C++
operator=
повертає lvalue, але в C — ні, тож там це не спрацює. Це ж буквально один з пунктів, на які я жалівся у статті. Неприємно здивований.Це з цікавого. Кажуть: «Майже будь-який код на C може бути скомпільований як C++» — проте не кажуть, що це ще не гарантує його коректність. Наприклад, в C
sizeof('a')
повертає розмір int
, а в C++ — розмір char
Короч, між C та C++ ще безліч «прикольних» відмінностей. Аж на цілу пдф-ку назбиралося.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁1🤓1
Читав днями допис (до речі дуже подобається канал, рекомендую!), де чувак пише, як він підходить до завантажень відео з вебсайтів. А у мене як раз була подібна ситуація, коли я теж хотів щось злити з сайту, а там відоса як такого не було, і щось я не второпав, як це зробити.
Так ось я згадав, що то було. Дружина колись давно купила курс, який хоститься на сайті Gurucan (який, схоже, має росіянське коріння до речі), а ті прям хизуються своїм video content protection🙄
Короч. Чувак своїм дописом мене надихнув розібратися. І він мав рацію! Мені як не веб-девелоперу трохи складніше, але я посидів на вкладці Мережа в девтулах, познаходив там якісь лінки. Спочатку думав взагалі просто дампанути з девтулів сесію та парсити її, але згодом знайшов там виклики API. Після логіну прилітає токен, який можна потім просто передавати в куках разом з
Усі відоси розділені на шматки по 4 секунди й лежать на CDN, де також є
Написав все на #Nu (так, це мова в #Nushell) з використанням вбудованих засобів, тож єдина зовнішня залежність — це, власне,(жодних блядь jq!) . Дуже подобається, що все статично типізоване та компілюється, тож ще до виконання отримуєш пачку помилок.
І вкотре наголошую, в якому я захваті від передачі обʼєктів через пайп. Є, наприклад у мене команда з отакою сигнатурою:
Необовʼязковий параметр — це
Чому необовʼязковий? Бо натомість URL можна передати через пайп. І саме про це каже тип цієї команди, який можна читати так: якщо через пайп приходить
При цьому авжеж тепер ліва частина може бути аутпутом з іншої команди. За бажання структуру
Лайна в процесі також похавав. В якийсь момент мій код почав видавати отаку помилку:
І пиздець — ані туди, ані сюди. Причому це тупо в😵💫
Втім все одно я в захваті! Nushell — вогонь, причому він активно розвивається.
Так ось я згадав, що то було. Дружина колись давно купила курс, який хоститься на сайті Gurucan (який, схоже, має росіянське коріння до речі), а ті прям хизуються своїм video content protection
Короч. Чувак своїм дописом мене надихнув розібратися. І він мав рацію! Мені як не веб-девелоперу трохи складніше, але я посидів на вкладці Мережа в девтулах, познаходив там якісь лінки. Спочатку думав взагалі просто дампанути з девтулів сесію та парсити її, але згодом знайшов там виклики API. Після логіну прилітає токен, який можна потім просто передавати в куках разом з
User-Agent
, і все працює. Усі відоси розділені на шматки по 4 секунди й лежать на CDN, де також є
*.m3u8
плейліст, по якому воно їх і збирає. Я роблю те саме: завантажую всі шматки локально та комбіную їх ffmpeg
ʼом.Написав все на #Nu (так, це мова в #Nushell) з використанням вбудованих засобів, тож єдина зовнішня залежність — це, власне,
ffmpeg
І вкотре наголошую, в якому я захваті від передачі обʼєктів через пайп. Є, наприклад у мене команда з отакою сигнатурою:
def "api get" [url?: string]: [nothing -> record, string -> record] {
...
}
Необовʼязковий параметр — це
url
, щоб можна було викликати отак:api get https://some.domain/api/call
Чому необовʼязковий? Бо натомість URL можна передати через пайп. І саме про це каже тип цієї команди, який можна читати так: якщо через пайп приходить
nothing
, то команда поверне record
(але в цьому випадку треба вказати url
, що на жаль в сигнатурі не відображене), і якщо через пайп приходить string
, то також повертає record
. Жодні інші типи через пайп не прийматиме. Тож альтернативний виклик отакий:'https://some.domain/api/call' | api get
При цьому авжеж тепер ліва частина може бути аутпутом з іншої команди. За бажання структуру
record
, що повертається, також можна описати в типі, якщо вона заздалегідь відома.Лайна в процесі також похавав. В якийсь момент мій код почав видавати отаку помилку:
× Variable not found
╭─[~/megamodule/mod.nu:137:1]
137 │
138 │ ╭─▶️ api purchases | each {|p|
139 │ │ api course $p._id | download course
140 │ ├─▶️ }
· ╰──── variable not found
141 │
╰────
І пиздець — ані туди, ані сюди. Причому це тупо в
main
на верхньому рівні. Довелося коментувати код шматками, щоб докопатися до суті. Врешті виявилося, що десь в іншому модулі на хз якому рівні вкладеності я не перевірив одну зі змінних на null
перед використанням Втім все одно я в захваті! Nushell — вогонь, причому він активно розвивається.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👀1
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Свій перший код на #BASIC я написав в шість років (А ви? Розкажіть, може?) на якомусь радянському клоні спектрума, хоча в ті часи цього ще не усвідомлював. Я був у «компьютерно-англійському» першому класі, проте, вже за півтора року він став звичайним, а інформатику нам перестали викладати. Свій же компʼютер у мене зʼявився аж за вісім років від першої написаної програми — коли мені було 14.
Жили ми доволі бідно, тож у мене не те що компʼютера не було, а навіть «денді», не кажучи вже про «сегу». Якийсь час був Brick Game aka «тетріс», який на жаль зник (найбільш ймовірно його спиздив сусід по поверху, мати-алкоголічка якого варила ширку для наркоманів).
Але потяг до компʼютерної тематики у мене з дитинства. Тож коли була змога, я ходив по друзях, у котрих вже були компи (дякую вам, до речі🥰 ) або хоча б приставки. Решту ж часу з розваг у мене були походи в компʼютерні магазини, де можна було подивитися на свіжі технологічні надбання, а також набрати прайс-листів, щоб скласти собі черговий (чи не щотижневий) конфіг своєї мрії. В деяких магазах мене навіть в обличчя вже знали 😁
А ще існувала радянська книжка «Энциклопедия профессора Фортрана» (росіянською звісно). У мене її не було, але мені друган давав почитати, тож я її мільйон разів прочитав, мабуть.
І короч в книзі була схема, яку можна було перенести на папір, вирізати та склеїти собі мале-е-е-енький паперовий компʼютер! Я це також неодноразово робив, уявляючи, як офігезно буде мати колись справжній.
Отже, це все був вступ. Я просто натрапив на сайт з паперовими (кольоровими!) моделями різних старих пристроїв, і мені згадалося ) Треба якийсь гештеґ на кшталт «дід знов забув про таблетки».
Жили ми доволі бідно, тож у мене не те що компʼютера не було, а навіть «денді», не кажучи вже про «сегу». Якийсь час був Brick Game aka «тетріс», який на жаль зник (найбільш ймовірно його спиздив сусід по поверху, мати-алкоголічка якого варила ширку для наркоманів).
Але потяг до компʼютерної тематики у мене з дитинства. Тож коли була змога, я ходив по друзях, у котрих вже були компи (дякую вам, до речі
А ще існувала радянська книжка «Энциклопедия профессора Фортрана» (росіянською звісно). У мене її не було, але мені друган давав почитати, тож я її мільйон разів прочитав, мабуть.
І короч в книзі була схема, яку можна було перенести на папір, вирізати та склеїти собі мале-е-е-енький паперовий компʼютер! Я це також неодноразово робив, уявляючи, як офігезно буде мати колись справжній.
Отже, це все був вступ. Я просто натрапив на сайт з паперовими (кольоровими!) моделями різних старих пристроїв, і мені згадалося ) Треба якийсь гештеґ на кшталт «дід знов забув про таблетки».
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8😁3❤1❤🔥1
Якось розмовляли з друганом про можливість зробити GUI/TUI для роботи з логами, зокрема в JSON-форматі.
І якщо ви досі не перейшли на #Nushell, як це зробив я, то вам може стати в пригоді його плагін для Neovim, що дозволяє наживо фігачити
І якщо ви досі не перейшли на #Nushell, як це зробив я, то вам може стати в пригоді його плагін для Neovim, що дозволяє наживо фігачити
jq
-запити. Не забудьте поставити зірочку на репу.GitHub
GitHub - kri4er/telescope-jq.nvim: Telescope plugin providing jq functionality for neovim
Telescope plugin providing jq functionality for neovim - kri4er/telescope-jq.nvim
🔥6👍3👀1
Зараз буде багато тексту.
Вчора раптом отримав інсайт щодо код-ревʼю, коли мені робили дизайн-ревʼю слайдів для презентації.
Я вже писав про це раніше, але передісторія така:
Робив програмістам-плюсовикам на роботі доповідь під назвою «Want to get better at C++? Learn other languages». Ну, не скажу, що ідея капець яка свіжа, але це те, в що я сам вірю: доволі складнувато, якщо взагалі можливо, стати професійним програмістом, коли ти нічого окрім C++ не бачив, бо знання мови хоч і важливе, але точно не на першому і навіть не на другому місці за пріоритетом. А серед плюсистів воно ж часто як: пишуть на плюсах, можливо навіть бачили Python, який зневажають, а решту взагалі ігнорують.
Потім треба було мені зробити пʼятихвилинний lightning talk вже на ширшу аудиторію, де і різних програмістів більше, та й інші тестувальники та ПМи присутні. Але моя тема масштабується на будь-що насправді, бо я особисто постійно вбачаю паралелі у всьому та намагаюся використовувати всі свої знання з різних сфер.
Так короч, я свої слайди трохи спростив та адаптував. По-перше, не хотів робити їх занадто технічними, а по-друге, хотів зробити свою доповідь більш легковажною та фановою.
А тут контора вирішила зробити публічне ревʼю презентацій від охочих. Я звісно одразу зголосився, бо люблю отримувати фідбек. І от дизайнерка сиділа та коментувала різні помилки та можливості покращити.
Наведу декілька прикладів своїх слайдів та коментарів на них:
Вчора раптом отримав інсайт щодо код-ревʼю, коли мені робили дизайн-ревʼю слайдів для презентації.
Я вже писав про це раніше, але передісторія така:
Робив програмістам-плюсовикам на роботі доповідь під назвою «Want to get better at C++? Learn other languages». Ну, не скажу, що ідея капець яка свіжа, але це те, в що я сам вірю: доволі складнувато, якщо взагалі можливо, стати професійним програмістом, коли ти нічого окрім C++ не бачив, бо знання мови хоч і важливе, але точно не на першому і навіть не на другому місці за пріоритетом. А серед плюсистів воно ж часто як: пишуть на плюсах, можливо навіть бачили Python, який зневажають, а решту взагалі ігнорують.
Потім треба було мені зробити пʼятихвилинний lightning talk вже на ширшу аудиторію, де і різних програмістів більше, та й інші тестувальники та ПМи присутні. Але моя тема масштабується на будь-що насправді, бо я особисто постійно вбачаю паралелі у всьому та намагаюся використовувати всі свої знання з різних сфер.
Так короч, я свої слайди трохи спростив та адаптував. По-перше, не хотів робити їх занадто технічними, а по-друге, хотів зробити свою доповідь більш легковажною та фановою.
А тут контора вирішила зробити публічне ревʼю презентацій від охочих. Я звісно одразу зголосився, бо люблю отримувати фідбек. І от дизайнерка сиділа та коментувала різні помилки та можливості покращити.
Наведу декілька прикладів своїх слайдів та коментарів на них:
👀1
Аніме… ми в компанії не використовуємо аніме… Краще прибрати й використати щось більш підхоже.
(Я опущу те, як у мене підгоріла дупця з «аніме»).
Але… що саме тут пасуватиме краще, ніж персонаж з мультфільму, який є автором цих слів? Цитата ж буквально двічі доводить правильність того, про що я розповідаю в презентації. По-перше, напряму: сам сенс цитати про це. А по-друге, на метарівні: мені треба було зробити слайди під презентацію, я не знав, що туди писати, а потім раптом збагнув, коли займався зовсім іншою справою — дивився «Аватара»
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6❤2👀1
Отож про що це я? А, ну так, про дизайн-ревʼю та про код-ревʼю.
Річ у тім, що у нас в компанії є шаблон для презентацій. Це, можна сказати, такий собі style guide, як у програмістів для коду.
І в цьому шаблоні шрифт доволі маленький, а я у своїх слайдах зробив великий. Дизайнерка каже:
І я абсолютно згоден з аналізом, але не згоден з висновками. Мені навпаки цікаво, чому в нашому шаблоні шрифт такий маленький за стандартом? Це ж спонукає людей писати занадто багато тексту або пхати нерелевантні зображення, щоб заповнити пустоти. При цьому дослідження ясно показують, що коли людям треба одночасно й читати багато тексту, і слухати доповідача, то вони обирають перше (а нащо тоді доповідач?).
Всі мої зображення були додані, щоб підкреслити якусь думку, а не тому, що було забагато вільного місця.
Презентація загалом була заточена під один конкретний пʼятихвилинний момент з конкретною цільовою авдиторією. Вона мала запамʼятовуватися та бути неформальною, бо суто для внутрішнього використання.
Я отримав й кілька вельми корисних порад звісно! Але загалом дизайнерка була настільки збентежена великим шрифтом, що не помітила інших «жахливих» порушень нашого стайл-гайду: що у мене взагалі немає bullet-списків, що на жодному слайді немає номера сторінки, назви компанії, копірайту, сьогоднішньої дати та іншого булшиту, який зазвичай пхають, що на жодному слайді, окрім першого та останнього, немає логотипа компанії, тощо. І що шрифт заголовка слайда менше за розміром, ніж шрифт змісту😁 (але виділений кольором).
Я розмірковував про все це, і раптом збагнув, що воно якось дуже відлунює мені код-ревʼю, до якого ми всі з вами звикли. В різних компаніях практика огляду коду також дуже відрізняється: від перевірки пробілів/табів до того, що хтось качає собі PR та перевіряє, чи коректно він працює.
Вочевидь, якщо можна автоматизувати форматування коду під стиль — варто його автоматизувати, тож це не має бути предметом код-ревʼю. Шкода, що зазвичай під цим розуміють лише на якому рядку дужка стоїть, а ось схему найменування речей так легко не автоматизуєш.
Чи є сенс в рамках ревʼю чекаутити собі код та запускати його? Ну, точно не щоразу. Я інколи це роблю для особливо критичних місць, але чисто тому, що частково виконую роль архітектора також, й буває чуйка підказує, що «щось тут не те».
Чи є користь від перегляду коду, не пірнаючи в контекст та не намагаючись зрозуміти логіку? Ну, дивлячись на те, як було зроблене дизайн-ревʼю — ні. Ба більше! Це може навіть зашкодити.
На жаль у мене немає остаточно сформованої думки з цього приводу. Але я вкотре здивувався, як якась одна подія спровокувала роздуми на іншу, відносно далеку тему🤔
Річ у тім, що у нас в компанії є шаблон для презентацій. Це, можна сказати, такий собі style guide, як у програмістів для коду.
І в цьому шаблоні шрифт доволі маленький, а я у своїх слайдах зробив великий. Дизайнерка каже:
дивіться, тут шрифт штучно збільшили, бо якщо зробити його таким, як в нашому стайл-гайді, то слайд стає занадто порожнім, а люди, мовляв, бояться занадто порожніх слайдів. Тож просто додайте якесь зображення.
І я абсолютно згоден з аналізом, але не згоден з висновками. Мені навпаки цікаво, чому в нашому шаблоні шрифт такий маленький за стандартом? Це ж спонукає людей писати занадто багато тексту або пхати нерелевантні зображення, щоб заповнити пустоти. При цьому дослідження ясно показують, що коли людям треба одночасно й читати багато тексту, і слухати доповідача, то вони обирають перше (а нащо тоді доповідач?).
Всі мої зображення були додані, щоб підкреслити якусь думку, а не тому, що було забагато вільного місця.
Презентація загалом була заточена під один конкретний пʼятихвилинний момент з конкретною цільовою авдиторією. Вона мала запамʼятовуватися та бути неформальною, бо суто для внутрішнього використання.
Я отримав й кілька вельми корисних порад звісно! Але загалом дизайнерка була настільки збентежена великим шрифтом, що не помітила інших «жахливих» порушень нашого стайл-гайду: що у мене взагалі немає bullet-списків, що на жодному слайді немає номера сторінки, назви компанії, копірайту, сьогоднішньої дати та іншого булшиту, який зазвичай пхають, що на жодному слайді, окрім першого та останнього, немає логотипа компанії, тощо. І що шрифт заголовка слайда менше за розміром, ніж шрифт змісту
Я розмірковував про все це, і раптом збагнув, що воно якось дуже відлунює мені код-ревʼю, до якого ми всі з вами звикли. В різних компаніях практика огляду коду також дуже відрізняється: від перевірки пробілів/табів до того, що хтось качає собі PR та перевіряє, чи коректно він працює.
Вочевидь, якщо можна автоматизувати форматування коду під стиль — варто його автоматизувати, тож це не має бути предметом код-ревʼю. Шкода, що зазвичай під цим розуміють лише на якому рядку дужка стоїть, а ось схему найменування речей так легко не автоматизуєш.
Чи є сенс в рамках ревʼю чекаутити собі код та запускати його? Ну, точно не щоразу. Я інколи це роблю для особливо критичних місць, але чисто тому, що частково виконую роль архітектора також, й буває чуйка підказує, що «щось тут не те».
Чи є користь від перегляду коду, не пірнаючи в контекст та не намагаючись зрозуміти логіку? Ну, дивлячись на те, як було зроблене дизайн-ревʼю — ні. Ба більше! Це може навіть зашкодити.
На жаль у мене немає остаточно сформованої думки з цього приводу. Але я вкотре здивувався, як якась одна подія спровокувала роздуми на іншу, відносно далеку тему
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👀1
Щойно дізнався від @dmytrish про таку крутецьку штуку як Kaitai Struct. Це декларативний парсер бінарних даних, який вміє генерувати код під різні мови, зокрема для C++ (а не C! 😌 ) .
Мені буквально нещодавно треба було запарсити віндовий
А Kaitai, схоже, генерує код під ES5 як раз, бо я не побачив там якогось свіжішого синтаксису. Доведеться знов дістати ту ініціативу зі скрині відкладених проєктів.
Мені буквально нещодавно треба було запарсити віндовий
ico
-формат в JavaScriptʼі, й у npmʼі авжеж є якісь готові ліби, але в тому середовищі, під яке я писав, дуже старий JS-рантайм (ECMAScript 5). Вручну все писати також впадлу.А Kaitai, схоже, генерує код під ES5 як раз, бо я не побачив там якогось свіжішого синтаксису. Доведеться знов дістати ту ініціативу зі скрині відкладених проєктів.
Please open Telegram to view this post
VIEW IN TELEGRAM
kaitai.io
Kaitai Struct: declarative binary format parsing language
Kaitai Struct is a formal language for binary format specification that can be compiled into parser code
👍3🔥1👀1
Cіпласпластик
А ще існувала радянська книжка «Энциклопедия профессора Фортрана»
Українською література теж існувала, як виявилося, але не у мене. Взагалі зараз замислився, чи були у мене вдома бодай якісь книжки українською, окрім підручників. І щось не пригадується 😢
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
SnC Museum Lab
Пропоную вашій увазі скан додатку до українського журналу "Однокласник №8, 1991", присвячений іграм для програмованих калькуляторів.
Додаток зветься "Еггог та інші таємниці"
Сканував сам. Скачати або погортати прямо на сайті можна з archive.org
https://…
Додаток зветься "Еггог та інші таємниці"
Сканував сам. Скачати або погортати прямо на сайті можна з archive.org
https://…
👍3❤1
Кому #ШІ-шку прям в телеграмі? Microsoft розробила офіційний телеграм бот для Copilot: так і називається, їй-богу — @CopilotOfficialBot. Якось працює, навіть доволі непогано, хоча просить номер телефона з ними зашарити.
Мене вразило не стільки те, що до телеграму прикрутили ШІ-шку у вигляді бота (бо самописних на ґітгабі вистачало й до того), скільки той факт, що Microsoft написала щось для Telegram.
Це як акт визнання існування останнього великими компаніями. Тобто серйозні справи вже пішли, серйозна гра. А значить, надалі ставатиме тільки гірше🙂 — час шукати, куди звідси ливати 🧐
Мене вразило не стільки те, що до телеграму прикрутили ШІ-шку у вигляді бота (бо самописних на ґітгабі вистачало й до того), скільки той факт, що Microsoft написала щось для Telegram.
Це як акт визнання існування останнього великими компаніями. Тобто серйозні справи вже пішли, серйозна гра. А значить, надалі ставатиме тільки гірше
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Microsoft Copilot
Your everyday AI companion, here to make life easier and talk about anything. Always here for you!
👏5👍2👀1
Media is too big
VIEW IN TELEGRAM
Мені трапився черговий «веббраузер»(?) — Kosmik. Цього разу маємо безкінечне полотно, на яке можна пхати різні зображення, PDF-ки, посилання, текст, наліпки тощо. Тобто в принципі те саме, що вже 20 років є у OneNote, тільки вебкліпер раніше був у браузері, а тепер навпаки браузер вбудований у програму. Хоча сама програма на електроні — тож теж браузер. А ще її можна запустити всередині звичайного браузера 😵💫 Kosmik ще й не зовсім безплатний до того ж.
Я потикався і бачу, що користуватися не буду, але сюди вирішив скинути. Тиждень був важкий, а я давно сюди нічого не писав — ще відписуватися почнете🙁
Я потикався і бачу, що користуватися не буду, але сюди вирішив скинути. Тиждень був важкий, а я давно сюди нічого не писав — ще відписуватися почнете
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁4🤔1😱1