IT Insights
662 subscribers
767 photos
4 videos
3 files
1.07K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Почему надо «проектировать дважды»

Проектирование программного обеспечения — дело непростое. Думаю, мы все можем с этим согласиться. Независимо от того, сколько у вас опыта, ваша первая идея о том, как структурировать модуль или систему, обычно оказывается не самой лучшей. Мне пришлось усвоить этот урок нелегким путем, и я очень жалею, что не узнал о концепции «спроектируй дважды» в начале своей карьеры.

Статья: https://apptractor.ru/info/articles/pochemu-nado-proektirovat-dvazhdy.html
Какие AI-продукты стоит (и не стоит) делать людям с продуктовым бэкграундом

После выхода GPT-3.5 мы со знакомым придумали с десяток идей продуктов, которые стали возможны благодаря этой технологии. Но уже за следующий год большинство идей перестали быть актуальными. Во многом — из-за выхода GPT-4 и других запусков крупных технологических компаний.

Тогда я попытался представить ситуацию, что я год работал над проектом, ценность которого обнулилась за один день. На основе размышлений получился материал, который вы сейчас читаете. В нем я попытаюсь ответить на следующий вопрос:

💡 Какие новые AI-продукты имеет смысл запускать людям с продуктовым бэкграундом?

Статья: https://vc.ru/ai/1461929-kakie-ai-produkty-stoit-i-ne-stoit-delat-lyudyam-s-produktovym-bekgraundom
Чему меня научили 10 000 часов кодинга: Не отправляйте быстро

Я работаю инженером уже более 7 лет. Я работал над бесчисленными проектами в области бэкенда, фронтенда и DevOps. Я не считаю себя великим инженером; есть люди, которые не только умнее, но и опытнее. За годы работы я научился некоторым хитростям, которые помогают мне подниматься по лестнице программирования, позволяя создавать надежное и простое в работе программное обеспечение.

Неторопливость заставила меня кодить быстрее, поставлять больше и быть более продуктивным в целом. Этому способствовали не только годы работы над кодом, но и жизненные уроки и моя религия. Как ортодоксальный христианин, вы всегда должны быть медленными и не торопиться.

Статья: https://sotergreco.com/what-10000-hours-of-coding-taught-me-dont-ship-fast
Если ИИ помогает людям лучше программировать, то почему продукты не становятся лучше?

Если искусственный интеллект помогает людям писать код намного быстрее и лучше, то почему продукты, которыми я регулярно пользуюсь, не становятся намного лучше?

Обсуждение: https://news.ycombinator.com/item?id=41621191
Первая в мире крытая вертикальная ферма по производству 1.8 миллионов кг ягод в год

В Ричмонде, штат Вирджиния, открывается первая в мире ферма по вертикальному выращиванию ягод в закрытых помещениях. Ферма рассчитана на производство более четырех миллионов фунтов (1.8 млн кг) клубники, используя при этом лишь малую часть земли, необходимой для традиционного выращивания клубники. Она не будет зависеть от сезонных и экологических факторов, которые ограничивают урожайность. Компания планирует, что ее клубника появится на полках продуктовых магазинов к началу 2025 года.

Новость: https://newatlas.com/manufacturing/world-first-vertical-strawberry-farm-plenty/
🍓42
10 лет

XKCD 1425 (Tasks) сегодня исполняется десять лет. Один из величайших XKCD всех времен. Удивительно, что задача «проверить, изображена ли на фотографии птица» прошла путь от PhD-уровня до тривиально вполне простого решения (с помощью LLM со зрением, или CLIP, или ResNet+ImageNet и других).
Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)

Как создать чистую архитектуру и написать чистый код? Какие есть паттерны? Как их применять? Почему все их понимают по-разному? Можно ли их представить без привязки к конкретному языку? Почему для кого-то они не работают? Uncle Bob нас обманул? Их надо использовать в маленьком проекте, скрипте или огромных энтерпрайз решениях? Как бороться со сложностью в наших проектах и делать так, чтобы затраты на внесение новых изменений были оптимальны с его ростом? Можно ли построить монолит на миллионы строк и остаться в здравом уме?

