Зараз досить рідко користуюся Figma — роботи повно. Але інколи можу там редагувати якісь pet-проєкти. Звернув увагу на дещо, можливо, це було й раніше, але я не помічав.
У Figma Desktop присутній haptic feedback на трекпаді. Не знаю, чи це підтримують інші платформи, але на MacBook — так.
Це точно про те, що деталі важливі як в анімаціях, так і в усьому іншому. Мені прям дуже сподобалось, що таке є, тому вирішив погуглити, які взагалі є доступні API, бо, наприклад, у React Native це легко реалізувати.
Очікувано, в браузері немає доступу до приватних API macOS. Тому це працює тільки в Figma Desktop, а в браузері — ні.
Під Electron і Tauri, схоже, є пакети. Мені було б цікаво спробувати Tauri, глянув для нього — коду всього три файли, ніби нічого магічного, просто через макроси підтягують API і викликають його, тобто Foreign Function Interface (FFI).
Якщо колись тестуватиму Tauri і не забуду, то додам до додатка.
Під Electron теж, до речі, є пакет, але він уже роками не оновлюється.
https://github.com/ItsEeleeya/tauri-plugin-macos-haptics
У Figma Desktop присутній haptic feedback на трекпаді. Не знаю, чи це підтримують інші платформи, але на MacBook — так.
Це точно про те, що деталі важливі як в анімаціях, так і в усьому іншому. Мені прям дуже сподобалось, що таке є, тому вирішив погуглити, які взагалі є доступні API, бо, наприклад, у React Native це легко реалізувати.
Очікувано, в браузері немає доступу до приватних API macOS. Тому це працює тільки в Figma Desktop, а в браузері — ні.
Під Electron і Tauri, схоже, є пакети. Мені було б цікаво спробувати Tauri, глянув для нього — коду всього три файли, ніби нічого магічного, просто через макроси підтягують API і викликають його, тобто Foreign Function Interface (FFI).
Якщо колись тестуватиму Tauri і не забуду, то додам до додатка.
Під Electron теж, до речі, є пакет, але він уже роками не оновлюється.
https://github.com/ItsEeleeya/tauri-plugin-macos-haptics
👍5
Сподіваюсь я не стану максимально лінивим з цим інструментом, бо виглядає цікаво. Мені його порадили в твіттері.
Speach to text з капєц красивим дизайном і підтримкою локальних моделей.
Тепер ви дійсно можете накричати на ЛЛМ якщо вона не фіксить вам баги....
https://www.youtube.com/watch?v=h3NA_-Bo0zE
https://superwhisper.com/
Speach to text з капєц красивим дизайном і підтримкою локальних моделей.
Тепер ви дійсно можете накричати на ЛЛМ якщо вона не фіксить вам баги....
https://www.youtube.com/watch?v=h3NA_-Bo0zE
https://superwhisper.com/
YouTube
Sending Emails with superwhisper
In this video, I'll show you how to send and reply to emails with Superwhisper.
Learn more at https://superwhisper.com.
Learn more at https://superwhisper.com.
❤2
Напевне таки доведеться спробувати Effect для чогось простого. Я вже почитую документацію схеми, виглядає дуже прикольно, вле схема то лиш частка від всіх можливостей.
Там зранку вийшло відео від Метта про Effect. Точно стає менш напряжно думати про функції-генератори. Я б навіть сказав що відео має захоочувальний ЕФЕКТ😎
https://www.youtube.com/watch?v=S2GChOwivwQ
Там зранку вийшло відео від Метта про Effect. Точно стає менш напряжно думати про функції-генератори. Я б навіть сказав що відео має захоочувальний ЕФЕКТ
https://www.youtube.com/watch?v=S2GChOwivwQ
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Effect: the unreadable library that captured my heart
00:00 Intro
00:35 What Is Effect?
01:04 The Syntax
02:26 Error Handling
05:46 Dependency Injection
09:08 EVERYTHING ELSE
10:28 Q&A
Effect: effect.website
Become a TypeScript Wizard with my free beginners TypeScript Course:
https://www.totaltypenoscript.…
00:35 What Is Effect?
01:04 The Syntax
02:26 Error Handling
05:46 Dependency Injection
09:08 EVERYTHING ELSE
10:28 Q&A
Effect: effect.website
Become a TypeScript Wizard with my free beginners TypeScript Course:
https://www.totaltypenoscript.…
👍3
Мав у списку ідей написати про Opaque Types в TS. Але вирішив, що пора таки спробувати дещо інший формат — відео.
Буду радий прочитати ваші коментарі та зауваження. Сподіваюсь, тема проста для розуміння та водночас цікава!
https://www.youtube.com/watch?v=4y6PX5mvQaM
Буду радий прочитати ваші коментарі та зауваження. Сподіваюсь, тема проста для розуміння та водночас цікава!
https://www.youtube.com/watch?v=4y6PX5mvQaM
YouTube
Що таке Opaque types?
Сьогодні розповідаю про та показую opaque types (branded types) в TypeScript.
👍8
Розробка третьої хвилі
Мав у списку ідей написати про Opaque Types в TS. Але вирішив, що пора таки спробувати дещо інший формат — відео. Буду радий прочитати ваші коментарі та зауваження. Сподіваюсь, тема проста для розуміння та водночас цікава! https://www.youtube.com/watch?v=4y6PX5mvQaM
До речі, може хтось помітив цікаву деталь на відео
🔥2
Пригадую, як у своїй першій компанії доводилось проходити різні “екзамени”, щоб отримати вищий рівень (ну і зарплату, само собою). Якогось цілком конкретного фреймворку для цього не було, тому це проходило більше у форматі звичайної розмови, нагадувало інтерв’ю в компанію, але з глибшими питаннями.
Так як я тоді не знав, до чого готуватись, то сам склав собі Trello-дошку з можливими темами по JS і загалом програмуванню. Та дошка потім пішла як спадщина по тімейтах.
Одна з таких тем називалась Hidden Classes. Насправді, крім таких співбесід, ніде більше не зустрічав цієї теми, але прикольно знати — дає краще уявлення про роботу JS і оптимізатора.
Ось коротко:
Так як в JS ми можемо динамічно створювати об’єкти, то це створює масу варіантів того, якої форми ці об’єкти набудуть (форма, тобто структура, назва полів та їх порядок). Але вже під час рантайму відбувається оптимізація і створюються ці Hidden Classes. На кожну форму об’єкта створюється прихований клас, який потім використовується двигуном, щоб швидше діставати значення.
Ось приклад, скопіював з LLM:
Малоімовірно, що така оптимізація потрібна буде у відносно простих додатках. Але, наприклад, якби я працював у New Relic чи PostHog, Sentry, то, можливо, це б мало значення для великих об’ємів даних.
Ось цікава відповідь, щоб почитати: stackoverflow
А також стаття: v8.dev
Так як я тоді не знав, до чого готуватись, то сам склав собі Trello-дошку з можливими темами по JS і загалом програмуванню. Та дошка потім пішла як спадщина по тімейтах.
Одна з таких тем називалась Hidden Classes. Насправді, крім таких співбесід, ніде більше не зустрічав цієї теми, але прикольно знати — дає краще уявлення про роботу JS і оптимізатора.
Ось коротко:
Так як в JS ми можемо динамічно створювати об’єкти, то це створює масу варіантів того, якої форми ці об’єкти набудуть (форма, тобто структура, назва полів та їх порядок). Але вже під час рантайму відбувається оптимізація і створюються ці Hidden Classes. На кожну форму об’єкта створюється прихований клас, який потім використовується двигуном, щоб швидше діставати значення.
Ось приклад, скопіював з LLM:
function Point(x, y) {
this.x = x; // creates hidden class A
this.y = y; // transitions to hidden class B
}
const p1 = new Point(1, 2); // uses class B
const p2 = new Point(3, 4); // reuses class B — fast
p2.z = 5; // creates a new hidden class — potential slowdown
Малоімовірно, що така оптимізація потрібна буде у відносно простих додатках. Але, наприклад, якби я працював у New Relic чи PostHog, Sentry, то, можливо, це б мало значення для великих об’ємів даних.
Ось цікава відповідь, щоб почитати: stackoverflow
А також стаття: v8.dev
👍7🤯2🏆1
Два дні тому Метью Прінс, CEO Cloudflare, опублікував відео і текстову версію з назвою Content Independence Day.
Хто не знайомий, Cloudflare — це один з найбільших cloud-провайдерів, який надає різні важливі послуги типу CDN, DNS, edge networking і т.д. Частка глобального трафіку вебсайтів, що проходить через їхні сервіси, оцінюється десь у 20%. Ну тобто десь кожен п’ятий сайт.
Так от, вони оголосили про реліз нової фічі, яка буде блокувати запити для AI-пошуковиків (AI crawlers). Таким чином вони виступають за те, щоб почати брати плату за контент, який споживає АІ, і надсилати її авторам цього контенту. Напевне, вони передбачили якийсь % прибутку від цього і собі, але думаю, це ок.
Насправді дуже цікавий хід від них, бо:
Це може збільшити кількість їхніх клієнтів, які хотіли б отримувати прибуток від трафіку. Раніше такий прибуток міг бути від реклами, а трафік йшов через Google, і реальні люди цю рекламу дивились. АІ пофіг на рекламу.
Цілком імовірно, що й інші глобальні провайдери теж почнуть щось подібне впроваджувати.
Боротьба за право на власність контенту. Чужа праця має бути оплачена.
Побачимо, чи згодяться на це компанії типу OpenAI чи Anthropic. Цілком реально, що від цього підросте ціна на підписку, а може, і знизиться ліміт безкоштовних промптів.
Цікаво, як бути з локальними моделями, які люди крутять на власних комп’ютерах.
https://blog.cloudflare.com/content-independence-day-no-ai-crawl-without-compensation/
Хто не знайомий, Cloudflare — це один з найбільших cloud-провайдерів, який надає різні важливі послуги типу CDN, DNS, edge networking і т.д. Частка глобального трафіку вебсайтів, що проходить через їхні сервіси, оцінюється десь у 20%. Ну тобто десь кожен п’ятий сайт.
Так от, вони оголосили про реліз нової фічі, яка буде блокувати запити для AI-пошуковиків (AI crawlers). Таким чином вони виступають за те, щоб почати брати плату за контент, який споживає АІ, і надсилати її авторам цього контенту. Напевне, вони передбачили якийсь % прибутку від цього і собі, але думаю, це ок.
Насправді дуже цікавий хід від них, бо:
Це може збільшити кількість їхніх клієнтів, які хотіли б отримувати прибуток від трафіку. Раніше такий прибуток міг бути від реклами, а трафік йшов через Google, і реальні люди цю рекламу дивились. АІ пофіг на рекламу.
Цілком імовірно, що й інші глобальні провайдери теж почнуть щось подібне впроваджувати.
Боротьба за право на власність контенту. Чужа праця має бути оплачена.
Побачимо, чи згодяться на це компанії типу OpenAI чи Anthropic. Цілком реально, що від цього підросте ціна на підписку, а може, і знизиться ліміт безкоштовних промптів.
Цікаво, як бути з локальними моделями, які люди крутять на власних комп’ютерах.
https://blog.cloudflare.com/content-independence-day-no-ai-crawl-without-compensation/
👍6❤2
Продовжую практикувати відеоконтент. Сьогодні розповідаю про CVA для спрощення Tailwind-стилів.
Ставте 🍌 якщо вже користувались цим і 🙊 якщо ще ні!
https://www.youtube.com/watch?v=Rud3O72KdO0
Ставте 🍌 якщо вже користувались цим і 🙊 якщо ще ні!
https://www.youtube.com/watch?v=Rud3O72KdO0
YouTube
Спрощуємо стилі з Tailwind Variants
Бібліотека: https://www.tailwind-variants.org/
Мій телеграм канал: https://news.1rj.ru/str/thirdwavedev
Код: https://github.com/bohdanbirdie/youtube-examples/blob/main/cva-sva/src/Button.tsx
Мій телеграм канал: https://news.1rj.ru/str/thirdwavedev
Код: https://github.com/bohdanbirdie/youtube-examples/blob/main/cva-sva/src/Button.tsx
🙊6🍌5👍3🙈1
This media is not supported in your browser
VIEW IN TELEGRAM
Що тільки не зроблять - лиш би люди почали користуватись Effect.
Треба з цим гарно розібратись 👀
https://effect.kitlangton.com/
Треба з цим гарно розібратись 👀
https://effect.kitlangton.com/
👍4🤔1
Випадково натрапив на прикольний додаток для моніторингу системи. Скачав, бо Activity Monitor на Mac часом довго збирає дані, тай думаю, спробую.
Зрадів, коли побачив, як цей швидко запустився. Він на Tauri, альтернатива Electron на Rust. Не знаю, чи це основна причина швидкості завантаження, але я зацінив.
Код відкритий:
https://github.com/Abdenasser/neohtop
Зрадів, коли побачив, як цей швидко запустився. Він на Tauri, альтернатива Electron на Rust. Не знаю, чи це основна причина швидкості завантаження, але я зацінив.
Код відкритий:
https://github.com/Abdenasser/neohtop
👍6👎1
Закину ще на тему Rust і embedded.
Мені здається, я вже раніше кидав цей канал, але там у автора свіже відео про роботу з Bluetooth. Взагалі, такий формат відео — це як еталон для мене: все дуже зрозуміло (крім Rust🤷♂️ ) і пояснено до деталей.
Хто цікавиться цією темою — точно варто глянути:
https://www.youtube.com/watch?v=L1ScupSwqts
Мені здається, я вже раніше кидав цей канал, але там у автора свіже відео про роботу з Bluetooth. Взагалі, такий формат відео — це як еталон для мене: все дуже зрозуміло (крім Rust
Хто цікавиться цією темою — точно варто глянути:
https://www.youtube.com/watch?v=L1ScupSwqts
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Building a Bluetooth LE device with embedded Rust - moxi Ep3
The final boss in our air quality monitor project is Bluetooth Low Energy (BLE): the goal today is to wirelessly share CO2 PPM with an app running on an iPhone, using embedded Rust ..and.. some C??
Subscribe : https://www.youtube.com/@therustybits?sub_confirmation=1…
Subscribe : https://www.youtube.com/@therustybits?sub_confirmation=1…
👍2🤔1
The Law of Leaky Abstractions від Joel Spolsky.
Чули про такий термін, як Leaky Abstraction? Є навіть імовірність, що ви читали цю статтю, бо вона з 2002 року.
Рекомендую до прочитання, адже там багато гарних прикладів, чому абстракції у своїй природі можуть мати неочікувані нюанси — ну тобто “текти” — і зрештою змушувати вас розібратися у тому, що відбувається всередині абстракції.
Мені особливо сподобались дві фрази:
“learn how to do it manually first, then use the wizzy tool to save time.”
So the abstractions save us time working, but they don’t save us time learning.
У голові провелися паралелі з AI/LLM. Можливо, за декілька років знання чогось рівнем нижче, ніж модель, буде таким же необхідним, як зараз знання того, як працюють типи String для JS-розробника, хоч я і сильно сумніваюся.
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
Чули про такий термін, як Leaky Abstraction? Є навіть імовірність, що ви читали цю статтю, бо вона з 2002 року.
Рекомендую до прочитання, адже там багато гарних прикладів, чому абстракції у своїй природі можуть мати неочікувані нюанси — ну тобто “текти” — і зрештою змушувати вас розібратися у тому, що відбувається всередині абстракції.
Мені особливо сподобались дві фрази:
“learn how to do it manually first, then use the wizzy tool to save time.”
So the abstractions save us time working, but they don’t save us time learning.
У голові провелися паралелі з AI/LLM. Можливо, за декілька років знання чогось рівнем нижче, ніж модель, буде таким же необхідним, як зараз знання того, як працюють типи String для JS-розробника, хоч я і сильно сумніваюся.
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Є такий клауд-сервіс для баз даних — Planetscale. Він, можливо, мелькав десь у ваших новинах недавно, бо вони додали підтримку Postgres, і від цього багато серйозніших проектів виявили бажання мігрувати сюди.
Але сьогодні не про це. Основною їхньою фічею є Metal — підхід, який дозволяє суттєво пришвидшити доступ до даних за рахунок вибору фізичного сховища.
Про це гарно розписано в їхній статті. Там дуже класно провізуалізовано принципову дію магнітних стрічок, жорстких дисків та SSD, і в додачу ще деякі нюанси.
Звісно, мета статті — пояснити, чому варто користуватися Metal і чому це на порядок дорожче. Але загалом рекомендую прочитати, щоб трохи краще розуміти тему фізичних накопичувачів, не вдаючись у деталі.
До речі, ви знали, що в AWS є сервіси, де можна зберігати дані на магнітних стрічках?
https://planetscale.com/blog/io-devices-and-latency
Але сьогодні не про це. Основною їхньою фічею є Metal — підхід, який дозволяє суттєво пришвидшити доступ до даних за рахунок вибору фізичного сховища.
Про це гарно розписано в їхній статті. Там дуже класно провізуалізовано принципову дію магнітних стрічок, жорстких дисків та SSD, і в додачу ще деякі нюанси.
Звісно, мета статті — пояснити, чому варто користуватися Metal і чому це на порядок дорожче. Але загалом рекомендую прочитати, щоб трохи краще розуміти тему фізичних накопичувачів, не вдаючись у деталі.
До речі, ви знали, що в AWS є сервіси, де можна зберігати дані на магнітних стрічках?
https://planetscale.com/blog/io-devices-and-latency
👍5
Чули про JetKVM? Продукт, який дуже вистрілив на Kickstarter. Планували зібрати 50 тис. доларів, але вже зібрали понад 5 мільйонів. Продукт не з Китаю: має європейське походження — Берлін.
Зроблю паузу. Що таке KVM? Keyboard Video Mouse. Простими словами — це пристрій, який ви конектите до свого комп’ютера, щоб отримати віддалений доступ. Головна відмінність від програмного рішення типу TeamViewer — це окремий пристрій, який має незалежне живлення і передає інформацію ще до того, як запуститься операційна система.
Так от, це не єдиний популярний варіант на ринку, є й інші. Але, схоже, цей набрав шаленої популярності, частково завдяки своєму розміру, дизайну та функціоналу.
Але сьогодні не про функціонал, а про те, які ризики популяризація KVM приносить прямо зараз.
Є досить відомий ютюбер, який знімає контент про мережі (в основному) — Jeff Geerling. До нього в гості прийшли з FBI саме через такі пристрої, огляди яких він робив раніше.
Причина — КНДР використовує це для власних цілей. Наприклад, таким чином заробляє на роботі своїх програмістів під виглядом інших, фінансує розробку зброї масового ураження, потенційно створює бекдори у важливих системах. Ну, короче, повний набір.
Круто, звісно, що такі класні пристрої отримують заслужену увагу. Але всрато, що це абузять авторитарні країни.
Може, один такий програміст і вам створив конкуренцію, хто зна.
https://x.com/geerlingguy/status/1943045195454353839
https://www.runzero.com/blog/oob-p1-ip-kvm/
Зроблю паузу. Що таке KVM? Keyboard Video Mouse. Простими словами — це пристрій, який ви конектите до свого комп’ютера, щоб отримати віддалений доступ. Головна відмінність від програмного рішення типу TeamViewer — це окремий пристрій, який має незалежне живлення і передає інформацію ще до того, як запуститься операційна система.
Так от, це не єдиний популярний варіант на ринку, є й інші. Але, схоже, цей набрав шаленої популярності, частково завдяки своєму розміру, дизайну та функціоналу.
Але сьогодні не про функціонал, а про те, які ризики популяризація KVM приносить прямо зараз.
Є досить відомий ютюбер, який знімає контент про мережі (в основному) — Jeff Geerling. До нього в гості прийшли з FBI саме через такі пристрої, огляди яких він робив раніше.
Причина — КНДР використовує це для власних цілей. Наприклад, таким чином заробляє на роботі своїх програмістів під виглядом інших, фінансує розробку зброї масового ураження, потенційно створює бекдори у важливих системах. Ну, короче, повний набір.
Круто, звісно, що такі класні пристрої отримують заслужену увагу. Але всрато, що це абузять авторитарні країни.
Може, один такий програміст і вам створив конкуренцію, хто зна.
https://x.com/geerlingguy/status/1943045195454353839
https://www.runzero.com/blog/oob-p1-ip-kvm/
👍2🤔1
Декілька днів тому автор Zod релізнув ще один цікавий проект (вкотре). Zshy — build tool для TypeScript-бібліотек. З нахилом на те, щоб мати рішення без потреби в конфігурації з певними стандартними підходами. Насправді це не перший такий інструмент в опен сорсі і не обов’язково підійде всім. Але, враховуючи попередній рівень інструментів від автора, варто глянути.
Думаю, спробую це найближчі тижні на декількох пакетах, може, це прибере деякі зайві кроки, які ми робимо. Ну або ні.
https://github.com/colinhacks/zshy
https://x.com/colinhacks/status/1943224100673171930
Думаю, спробую це найближчі тижні на декількох пакетах, може, це прибере деякі зайві кроки, які ми робимо. Ну або ні.
https://github.com/colinhacks/zshy
https://x.com/colinhacks/status/1943224100673171930
GitHub
GitHub - colinhacks/zshy: 🐒 Bundler-free build tool for TypeScript libraries. Powered by tsc.
🐒 Bundler-free build tool for TypeScript libraries. Powered by tsc. - colinhacks/zshy
👍7