Позавчера начался крутой замес на GitHub, и вчера продолжался весь день.
Есть такая очень популярная JS-библиотека Vue. Реально миллионы проектов в мире её юзают. У неё есть консольная утилита vue/cli, у которой несколько зависимостей. И автор одной из таких зависимостей встроил к себе в пакет код со скриншота.
Там с помощью кодирования по принципу Base64 скрыто намерение проверить IP-адрес пользователя, и, если он из России или Беларуси, то стереть все файлы у него на компьютере, заменив их содержимое на символ ❤️. Такой вот протест.
Сообщество довольно быстро это обнаружило. И — я редко видел такое единение душ — китайцы, американцы, турки, даже, кажется, один немец — куча иностранцев закидала этого разработчика ссаными тряпками (сам он из США). Все его попытки оправдаться заминусили, отправили жалобу в npm и оперативно удалили пакет, а самого автора обозначали не заслуживающим доверия.
Вообще, open-source разработка это коммунизм. И люди, которые ей занимаются, нередко придерживаются космополитических и до некоторой степени анархических взглядов. Среди них есть противники государств в целом, как способа организации общества, и у них очень хорошие (хотя и несколько наивные) аргументы на этот счёт. Ну и они совершенно точно умеют отделять действия властей от действий и решений обычных граждан. А ещё разработчики в основном довольно умные люди, с логикой и критическим мышлением. Почему-то никто из американцев не испугался, что у репозитория ухудшится репутация за отказ саботировать русских. Даже наоборот: они резко критиковали деструктивные по отношению к обычным пользователям действия и заканселили чувака, который эти действия предпринял. То есть делали совершенно не то, что делают корпорации и крупные руководители в тех же странах.
Представьте себе: обычные люди думают не так и хотят делать не то, что руководители. Кто бы мог подумать.
#dev
Ben Edgington | 𝕏🧵
RT @weboftrees: 🧵Introducing EIP-7999: Unified multidimensional fee market.
Ethereum is like a supermarket with one inventory label. There are 45M eggs, 45M cheese, 45M snacks. etc, but everything scans as "1 food". To avoid empty shelves, it closes once 45M food has been sold during the day.
~
₿izFeed#⃣:#dev#ETH
Ben Edgington | 𝕏🧵
RT @parithosh_j: The data from this devnet would be a really important data point for deciding what blob values we choose for the first bumps after PeerDAS goes live in Fusaka. Its great to see the @testinprod_io and @base help make it a reality!
~
₿izFeed#⃣:#dev#ETH
Ben Edgington | 𝕏🧵
RT @testinprod_io: The largest Fusaka devnet is now being geared up!
@testinprod_io and @base, who have been putting efforts to L2 scaling by contributing PeerDAS as a part of @Optimism Collective, are now teaming up with @ethPandaOps to run the biggest devnet in the history.
~
₿izFeed#⃣:#dev#ETH
vitalik.eth | 𝕏🧵
In the medium term I want some fancy BCI thing where it shows me the thing as it's being generated and detects in real time how I feel about each part of it and adjusts accordingly.
~
₿izFeed#⃣:#dev#ETH
vitalik.eth | 𝕏🧵
These days I get much more excited about open-weights AI models with good *editing* functionality than those that are just for creating from scratch.
~
₿izFeed#⃣:#dev#ETH
vitalik.eth | 𝕏🧵
Echoing something @karpathy recently said, it does frustrate me how a lot of AI development is trying to be as "agentic" as possible, when actually creating *more* paths for human input both creates a better output (now for quite a while going forward) and is better for safety.
~
₿izFeed#⃣:#dev#ETH
Болото из MVP, 🔨 и 🪚
В этом месяце Sketch выкатил обнову со Smart Layout, но не полноценно как в Figma или даже лучше, а тупо в Beta. При всей любви к Sketch, у меня не укладывается в голове — как отстающая компания продолжает делать на пол Фёдора? Если вы каждый месяц проигрываете гонку за пользователей, то надо быть минимум на шаг впереди по новым фичам, а не огрызки показывать.
Не знаю как вы, но я всё чаще замечаю как компании злоупотребляют сырыми продуктами, которые преимущественно не доходят до нормального вида, обрастают костылями и жду своих редизайнов с переосмыслением годами. Все эти попытки выпустить MVP побыстрей, чтобы получить заветную обратную связь, чтобы потом улучшить свою идею, по факту стали мечтами и превратились в инструмент лени с плохим планированием. У MVP понятный принцип, он должен быть простым, но функциональным, чтобы пользователи могли оценить идею и её потенциал. Но в итоге мы часто видим сырое дерьмище, а не функциональное вкусняшку. Вместо того, чтобы работать над полноценным продуктом, компании создают пылесосы для денег, а план по экономии времени и ресурсов исчезает через пару месяцев.
Использование MVP должно быть осознанным решением, основанным на стратегии дальнейшего развития, например: у PO с дизайнером продукта есть финальная картина в голове, её пилят на малые части и эти части делают пиздато, первую часть релизят как MVP. Вот это лайк, вот это кайф. В современном мире, где технологии и инновации развиваются стремительными темпами, а многие стремятся создать минимально жизнеспособный продукт, кажется, залог успеха — ставить качество в приоритет.
🕳
🎞Добавил видео отображающие моё отношение к происходящему вокруг: рандомная компания год делала свой MVP с кучей компромиссов и ограничений и накопила большой технический долг. В итоге выпустила кал, который никому не нужен, но за то получили обратную связь — «Мы подтвердили гипотезу, пользователям нужны двери и стекла, а ещё им важны удобные сидения с ремнями безопасности».
#мысли#dev
💬Threads → 📸 Stories
Да-да-да, клон твиттера, но без анархии Маска и не ясно чем по итогу нужно пользоваться, но я хочу вбросить тему про Add to story.
Threads хорошо напомнил всем нам, как можно работать с Facebook SDK по публикации в Stories/Posts. Ребята заюзали свой же соседний сервис для дополнительного охвата и сделали красиво.
На моей памяти Yandex Drive в свои времена аналогично использовал SDK инсты для шэринга промокода. Сейчас они убрали кнопку перехода в Stories (наверно затрахались следить за обновлениями в SDK), добавил пример. Других ярких кейсов не могу сходу назвать, если что, пишите в комменты.
Глядя на такую хорошую реализацию Threads, в которой они поддерживают локаль + стиль темы, я в свой чек-лист по созданию проектов добавил пункт — «Возможность использования Add to story». Вариантов использования может быть много, например:
🍷 Доставка товаров/винный — карточка с рейтингом, ценой, сочной фоткой товара/бутылкой вина
💳 Финансы — карточка с курсом валюты или тариф/карта с бонусами
🎞 Стриминговый сервис — карточка с обложкой видео/трека, просмотры/прослушивания, длительность
👍 Принцип вы поняли
𐄂 𐄂 𐄂
Продукт через свою аудиторию получает дополнительный канал упоминаний и присутствия, а по тапу переход в прилож/сайт, профит.
Ⓜ️SDK for Developers
#мысли#dev
🍏Camera Control
Кажется, Эппл задал новый тренд для китайских телефонов и скоро мы увидим множество похожих на Camera Control кнопок
🥱
Я почитал спеку и там есть интересные моменты, смотрите:
✓ Данный контрол может использоваться только для приложений, которые работают с камерой (иначе будет реджект по HIG)
✓ Внутри контрола можно использовать только SF Symbols
✓ Если вы ранее использовали кнопки на превью камеры — переносите их в новое меню
🤤
🔗HIG Camera Control
Теперь вы тоже вооружены, чао!
P.s. Есть ещё прикол с камерой. 11 лет назад в iPhone 4 уже был слайдер переключения режимов как в новой iOS. Вот так камбэк :)
#apple#dev
Делай раз, делай два, Air Pods считает за тебя
Вы знали что через AirPods можно слушать музыку, аудиокниги и вообще какой-то аудиопоток? Понятно что знали, вы же не дикари. А знали что в AirPods (3-го поколения), AirPods Pro, AirPods Max и Beats Fit Pro есть датчиками движения, через которые можно:
• Считать прыжки
• Считать количество приседаний/отжиманий/других упражнений
• Использовать iPhone/iPad как микрофон и транслирует звук прямо в наушники
Для всех кто пилит свои приложки про фитнес, спорт или что-то смежное, можно использовать real-time sensor API для лучшего UX и погружения:
🍏CMHeadphoneMotionManager
🧰Code Examples на GitHub
🕹Headphone Motion Unity Plugin
Рефы:
Fitnexx, YaoYao, Posture Pal, Live-прослушивание
#apple#dev