На эти и другие каверзные вопросы мы будем отвечать и рассуждать в этом видео. Будет очень много рисунков с отвязкой от конкретных имплементаций на конкретном языке, где это возможно. Где нет - приведем код. Где-то польем воды, как без этого; а то хейтерам не будет работы :) В целом тут все, что нужно знать, как применять и на какой стадии проекта. Когда их пременение дает профит, а когда сильно мешает и усложняет код. Очень много про decoupling & cohesion, на которых мы построим рассуждения почти на всех уровнях абстракции. Первые главы много и нудно говорят про мышление, которое потом красной нитью абстракций будут пронизаны все остальные главы. Не забудем про SOLID и некоторые другие принципы. Упомянем случаи, когда SOLID приводил к сложноподдерживаемой лапше, а когда делал код красивым и понятным. Где-то кринжанем немного. Все как мы любим))

Не все и не все смогут понять и тем более сразу применить на практике. Многие вещи нужно вырабатывать как навык, постоянно рефлексируя, рефакторя код после каждой доработки. Но, мы стараемся быть лучше и использовать это, если появляется возможность сделать наш код лучше и понятней для других людей; код, в который легко и приятно вносить новые изменения.

Видео: https://www.youtube.com/watch?v=WlCDcr8JYFU
Hotwire Native

Hotwire Native - это веб-фреймворк для создания нативных мобильных приложений. Он позволяет разработчикам создавать экраны на HTML и CSS и повторно использовать их на любой платформе. Hotwire Native предоставляет разработчикам полный доступ к базовым SDK и API для iOS и Android сразу после их выхода. Это позволяет небольшим командам создавать высокофункциональные, красивые и устойчивые мобильные приложения без головной боли и сложностей, связанных с традиционной нативной разработкой.

Сайт: https://native.hotwired.dev/
Где мы находим радость?

За последние несколько десятилетий я обучал десятки руководителей продуктовых компаний и наставлял сотни менеджеров по продуктам... Первые разговоры обычно сводятся к тому, как добиться результата; как понять и работать со сложными организациями; как структурировать команды и стимулировать сотрудничество; как повысить шансы на создание выигрышных продуктов. Техника и инструменты.

Затем мы обычно переходим к фундаментальным проблемам работы над продуктом: ответственность без полномочий, выгорание и синдром самозванца, неспособность объяснить непрактикующим людям, что мы делаем и как мы повышаем ценность.

Но под этими обсуждениями процессов и организационных проблем скрываются более личные вопросы: «Почему управление продуктом/руководство продуктом так изнурительно, так эмоционально тяжело? Может, мне стоит заняться чем-то другим (более легким)?» В более широком смысле: «Где я нахожу удовлетворение, признательность и радость в этой своеобразной работе?»

Сложный вопрос, и на него можно найти множество ответов. А иногда и вовсе не найти. После почти 40 лет работы в продуктовой сфере я все еще пытаюсь найти свои собственные частичные ответы. Поэтому, отойдя от повседневной работы, чтобы разобраться в этом...

Статья: https://www.mironov.com/joy/
Harper

Harper - это программа для проверки грамматики английского языка. Я создал его после многих лет борьбы с недостатками конкурентов.

Grammarly был слишком дорогим и слишком навязчивым. В его подсказках не хватало контекста, и зачастую они были просто неправильными. Не говоря уже о том, что это кошмар конфиденциальности. Все, что вы пишете с помощью Grammarly, отправляется на их серверы. Их политика конфиденциальности утверждает, что они не продают эти данные, но это не значит, что они не используют их для обучения больших языковых моделей и бог знает чего еще. И время, затрачиваемое на запрос по сети, делает вашу работу еще более утомительной.

LanguageTool хорош, если у вас есть свободные гигабайты оперативной памяти и вы готовы загрузить набор данных n-грамм объемом ~16 ГБ. Помимо требований к памяти, LanguageTool показался мне слишком медленным: на вычистку даже документа среднего размера уходило несколько секунд.

Именно поэтому я создал Harper: это программа для проверки грамматики, которая соответствует моим потребностям. Он не только проверяет документ за миллисекунды и занимает меньше 1/50 части памяти LanguageTool, но и полностью приватен.

Harper даже достаточно мал для загрузки через WebAssembly.

Harper на GitHub: https://github.com/elijah-potter/harper
Трудно писать код для компьютеров, но еще труднее писать код для людей

