Якось з часом мій блог і твіттер перетворилися на глибоко технічні штуки англійською мовою. Може це й доречно з огляду на кількість людей, які можуть прочитати, і з огляду на їх консистентність, але це трішки ускладнює їх ведення.
По-перше, англійська все ж таки не моя рідна мова і щоб нею написати і було не соромно - треба напружити мозок. :)
По-друге, обраний шлях тільки технічного контенту дуже обмежує. Тож іноді я пишу десь у якусь з груп в телеграмі з друзями. Але цих груп декілька, тож іноді треба пройтися всюди написати, і в якийсь момент я починаю почувати себе дуже дивно. Вони не пересікаються по людях окрім мене, але відчуття якогось безумства присутнє. :)
Тож я вирішив спробувати вести канал, куди можна бути писати думки широкого профілю. :)) Щє й українську потреную, до сраки той охват аудиторії. ;)
По-перше, англійська все ж таки не моя рідна мова і щоб нею написати і було не соромно - треба напружити мозок. :)
По-друге, обраний шлях тільки технічного контенту дуже обмежує. Тож іноді я пишу десь у якусь з груп в телеграмі з друзями. Але цих груп декілька, тож іноді треба пройтися всюди написати, і в якийсь момент я починаю почувати себе дуже дивно. Вони не пересікаються по людях окрім мене, але відчуття якогось безумства присутнє. :)
Тож я вирішив спробувати вести канал, куди можна бути писати думки широкого профілю. :)) Щє й українську потреную, до сраки той охват аудиторії. ;)
Коли я писав TwinSpark, однією з ідей була code locality: так, щоб в момент читання коду можна було прям на елементі побачити все, що він тут збирається робити. По-простому — я хотів мати у верстці елементів`onclick="hide()"`, щоб не треба було ходити в інший файл (або купу їх), як з jQuery. В реакті воно так і є, прям у JSX ти пишеш що має відбутися на кліку.
Але я не хочу як в реакті, де треба передати функцію, або як в хтмлі, де строка на джаваскрипті. Перше занадто обмежене, а друге занадто безкрає і незручне — настільки, що й раніше туди максимум
Так з'явилися екшени
Екшен або виконується одразу (синхронно), або може повернути проміс, і тоді увесь механізм його чекає. Це дозволяє зробити щось на кшталт
Але є одне занепокоєння — експресивність. Найбільше обмеження, мені здається, це неможливість вмістити два різних набори екшенів на одному елементі. Те, що самі екшени досить тупий синтаксис мають — так он шели все життя так, і ніяких проблем. :) Але ж тут я теж можу помилятися.
Тож я з реальнім інтересом слідкую за проектом https://hyperscript.org, де Карсон (автор Intercooler.js та HTMx) намається щось розвивати у тому ж напрямку, але з більшою експресивністю. Одна штука, що дратує — це HyperTalk або AppleScript направленість, вони роблять все це дуже схожим на нормальну англійську мову, з різними опціональними штуками. Я досить багато возився з AppleScript і знаю що це потім дуже складно вивчати і розбирати, тож я б волів би бачити тупішу формальнішу граматику.
Але щось ідеї кращого синтаксису поки що не прийшли до голови. От я і думаю, у якому напрямку копати?.. Чи може у вас є якісь міркування на цю тему?
Але я не хочу як в реакті, де треба передати функцію, або як в хтмлі, де строка на джаваскрипті. Перше занадто обмежене, а друге занадто безкрає і незручне — настільки, що й раніше туди максимум
func(1,2)
писали. Тож хочеться щось досить обмежене, достатньо зручне і просте.Так з'явилися екшени
ts-action
. Ідея така: є тригер екшенів ts-trigger
, за замовчуванням це click
(або submit
для форми), є ціль ts-target
, за замовчуванням це сам елемент, де все трапляється, і є строка екшенів виду class+ loading, delay 1s, remove
. Коми розділяють екшени, перше слово — це назва екшену, всі інші передаються просто строками — це вже робота кожного екшену вирішити що з тим робити.Екшен або виконується одразу (синхронно), або може повернути проміс, і тоді увесь механізм його чекає. Це дозволяє зробити щось на кшталт
class+ fade, wait transitionend, remove
, де .fade
вмикає якийсь цсс-перехід на елементі, і після завершення того елементу все вбивається. Краса!Але є одне занепокоєння — експресивність. Найбільше обмеження, мені здається, це неможливість вмістити два різних набори екшенів на одному елементі. Те, що самі екшени досить тупий синтаксис мають — так он шели все життя так, і ніяких проблем. :) Але ж тут я теж можу помилятися.
Тож я з реальнім інтересом слідкую за проектом https://hyperscript.org, де Карсон (автор Intercooler.js та HTMx) намається щось розвивати у тому ж напрямку, але з більшою експресивністю. Одна штука, що дратує — це HyperTalk або AppleScript направленість, вони роблять все це дуже схожим на нормальну англійську мову, з різними опціональними штуками. Я досить багато возився з AppleScript і знаю що це потім дуже складно вивчати і розбирати, тож я б волів би бачити тупішу формальнішу граматику.
Але щось ідеї кращого синтаксису поки що не прийшли до голови. От я і думаю, у якому напрямку копати?.. Чи може у вас є якісь міркування на цю тему?
Всім привіт, насправді! :) Я щось поки не розумію різниці у медіа з блогом, якщо чесно - я підписан на 3 чи 4 канали і всі вони постять величезні пости такі пророблені досить помітно. :)
Я якось вирішив, що коли ти багато працюєш над написанням поста, то який сенс його не писати англійською, все одно це найбільша аудиторія і потенційно найбільший вихлоп (хоча б у вигляді обговорень) — але все-ж таки це доп гемор, хаха.
Тож можна спробувати телеграм юзати як, так би мовити, прев'ю постів у блог, а можно щось типу твітера — менше зусиль, простіше писати, ширші теми... хз, що ви взагалі чекаєте від телеграм-каналу, на який підписуєтеся? )
Я якось вирішив, що коли ти багато працюєш над написанням поста, то який сенс його не писати англійською, все одно це найбільша аудиторія і потенційно найбільший вихлоп (хоча б у вигляді обговорень) — але все-ж таки це доп гемор, хаха.
Тож можна спробувати телеграм юзати як, так би мовити, прев'ю постів у блог, а можно щось типу твітера — менше зусиль, простіше писати, ширші теми... хз, що ви взагалі чекаєте від телеграм-каналу, на який підписуєтеся? )
Поїхали сім‘єю у відпуску до Плаю. Це курорт біля траси Київ-Чоп, за Сколе. Вони себе позиціонують як гірськолижний, але суто за лижами сюди їхати аж з Києва не варто - два підйомники і чотири спуски не роблять ніякої конкуренції Буковелю. :)
Зате для сімейного відпочинку він кльовий: прям в отелі є спа (басейн/сауни/джакузі), навпроти величезний спортивний корпус з більшим спа-центром, боулінгом, дитячою кімнатою, футбольним залом, тренажерами, кілька ресторанів навкруги, і головне - ти не ходиш постійно по бруду обабіч дороги, машин всередені майже немає, все спокійно і приємно.
Знову ж, на схилі незрівнянно менше людей, ніж у Буковелі, тож вчитися комфортніше — думаю, що я сина на звичайні «навчальні» горки у Буковелі може і не вмовив би піти, бо як сьому згадаєш... ггг, мені там самому стрьомно поміж тих тіл пробиратися)))
Норм, кароч, мені сподобалося. :)
Зате для сімейного відпочинку він кльовий: прям в отелі є спа (басейн/сауни/джакузі), навпроти величезний спортивний корпус з більшим спа-центром, боулінгом, дитячою кімнатою, футбольним залом, тренажерами, кілька ресторанів навкруги, і головне - ти не ходиш постійно по бруду обабіч дороги, машин всередені майже немає, все спокійно і приємно.
Знову ж, на схилі незрівнянно менше людей, ніж у Буковелі, тож вчитися комфортніше — думаю, що я сина на звичайні «навчальні» горки у Буковелі може і не вмовив би піти, бо як сьому згадаєш... ггг, мені там самому стрьомно поміж тих тіл пробиратися)))
Норм, кароч, мені сподобалося. :)
Вова вчора написав есе про Gear Aquisition Syndrome і я подумав, що в мене є якийсь його прояв, але трішки іншого вигляду. Коли ми робили ремонт у квартирі, можна було піти і купити яку-небудь техніку, тому що вся вона +- адекватна. Але ні, в мене була табличка з переліком всього, що треба купити, моделями, на які я дивлюся, і різними характеристиками для порівняння.
Останнє — це найскладніше, що ж порівнювати? Типу коли купляєш щось знайоме, як от диск в комп'ютер, то просто знаєш, що там важливо. А коли це пралка? Дупля не відбиваю, що там порівнювати. Не відбивав, точніше. :)) Йдеш на wirecutter, і там вони пояснюють, чому рекомендують що вони там рекомендують — і з того можна зрозуміти, які ж критерії.
У найгірших випадках стається як зі стримінгом, де ми з Сєвою потім з'ясовували, чи можна зробити виробництво юсб-камер. У найкращих — як з гітарою, де я трішки попитав навкруги, трішки подумав що я від неї хочу, і загалом на вибір потратив всього 2-3 години. :))
Оце все жере час так що немає сил, але воно частково рекреаційне, а частково просто інформаційна наркоманія, тож щось змінити важко. Одне добре - що машини не треба часто обирати. :-)))
Останнє — це найскладніше, що ж порівнювати? Типу коли купляєш щось знайоме, як от диск в комп'ютер, то просто знаєш, що там важливо. А коли це пралка? Дупля не відбиваю, що там порівнювати. Не відбивав, точніше. :)) Йдеш на wirecutter, і там вони пояснюють, чому рекомендують що вони там рекомендують — і з того можна зрозуміти, які ж критерії.
У найгірших випадках стається як зі стримінгом, де ми з Сєвою потім з'ясовували, чи можна зробити виробництво юсб-камер. У найкращих — як з гітарою, де я трішки попитав навкруги, трішки подумав що я від неї хочу, і загалом на вибір потратив всього 2-3 години. :))
Оце все жере час так що немає сил, але воно частково рекреаційне, а частково просто інформаційна наркоманія, тож щось змінити важко. Одне добре - що машини не треба часто обирати. :-)))
Мій син спілкується як диктор ОРТ. Маріанна різні макарони складає у шафу, а Степан тоном кримінальної хроніки: «МАМА ОТІ МАКАРОНИ ЩО ТИ ПОКЛАЛА ПЕРШИМИ МИ БУДЕМО ЇСТИ НА ОБІД МАМА ТИ ЧУЛА МАМА ОТІ ЩО ПЕРШИМИ ТИ ЧУЛА МАМА ТІЛЬКИ ЇХ».
Наче хоче, щоб ця думка в підсвідомості засіла. Гипнотизер малий. Смішно, але й ще трішки втомлює. Але й смішно)))
Наче хоче, щоб ця думка в підсвідомості засіла. Гипнотизер малий. Смішно, але й ще трішки втомлює. Але й смішно)))
Я дуже люблю всякі цікаві лінгвістичні факти і тільки що згадав один дуже прикольний. В англійскій мові є декілька шарів лексики. Найпростіший приклад - це те, що корову вони називають cow - це з древньо-германського kwon (корова). А яловичину називають beef, це від давньо-французського buef (корова). Це сталося через захват норманами Англії в 11 сторіччі, через що всі пани, які їли м'ясо, розмовляли французською, а всі селяни, які цих тваринок ростили - англійською.
Або ж line/order, теж схожа історія - просте слово і "на понтах". :) Поверх цього всього ще є лексика напряму з латини, на кшталт respect, яка з праць церковників та вчених заїхала, і відчувається ще вище рівнем за надбання з французьскої. Якщо продовжувати лінію (pun intended) line/order, з латини це sequence.
Пішов перевірив, чи корова/яловичина/говядина не схожа на ситуацію в Англії, і наче ні, не схоже. А яловичина та говядина розрізняються тому, що спочатку яловичина — це було м'ясо ялової, тобто безплідної чи некорисної корови, а говядина — будь-якої говяди (тобто корови).
Або ж line/order, теж схожа історія - просте слово і "на понтах". :) Поверх цього всього ще є лексика напряму з латини, на кшталт respect, яка з праць церковників та вчених заїхала, і відчувається ще вище рівнем за надбання з французьскої. Якщо продовжувати лінію (pun intended) line/order, з латини це sequence.
Пішов перевірив, чи корова/яловичина/говядина не схожа на ситуацію в Англії, і наче ні, не схоже. А яловичина та говядина розрізняються тому, що спочатку яловичина — це було м'ясо ялової, тобто безплідної чи некорисної корови, а говядина — будь-якої говяди (тобто корови).
Коли мені було менше рочків і машини мої були трохи дешевшими, я був завзятим прихильником ручної КПП. Та й усілякі датчики дощу чи там освітлення мені здавалися дурістю - чого воно ото лізе, де я й сам впоратися можу.
Зараз на вольві, вочевидь, АКПП (які ще й набагато кращіми за минулі роки стали), світло завжди на автоматі, постійно юзаю адаптивний круїз (щоб само гальмувало, якщо хто попереду висунувся), та й все таке інше. При цьому я сьогодні замість зробити музику тихіше скинув 10 кмч на круїзі, та декілька разів задумувався, що там з двірниками зробити (щоб заднє скло помити). Я пам‘ятаю близько 3 тисяч хоткеїв ємаксу (чи скіки там, ну більше десяти так точно), а тут прям треба замислюватися.
Коли мені було 20 і в голові було пустіше, та й функцій в машині втричі менше - в повороті непокоїло щоб і передача правильна була, і траекторія красива, і все таке інше. А зараз... зараз хочеться, щоб я тільки про поворот думав у момент повороту, а різні штуки нехай самі працюють, і передачі клацають, і вікна труть, і шо там щє, на 20 градусів цельсія дмуть. І взагалі, чого це ще немає автоматичного миття скла, нащо я ото смикаю постійно?!
Це я про шо взагалі? Про контрол фріків! Мав розмову за кложу з двома різними людьми, між собою незнайомими. Вони себе, вочевидь, впізнають, але я їм обом в очі сказав те саме, що тут пишу, тож маю надію, що сильно не засмутяться. No offence plz, я дуже намагаюся ці приклади використати для викарбовування думок, а не щоб вас публічно в обличчя потикати. Тим більш навряд чи хтось вас впізнає. :)
Так ок, перший, при обговоренні кложи, дуже непокоївся за неоптимальність структур даних. Ну типу кошмар, immutable, це ж скільки пам'яті провтикується, як все повільно, жах. Через не дуже тверезий наш стан пояснити, як реюзаються частини тих структур, і що для користувача мови це деталі імплементації і це не важливо — я не зміг. Не буду іронізувати над тим, що зараз його робота — це AngularJS.
В другого схоже занепокоєння: коли ти в імперативній мові пишеш якусь операцію над масивом, ти бачиш очима, що це цикл, це в тебе O(n), щось там про пам'ять розумієш. А в функціональному програмуванні (чи там в кложі зокрема) в тебе якісь map/reduce, якісь хитрі функції, нічого ти не бачиш і не відчуваєш. Мало того, що map та reduce такі самі цикли (така сама навичка, як і складність в імперативних мовах бачити), так щє й та "зрозуміла мова" - то Python, де казна-що коїться з точки зору перформансу та пам'яті. Я б куди більше переймався за наслідування класів, яке робить життя невитерпно невизначенним (недетермінованим, якщо ви наполягаєте).
І я ось думаю, що це за спори/питання? Ну вони ж зовсім не про мінуси кложи, ні про суть різниці між функціональними та імперативними мовами... Вони про якісь зрозумілі проблеми, за які можна вчепитися? Ну типу я можу придумати, що це може бути проблемою, то напевно це проблема?
Я не дуже розумію, які слова використовувати у таких випадках, тому що "чувак, це неважливо" не спрацювує. От у вас є занепокоєння якісь схожі? Що б вас могло переконати, що це не найрелевантніше занепокоєння?
Зараз на вольві, вочевидь, АКПП (які ще й набагато кращіми за минулі роки стали), світло завжди на автоматі, постійно юзаю адаптивний круїз (щоб само гальмувало, якщо хто попереду висунувся), та й все таке інше. При цьому я сьогодні замість зробити музику тихіше скинув 10 кмч на круїзі, та декілька разів задумувався, що там з двірниками зробити (щоб заднє скло помити). Я пам‘ятаю близько 3 тисяч хоткеїв ємаксу (чи скіки там, ну більше десяти так точно), а тут прям треба замислюватися.
Коли мені було 20 і в голові було пустіше, та й функцій в машині втричі менше - в повороті непокоїло щоб і передача правильна була, і траекторія красива, і все таке інше. А зараз... зараз хочеться, щоб я тільки про поворот думав у момент повороту, а різні штуки нехай самі працюють, і передачі клацають, і вікна труть, і шо там щє, на 20 градусів цельсія дмуть. І взагалі, чого це ще немає автоматичного миття скла, нащо я ото смикаю постійно?!
Це я про шо взагалі? Про контрол фріків! Мав розмову за кложу з двома різними людьми, між собою незнайомими. Вони себе, вочевидь, впізнають, але я їм обом в очі сказав те саме, що тут пишу, тож маю надію, що сильно не засмутяться. No offence plz, я дуже намагаюся ці приклади використати для викарбовування думок, а не щоб вас публічно в обличчя потикати. Тим більш навряд чи хтось вас впізнає. :)
Так ок, перший, при обговоренні кложи, дуже непокоївся за неоптимальність структур даних. Ну типу кошмар, immutable, це ж скільки пам'яті провтикується, як все повільно, жах. Через не дуже тверезий наш стан пояснити, як реюзаються частини тих структур, і що для користувача мови це деталі імплементації і це не важливо — я не зміг. Не буду іронізувати над тим, що зараз його робота — це AngularJS.
В другого схоже занепокоєння: коли ти в імперативній мові пишеш якусь операцію над масивом, ти бачиш очима, що це цикл, це в тебе O(n), щось там про пам'ять розумієш. А в функціональному програмуванні (чи там в кложі зокрема) в тебе якісь map/reduce, якісь хитрі функції, нічого ти не бачиш і не відчуваєш. Мало того, що map та reduce такі самі цикли (така сама навичка, як і складність в імперативних мовах бачити), так щє й та "зрозуміла мова" - то Python, де казна-що коїться з точки зору перформансу та пам'яті. Я б куди більше переймався за наслідування класів, яке робить життя невитерпно невизначенним (недетермінованим, якщо ви наполягаєте).
І я ось думаю, що це за спори/питання? Ну вони ж зовсім не про мінуси кложи, ні про суть різниці між функціональними та імперативними мовами... Вони про якісь зрозумілі проблеми, за які можна вчепитися? Ну типу я можу придумати, що це може бути проблемою, то напевно це проблема?
Я не дуже розумію, які слова використовувати у таких випадках, тому що "чувак, це неважливо" не спрацювує. От у вас є занепокоєння якісь схожі? Що б вас могло переконати, що це не найрелевантніше занепокоєння?
Подивився відео про те, що значить при зйомці відео 10-bit 4:2:2 і трішечки приголомшений.
10 біт трішки відрізняється від того, як воно в компах. Колись треба було вмикати в настройках дісплею 24 біти, то це у відео-термінах 8-бітний колір, по 256 значень на кожен з ргб. А 10 біт у термінах вінди то 30-бітний, по 1024 значення на кожен з компонентів, тобто 1 мільярд відтінків. Ну це все просто.
А то 4:2:0 (як звичайно) і 4:2:2 (як в модних камерах) це було для мене сюрпризом. Значить так:
Є два рядки, які кодуються, типу блок. Перше число - то є ширина рядків у пікселях, друге число - то кількість пікселей з кольором у першому рядку, третє - кількість пікселей з кольором у другому рядку.
Тобто при нормальних умовах, в нас відео 8 біт 4:2:0, і це значить що колір є тільки в двох з восьми пікселей.
І цього насправді вистачає нормально! Більше потрібно для сирого відео, де ще над кольорами треба буде посидіти, щоб більше даних було. А потім воно летить в ютуб і стає звичайним, і всім норм.
А ось і відео: https://youtu.be/prlQCQHLz8o
Капець.
10 біт трішки відрізняється від того, як воно в компах. Колись треба було вмикати в настройках дісплею 24 біти, то це у відео-термінах 8-бітний колір, по 256 значень на кожен з ргб. А 10 біт у термінах вінди то 30-бітний, по 1024 значення на кожен з компонентів, тобто 1 мільярд відтінків. Ну це все просто.
А то 4:2:0 (як звичайно) і 4:2:2 (як в модних камерах) це було для мене сюрпризом. Значить так:
Є два рядки, які кодуються, типу блок. Перше число - то є ширина рядків у пікселях, друге число - то кількість пікселей з кольором у першому рядку, третє - кількість пікселей з кольором у другому рядку.
Тобто при нормальних умовах, в нас відео 8 біт 4:2:0, і це значить що колір є тільки в двох з восьми пікселей.
І цього насправді вистачає нормально! Більше потрібно для сирого відео, де ще над кольорами треба буде посидіти, щоб більше даних було. А потім воно летить в ютуб і стає звичайним, і всім норм.
А ось і відео: https://youtu.be/prlQCQHLz8o
Капець.
YouTube
What is "10-Bit 4:2:2"?
With the news that the Panasonic GH5 will record 10-bit 4:2:2 internally, what does that mean? And do you need to record that way?
Watch my live chat about documentary filmmaking at PhotoPlus Expo: http://griffinhammond.com/ppe-live
Follow Griffin on social…
Watch my live chat about documentary filmmaking at PhotoPlus Expo: http://griffinhammond.com/ppe-live
Follow Griffin on social…
Як родилася мала у квітні, я почав іноді дивитися ютуб — коли її прикачуєш поспати, читати важкувато буває. :) І один з каналів, який нормально зайшов, це "ім. Т. Г. Шевченка", де брати Капранови розповідають про історію України. Один брат, насправді, інший за кадром тусується. Доволі цікаво розповідають, насправді, але є один момент, який мене непокоїть.
Вони парять тему, що козаки і русини (русини як жителі української частини Київської Русі) — це два різних народи. По-перше, воно у відео трішки за вуха притягнуто, по-друге, суперечить всьому, що тільки можна знайти на поверхні, по-третє, виходить, що Хмельниччина - це загарбницька війна козаків за території Речі Посполитої, на якій жили русини? Weird shit.
Але я якось подивувався і вирішив, що то "художник так бачить", буває, хоча відоси їх став дивитися з меншим бажанням і трішки більш критично... Аж тут згадав, що в них є "Мальована історія України", а мені щось хочеться бумажне почитати. Знайшов її на vsiknygy, а там є перші кілька сторінок.
Хто мене знає особисто, зрозуміє, що пропустити печатне слово мені важко. :) З мобільним якось простіше стало, а раніше я написи на банках у туалеті читав декілька разів підряд, бо шо робити, ггг. Тож я їх прочитав і тут — https://vsiknygy.com.ua/upload/iblock/ff1/ff1cfd0b464e835b265014ef2a698b39.jpg — наприкінці сторінки "легендарна "Велесова книга". 🤦
Що там нам Вікіпедія каже: "літературний фальсифікат, створений в XIX або більш імовірно XX столітті." Це дуже відома липа і я не можу збагнути, як таке можно парити? То вони і для відео такі самі джерела беруть? :(
Зашквар такий шо в мене шось пригоріло)))
Вони парять тему, що козаки і русини (русини як жителі української частини Київської Русі) — це два різних народи. По-перше, воно у відео трішки за вуха притягнуто, по-друге, суперечить всьому, що тільки можна знайти на поверхні, по-третє, виходить, що Хмельниччина - це загарбницька війна козаків за території Речі Посполитої, на якій жили русини? Weird shit.
Але я якось подивувався і вирішив, що то "художник так бачить", буває, хоча відоси їх став дивитися з меншим бажанням і трішки більш критично... Аж тут згадав, що в них є "Мальована історія України", а мені щось хочеться бумажне почитати. Знайшов її на vsiknygy, а там є перші кілька сторінок.
Хто мене знає особисто, зрозуміє, що пропустити печатне слово мені важко. :) З мобільним якось простіше стало, а раніше я написи на банках у туалеті читав декілька разів підряд, бо шо робити, ггг. Тож я їх прочитав і тут — https://vsiknygy.com.ua/upload/iblock/ff1/ff1cfd0b464e835b265014ef2a698b39.jpg — наприкінці сторінки "легендарна "Велесова книга". 🤦
Що там нам Вікіпедія каже: "літературний фальсифікат, створений в XIX або більш імовірно XX столітті." Це дуже відома липа і я не можу збагнути, як таке можно парити? То вони і для відео такі самі джерела беруть? :(
Зашквар такий шо в мене шось пригоріло)))
Щось на мене напали одночасно робота і хвороба дітей, і це різко зменшило кількість вільних думок у голові — тож таке мовчання.
Але в мене є тема, яку я спланував ще з місяць тому, як зрозумів, що мої лайвкодінг стріми мене самого не пруть... чому — окреме питання, мені здається, що візуальності не вистачає, а як верстаю, я точно нікому не хочу показувати. :)
Тож я вирішив, що треба робити те, що більше подобається людям: розмовляти, хєхє. Українською!
Тож ввечері у наступний четвер спробую це зробити, на дуже гарячу тему "Чому ж все-таки Clojure". :) Заодно може й відповім на ті питання, на які тиждень тому скаржився: https://youtu.be/ggjQnfC2Xts
План такий: ви заздалегідь задаєте питання (чи голосуєте) ось тут — https://app.sli.do/event/bkgq9myy
Тож ставте нагадування і приходьте! Я сюди, авжеж, напишу за годинку-дві, але ви все одно поставте нагадування, щоб мені приємно було. :)
Мало не забув! Якщо у вас є ідеї, яку б тему мені розповісти, то скажіть у коментах (чи то у приват, whatever), а то я собі список зробив, але він мене якось не надихає.
Але в мене є тема, яку я спланував ще з місяць тому, як зрозумів, що мої лайвкодінг стріми мене самого не пруть... чому — окреме питання, мені здається, що візуальності не вистачає, а як верстаю, я точно нікому не хочу показувати. :)
Тож я вирішив, що треба робити те, що більше подобається людям: розмовляти, хєхє. Українською!
Тож ввечері у наступний четвер спробую це зробити, на дуже гарячу тему "Чому ж все-таки Clojure". :) Заодно може й відповім на ті питання, на які тиждень тому скаржився: https://youtu.be/ggjQnfC2Xts
План такий: ви заздалегідь задаєте питання (чи голосуєте) ось тут — https://app.sli.do/event/bkgq9myy
Тож ставте нагадування і приходьте! Я сюди, авжеж, напишу за годинку-дві, але ви все одно поставте нагадування, щоб мені приємно було. :)
Мало не забув! Якщо у вас є ідеї, яку б тему мені розповісти, то скажіть у коментах (чи то у приват, whatever), а то я собі список зробив, але він мене якось не надихає.
YouTube
Чому Clojure
Багато років я обговорював це лише у приватних розмовах, і вже багато разів думав — прийшов час написати пост. Але справа у тому, що написати його дуже складно, бо він буде відповідати на питання у моїй голові, а не у вашій.
Тож я вирішив, що треба розповісти…
Тож я вирішив, що треба розповісти…
В нас у базі у спадщину залишилось поле gender типу булеан. Ну типу чоловік - фолс, жінка - тру. Поки нас не цікавить твоя самоідентифікація, а тільки який шмот ти базово волієш бачити, то його поки що і достатньо.
Через те, що це не дуже критичне місце, воно й у апі просочилося так само, коли його на швидку руку прироблювали (бо колись не було апі, а можна було то побачити і змінити тіки на сайті, а в аппках ні).
А потім один з айосників — sancta simplicitas — використав у інтерфейсі системний перемикач. Типу вимкнено — чоловік, увімкнув — жінка.
Полагодити полагодили, а досі трішки соромно)
Через те, що це не дуже критичне місце, воно й у апі просочилося так само, коли його на швидку руку прироблювали (бо колись не було апі, а можна було то побачити і змінити тіки на сайті, а в аппках ні).
А потім один з айосників — sancta simplicitas — використав у інтерфейсі системний перемикач. Типу вимкнено — чоловік, увімкнув — жінка.
Полагодити полагодили, а досі трішки соромно)
На HN сьогодні новина: оцінка Zapier зараз 5 мільярдів доларів. Якщо хтось не чув цієї назви, то це платформа для автоматизації, типу «коли на цей ємейл прийде аттач, збережи його у дропбокс і додай нагадування у календар оплатити всі рахунки в дропбоксі».
Це трішечки нереальна сума, особливо враховуючи, що це ж не маркетплейс, ефектів масштабу в них не дуже багато — ну тільки що з часом в них все більше інтеграцій. Але навіть ці вони пишуть самі. Ну і в них ще є багато конкурентів, типу IFTTT (з якого, до речі, запір скопіював ідею на початку), integromat... да багато їх, навіть corezoid у схожому просторі оперує.
Але я давно вже не переймаюся тим, що оцінки технічних компаній бувають дуже несподіванними — це лише означає, що я не дуже в темі їх масштабу. :) Це нормально, але ну 5 мільярдів за таке?!
Тож я пішов почитати коменти і один попався дуже прикольний, у відповідь на «я навіть оцінити такі суми не можу»:
— Я дивлюся на мільярд як на (дуже приблизно) половину круїзного лайнеру, або як на половину казіно на Стріпі у Лас-Вегасі. Тож Zapier це як казіно з пришвартованним лайнером.
Дуже візуально, прям можна усвідомити. 🤣
Це трішечки нереальна сума, особливо враховуючи, що це ж не маркетплейс, ефектів масштабу в них не дуже багато — ну тільки що з часом в них все більше інтеграцій. Але навіть ці вони пишуть самі. Ну і в них ще є багато конкурентів, типу IFTTT (з якого, до речі, запір скопіював ідею на початку), integromat... да багато їх, навіть corezoid у схожому просторі оперує.
Але я давно вже не переймаюся тим, що оцінки технічних компаній бувають дуже несподіванними — це лише означає, що я не дуже в темі їх масштабу. :) Це нормально, але ну 5 мільярдів за таке?!
Тож я пішов почитати коменти і один попався дуже прикольний, у відповідь на «я навіть оцінити такі суми не можу»:
— Я дивлюся на мільярд як на (дуже приблизно) половину круїзного лайнеру, або як на половину казіно на Стріпі у Лас-Вегасі. Тож Zapier це як казіно з пришвартованним лайнером.
Дуже візуально, прям можна усвідомити. 🤣
Кілька років тому я подивився офігезний доклад Гіла Тене (це CTO Azul Systems, виробника кастомного і крутого JVM) про затримку — latency — зі StrangeLoop. Ця розповідь трішечки відкрила мені очі на те, що дуже велика кількість показників, які ми дивимось на роботі, це ті ж самі лаги з кваки. :) І коли тебе бісить те, що через нестабільний пінг ти з рельси не можеш попасти в жодну скакучу ціль, то це те ж саме відчуття, коли ти висиш на лінії в колл-центрі, або чекаєш, коли ж там вже посилочка приїде.
І одна частина цієї розповіді була про те, що на перший погляд здається, що 50 перцентиль затримки - це те, що відчувають 50% твоїх клієнтів, а 95 перцентиль - це те, що відчувають (негативно) 5% твоїх клієнтів. Але це зовсім не так! Якщо в нас поганий 95 перцентиль, то це значить, що з кожних ста запитів до сервера 5 будуть поганими. І якщо сесія клієнта складається з 20 запитів до сервера, то статистично всі клієнти відчують повільний сервіс.
Зважаючи на людську психологію, всі твої клієнти будуть вважати тебе повільним, навіть попри те, що 50 перцентиль в тебе найкращий у світі.
Тригернуло мене це написати сьогоднішне обговорення. Виявився інтересний факт: швидкість привезення наших (Касти) товарів людям не впливає на їхню лояльність до нас. Тобто чи це день-в-день, чи 5 днів - у всіх цих груп лояльність практично однакова. Але чому?! Здавалося б, коли ми тобі привозимо день-в-день, ти повинен бути щасливий и постійно в нас замовляти, так?
Дискусія привела нас до висновку, що це дослідження плясало від посилки. І в результаті в ці когорти попадають люди, які отримують посилки і за 1 день, і за 5 днів, просто це різні посилки! І якщо досліджувати від людей, то ми побачимо, що всі вони в найгіршому випадку отримують посилку за 5 днів, і тому в них всіх є відчуття повільності сервісу. І, напевне, ті що не попадали на повільні товари, будуть мати лояльність вище.
Отак чувак, який займається розробкою віртуальної машини з дуже низькими затримками, допомагає нам розібратися у поведінці нормальних покупців. :) Якщо комусь недостатньо подробиць, то ось сама його розповідь: https://www.youtube.com/watch?v=lJ8ydIuPFeU
І одна частина цієї розповіді була про те, що на перший погляд здається, що 50 перцентиль затримки - це те, що відчувають 50% твоїх клієнтів, а 95 перцентиль - це те, що відчувають (негативно) 5% твоїх клієнтів. Але це зовсім не так! Якщо в нас поганий 95 перцентиль, то це значить, що з кожних ста запитів до сервера 5 будуть поганими. І якщо сесія клієнта складається з 20 запитів до сервера, то статистично всі клієнти відчують повільний сервіс.
Зважаючи на людську психологію, всі твої клієнти будуть вважати тебе повільним, навіть попри те, що 50 перцентиль в тебе найкращий у світі.
Тригернуло мене це написати сьогоднішне обговорення. Виявився інтересний факт: швидкість привезення наших (Касти) товарів людям не впливає на їхню лояльність до нас. Тобто чи це день-в-день, чи 5 днів - у всіх цих груп лояльність практично однакова. Але чому?! Здавалося б, коли ми тобі привозимо день-в-день, ти повинен бути щасливий и постійно в нас замовляти, так?
Дискусія привела нас до висновку, що це дослідження плясало від посилки. І в результаті в ці когорти попадають люди, які отримують посилки і за 1 день, і за 5 днів, просто це різні посилки! І якщо досліджувати від людей, то ми побачимо, що всі вони в найгіршому випадку отримують посилку за 5 днів, і тому в них всіх є відчуття повільності сервісу. І, напевне, ті що не попадали на повільні товари, будуть мати лояльність вище.
Отак чувак, який займається розробкою віртуальної машини з дуже низькими затримками, допомагає нам розібратися у поведінці нормальних покупців. :) Якщо комусь недостатньо подробиць, то ось сама його розповідь: https://www.youtube.com/watch?v=lJ8ydIuPFeU
YouTube
"How NOT to Measure Latency" by Gil Tene
Time is Money. Understanding application responsiveness and latency is critical but good characterization of bad data is useless. Gil Tene discusses some common pitfalls encountered in measuring latency and response time behavior. He introduces how simple…
Не забули? Через годинку приходьте послухати мене, або покоментувати чи навіть задати питання :)
https://youtu.be/ggjQnfC2Xts
https://youtu.be/ggjQnfC2Xts
YouTube
Чому Clojure
Багато років я обговорював це лише у приватних розмовах, і вже багато разів думав — прийшов час написати пост. Але справа у тому, що написати його дуже складно, бо він буде відповідати на питання у моїй голові, а не у вашій.
Тож я вирішив, що треба розповісти…
Тож я вирішив, що треба розповісти…
В деяких банкоматах Аваля є NFC, куди можна прикладати картку, замість того, щоб сувати її всередину. Ці панельки я вже давно бачив, однак минулого року вони запрацювали.
І тіки що був біля банкомату і до мене дішла проста істина: спробував телефон туди тицьнути і так і є, воно працює! :)
Ото вже прогрес, тепер можна ті картки взагалі не носити, кайф!
Аваль взагалі активно хайрить, навіть он Аліменкова заманили туди. Цікаво, чи вийде в них привести себе в порядок?
І тіки що був біля банкомату і до мене дішла проста істина: спробував телефон туди тицьнути і так і є, воно працює! :)
Ото вже прогрес, тепер можна ті картки взагалі не носити, кайф!
Аваль взагалі активно хайрить, навіть он Аліменкова заманили туди. Цікаво, чи вийде в них привести себе в порядок?
Останні два з половиною дні займався тим, що воскрешав нашу апку для кур'єрів. Ми колись експериментували з власними кур'єрами, але останнім часом жили на сторонніх службах, аж доки вони не прийшли з гарною ідеєю підняти свої тарифи. :))
Ну тож маємо апку на React Native, написану людьми, які вже не працюють в нас. Вона ще з півроку тому точно на якомусь з телефонів працювала, але зараз щось немає і apk теж кудись загубилася. Погана новина - вона типу не збирається. Всі зайняті так, що немає слів, тож я трішки пороздвигав зустрічі і зайнявся тим сам. Засетапив середу для розробки, скомпілював в емулятор, воно запускається, показує сплеш і відбувається одразу дві цікаві речі: мій ноут починає ревіти кулерами як той морж, а апка через дві хвилини крешиться, так і не показавши нічого, окрім сплеша.
Ну ок, дістав я справжній Андроїд, хоч ноут не реве. Але в
Так і сталося, і я навіть був готовий, що в мене буде пригорати, але це можна йобу датися, насправді. Мало того, що в самого React Native такий churn коду та апі. Це я через три релізи реакти стрибнув і воно оре що те не те і то не так. Так щє й змінилися всі плагіни для Babel'я. А без нього ніяк. React Native - на Flow, треба компіляти. Половина бібліотек на тайпскрипті некомпільовані і ти повинен компіляти сам. Але й вся апка написана з синтаксисом, який якби ще не стандартний для жс-двигуна всередині реакту. Тобто щє якийсь плагін.
І ось оце все гівно починає конфліктувати і я півдня вбив на те щоб зрозуміти, що треба пресет (неважливо що це) в бабеля розкуркулити на плагіни (теж неважливо), щоб я міг ці плагіни між собою відсортувати.
А потім починається, кожна ліба не вміє новий реакт, тож оновлюй і їх. І кожна ліба — це найспеціальніша у світі квітка, яка вважає, що окрім неї нічого не буває. Тож вони одне й те саме то перейменують, то переміщають між різними модулями, а в мене один хєр
Карочі, я цю гідру замочив і сиджу зара такий, ніндзею себе відчуваю - пішов у чужий замок, всіх прибив, принцесу забрав і зробив з нею те шо хтів.
Але ж не повинно так бути, якого біса воно таке все крихке? В мене тепер чітке відчуття, що ми зі своїм фронтом на ClojureScript'і як в якомусь інкубаторі сидимо...
А як в вас життя, нічого за останній час не нападало? :)
Ну тож маємо апку на React Native, написану людьми, які вже не працюють в нас. Вона ще з півроку тому точно на якомусь з телефонів працювала, але зараз щось немає і apk теж кудись загубилася. Погана новина - вона типу не збирається. Всі зайняті так, що немає слів, тож я трішки пороздвигав зустрічі і зайнявся тим сам. Засетапив середу для розробки, скомпілював в емулятор, воно запускається, показує сплеш і відбувається одразу дві цікаві речі: мій ноут починає ревіти кулерами як той морж, а апка через дві хвилини крешиться, так і не показавши нічого, окрім сплеша.
Ну ок, дістав я справжній Андроїд, хоч ноут не реве. Але в
adb logcat
все пусто, ніякі дебагери не коннектяться, щось там якихось тулз познаходив і одна каже "я так не вмію, це надто старий реакт". Дивлюся — так і є, з 2018 ніяких апдейтів, 0.58. Добре, думаю, давай я тебе на останній хлам оновлю, підуть якись помилки компіляції, якось воно буде.Так і сталося, і я навіть був готовий, що в мене буде пригорати, але це можна йобу датися, насправді. Мало того, що в самого React Native такий churn коду та апі. Це я через три релізи реакти стрибнув і воно оре що те не те і то не так. Так щє й змінилися всі плагіни для Babel'я. А без нього ніяк. React Native - на Flow, треба компіляти. Половина бібліотек на тайпскрипті некомпільовані і ти повинен компіляти сам. Але й вся апка написана з синтаксисом, який якби ще не стандартний для жс-двигуна всередині реакту. Тобто щє якийсь плагін.
І ось оце все гівно починає конфліктувати і я півдня вбив на те щоб зрозуміти, що треба пресет (неважливо що це) в бабеля розкуркулити на плагіни (теж неважливо), щоб я міг ці плагіни між собою відсортувати.
А потім починається, кожна ліба не вміє новий реакт, тож оновлюй і їх. І кожна ліба — це найспеціальніша у світі квітка, яка вважає, що окрім неї нічого не буває. Тож вони одне й те саме то перейменують, то переміщають між різними модулями, а в мене один хєр
undefined is not a function
, can't access variable of undefined
. Хто тут андефайнед, підійміть руки?! Як тебе скотиняко знайти серед модуля на кілька сотень рядків?!!Карочі, я цю гідру замочив і сиджу зара такий, ніндзею себе відчуваю - пішов у чужий замок, всіх прибив, принцесу забрав і зробив з нею те шо хтів.
Але ж не повинно так бути, якого біса воно таке все крихке? В мене тепер чітке відчуття, що ми зі своїм фронтом на ClojureScript'і як в якомусь інкубаторі сидимо...
А як в вас життя, нічого за останній час не нападало? :)
Вчора з Ромою Лютіковим та Єгором Львівським у рамках конфи React Fwdays обговорювали, чи потрібен реакт, і як бути з тим, що він усюди (посилання не даю, бо воно за пейволом). А ще за тиждень до того мали схожу розмову у Клабхаузі.
І по питанням і коментарям що там, що там, мені стало зрозуміло, що одного поста і вересневого виступу недостатньо, щоб пояснити, що ми робимо з Кастою, і чому це насправді не повна маячня. :)
Тож у наступний четвер, 1 квітня, о 19 годині за Києвом, приходьте послухати, чому ми викидуємо React, та що буде замість нього (спойлер: TwinSpark, але ви напевно і так це знали). УВАГА: все це зовсім не жарт!
Формат такий: я розповім трішки контексту, щоб стало зрозуміло, про що йде мова, а потім поясню, як все це працює, і покажу, як працює Каста. А під час цього мені буде задавати питання Рома — і свої, і з чату, щоб це було діалогом і можна було на ходу незрозумілі речі з'ясовувати.
Тож ставте собі нагадування (ну або чекайте його тут в каналі), та перешліть цю месагу друзям, які дуже люблять фронтенд та цікавляться альтернативами. Або не цікавляться, тоді ви можете поглумитися над вузькістю їх кругозору. :) Або не люблять фронтенд, тоді нехай подивляться, як можна робити сайти і майже не чіпляти JS. :)
Посилання на відео: https://www.youtube.com/watch?v=uNF7QmFiQaw
І по питанням і коментарям що там, що там, мені стало зрозуміло, що одного поста і вересневого виступу недостатньо, щоб пояснити, що ми робимо з Кастою, і чому це насправді не повна маячня. :)
Тож у наступний четвер, 1 квітня, о 19 годині за Києвом, приходьте послухати, чому ми викидуємо React, та що буде замість нього (спойлер: TwinSpark, але ви напевно і так це знали). УВАГА: все це зовсім не жарт!
Формат такий: я розповім трішки контексту, щоб стало зрозуміло, про що йде мова, а потім поясню, як все це працює, і покажу, як працює Каста. А під час цього мені буде задавати питання Рома — і свої, і з чату, щоб це було діалогом і можна було на ходу незрозумілі речі з'ясовувати.
Тож ставте собі нагадування (ну або чекайте його тут в каналі), та перешліть цю месагу друзям, які дуже люблять фронтенд та цікавляться альтернативами. Або не цікавляться, тоді ви можете поглумитися над вузькістю їх кругозору. :) Або не люблять фронтенд, тоді нехай подивляться, як можна робити сайти і майже не чіпляти JS. :)
Посилання на відео: https://www.youtube.com/watch?v=uNF7QmFiQaw
YouTube
Викинь ти той React
Минулого року kasta.ua почала переходити з React на щось інше. Я розповім чому ми почали замінювати React на щось інше, що насправді ми робимо, які у цього наслідки, і чому все це має сенс. :) Найголовніше — покажу, як все це працює прямо на Касті, щоб не…
Вирішив якось що мені для мікрофона вкрай потрібен жовтий кабель — це я ще Worker Bee користвувався, тож дуже підходило за кольором. А все шо є в магазах та всяких промах виключно сумних кольорів.
Аж тут на олх знайшовся чувак, який робить кабелі на замовлення, і там у фотках було різне. Написав йому, ми домовилися на компоненти — бо можна було і дуже дорого зробити, але я щось посерединці обрав.
І ось приходить нотіфікашка, що кабель їде, а паралельно в месенджер олх з 15 фоток подібного змісту, і з вимірами ємності, etc...
Чесно кажучи, я трішечки прозрів, у хорошому сенсі цього слова. Підхід до виготовлення кабелів за межами розумного, просто анріал. Не знаю, що мене може змусити піти кабель десь у іншому місці придбати. :) Ну може лише тільки поспіх)
Осьо він, якщо вдруг знадобиться (не реклама, я просто вражений максимально): https://instagram.com/goodcable
Аж тут на олх знайшовся чувак, який робить кабелі на замовлення, і там у фотках було різне. Написав йому, ми домовилися на компоненти — бо можна було і дуже дорого зробити, але я щось посерединці обрав.
І ось приходить нотіфікашка, що кабель їде, а паралельно в месенджер олх з 15 фоток подібного змісту, і з вимірами ємності, etc...
Чесно кажучи, я трішечки прозрів, у хорошому сенсі цього слова. Підхід до виготовлення кабелів за межами розумного, просто анріал. Не знаю, що мене може змусити піти кабель десь у іншому місці придбати. :) Ну може лише тільки поспіх)
Осьо він, якщо вдруг знадобиться (не реклама, я просто вражений максимально): https://instagram.com/goodcable