IT Insights
661 subscribers
767 photos
4 videos
3 files
1.07K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Джейлбрейк с помощью ссылки: удаленное выполнение кода на iOS

Это история цепочки эксплойтов Trident: 3 уязвимости нулевого дня в iOS, которые позволили сделать первый удаленный джейлбрейк. Часть первая посвящена внутренностям среды выполнения JavaScriptCore, в которой в WebKit скрывается уязвимость, способная вскрыть ваш iPhone.

Статья: https://jacobbartlett.substack.com/p/jailbreak-enemies-with-a-link-remote-execution
👍1
pi_4b_latency_demo.gif
19.3 MB
Open Source камера безопасности на Raspberry Pi

Превратите Raspberry Pi в домашнюю камеру безопасности используя аппаратный кодер v4l2 DMA и WebRTC.

Проект на GitHub: https://github.com/TzuHuanTai/RaspberryPi_WebRTC
Продвижение побочных проектов с помощью контент-ориентированной разработки

Иногда трудно добиться прогресса в побочных проектах. Начать работу легко, когда мы видим светлое будущее проекта. А потом, где-то на середине, мы застреваем в списках задач, которые нужно выполнить, и все еще далеки от финиша.

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

Статья: https://apptractor.ru/info/articles/prodvizhenie-pobochnyh-proektov-s-pomoschyu-kontent-orientirovannoy-razrabotki.html
Советский Need for Speed. Краткая история игры «За рулём»

Когда компьютеры были большими, а сверстники — маленькими, вместо работы каждый день нужно было ходить в школу, а программировать приходилось не в Visual Studio Code, а на калькуляторе МК-54, электронные, да и просто электромеханические игры считались чем-то особенным. Автомобили на радиоуправлении и изделия под лейблом «Электроника» вроде «Ну, погоди» и «Тайны океана» стоили дорого и относились, скорее, к предметам роскоши. Но существовала ещё одна игра, о которой мечтал, наверное, каждый советский школьник — она называлась «За рулём». Именно её мне подарили однажды на день рождения, и это был один из самых счастливых дней рождения в моей жизни.

Статья: https://habr.com/ru/companies/ruvds/articles/842234/
Ты добавил всего две строчки. Почему на это ушло два дня?

На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

• строки кода = усилие
• строки кода = значение
• все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?

Статья: https://habr.com/ru/articles/511044/
Дружеское введение в ассемблер для высокоуровневых программистов

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

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

Статья: https://shikaan.github.io/assembly/x86/guide/2024/09/08/x86-64-introduction-hello.html
Почему надо «проектировать дважды»

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

Статья: 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