Писать код для компьютера достаточно сложно. Вы берете что-то большое и нечеткое, какой-то большой неопределенный бизнес-результат, которого вы хотите достичь. Затем вы рекурсивно разбиваете его на части и обдумываете все возможные варианты, пока не получите четкие логические утверждения, которым может следовать компьютер. Компьютеры очень хорошо умеют следовать логическим утверждениям.

А теперь давайте поднимемся на ступеньку выше. Давайте попробуем написать код для людей!

Я должен пояснить, что я имею в виду. Я говорю о коде, с которым будут взаимодействовать другие люди. Точнее, я говорю об искусстве создания радостных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или, может быть, даже языков программирования.

Писать такой код гораздо сложнее, потому что вы не просто говорите компьютеру, что делать, но и работаете с ментальной моделью вашего кода для другого пользователя. Теперь это равная часть компьютерной науки и психологии рассуждений, или что-то в этом роде. Как заставить этого человека понять ваш код?

Статья: https://erikbern.com/2024/09/27/its-hard-to-write-code-for-humans.html
👍2
Выгодоприобретатели блокировки Youtube

Ни одно государственное ведомство не созналось в блокировке, открестился Google, открестились провайдеры интернета. На этом фоне мне показалось важным не только выявить и указать всех причастных, прямых и косвенных, но и установить, кто и в каком отношении является выгодоприобретателем от этой блокировки. Выявить, о каких денежных потоках идет речь и куда они в конечном итоге идут.

Статья: https://habr.com/ru/articles/847008/
Когда в автомобиле нет системы GNSS…

Кто бы мог подумать, что в современном авто аж с 4 полноценными экранами (приборка, проекция, центральный экран, экран пассажира) и настоящим андроидом на головном устройстве, производитель мог выпилить навигацию? Удивительно, но факт - Geely Monjaro (купленный у официального дилера (далее ОД)). Как потом выяснилось, Geely Atlas - в той же ситуации.. Возможно, есть и другие авто на российском рынке, которые по каким-то причинам обделены этой важной и необходимой функциональностью.

Непорядок. Надо исправлять.

Статья: https://habr.com/ru/articles/847304/
3 совета для улучшения читабельности кода

В этой статье вы узнаете 3 простых совета, которые помогут сделать вашу кодовую базу более качественной и читабельной:

• Используйте ранние возвраты
• Избегайте отрицаний в условных выражениях
• Создавайте значения и переменные как можно позже

Статья: https://apptractor.ru/info/articles/3-soveta-dlya-uluchsheniya-chitabelnosti-koda.html
Пишите больше «бесполезных» программ

Я думаю, что возможность относиться к своему ремеслу менее серьезно и пробовать «бесполезные» вещи — это лучший способ учиться и получать удовольствие от простых игр с компьютером.

Статья: https://apptractor.ru/info/articles/pishite-bolshe-bespoleznyh-programm.html
Как Discord сократил Websocket трафик на 40%

В Discord мы постоянно думаем о том, как улучшить наши сервисы и повысить производительность. Ведь чем быстрее работает наше приложение, тем быстрее вы сможете вернуться к своим друзьям и разговорам!

В течение последних шести месяцев мы стремились поддержать это начинание, работая над снижением трафика в каналах связи, используемых нашими клиентами, особенно на iOS и Android, надеясь, что уменьшение пропускной способности приведет к более быстрому отклику.

Статья: https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent
Мы вступаем на неизведанную территорию математики

Теренс Тао, профессор математики из Калифорнийского университета, которого многие считают величайшим математиком в мире, недавно опубликовал свои впечатления от модели o1 OpenAI, сравнив ее с посредственным, но не совсем некомпетентным аспирантом. Эта статья содержит отредактированную расшифровку интервью с Тао, в котором он описывает своего рода «математику промышленного масштаба» с поддержкой ИИ, в которой ИИ выступает в качестве смазки для гипотез и подходов математиков к раскрытию новой информации. Такой подход позволяет сохранить человека в центре внимания, используя сильные стороны как людей, так и машин.

Интервью: https://www.theatlantic.com/technology/archive/2024/10/terence-tao-ai-interview/680153/
👍1
Виртуализация iOS на Apple Silicon

В этой статье я рассказываю о том, как мне удалось добиться виртуализации iOS на компьютерах Apple Mac, попутно исследуя многие внутренние компоненты.

Статья: https://nickb.website/blog/virtualizing-ios-on-apple-silicon
🔥2👍1