🚀 Запускаем GPT-oss 20B у себя локально
На последнем стриме проверяли - можно ли без облаков и серверов гонять огромную 20B модель прямо на Mac.
Ответ: да - и это очень быстро ⚡️
🛠 Использовали Ollama - ставится за минуту, тянет вес модели локально и сразу готов к работе.
Прогнали несколько нейросетей:
🧠 GPT-oss 20B (open-source)
🦅 DeepSeek
🤖 GPT o3
Сравнили их в реальном времени: по скорости, качеству и “вдумчивости” ответов.
И знаете что? Mac справился без проблем, даже с 20B на борту - ответы летят почти мгновенно.
📺 Видео со стрима - в канале, там же разбор, кто кого уделал: DeepSeek, GPT-oss или GPT-o3:
На последнем стриме проверяли - можно ли без облаков и серверов гонять огромную 20B модель прямо на Mac.
Ответ: да - и это очень быстро ⚡️
🛠 Использовали Ollama - ставится за минуту, тянет вес модели локально и сразу готов к работе.
Прогнали несколько нейросетей:
🧠 GPT-oss 20B (open-source)
🦅 DeepSeek
🤖 GPT o3
Сравнили их в реальном времени: по скорости, качеству и “вдумчивости” ответов.
И знаете что? Mac справился без проблем, даже с 20B на борту - ответы летят почти мгновенно.
📺 Видео со стрима - в канале, там же разбор, кто кого уделал: DeepSeek, GPT-oss или GPT-o3:
YouTube
GPT-OSS 20B у тебя на Mac: установка через Ollama + сравнение с DeepSeek и GPT o3
В этом видео ставим GPT-OSS 20B через Ollama на Mac/ПК и устраиваем мини-баттл: локальная 20B vs локальный DeepSeek vs удалённая GPT o3. Сравним скорость, качество и “вдумчивость” ответов, а также удобство в реальных задачах.
Качаем Ollama здесь: https://ollama.com/…
Качаем Ollama здесь: https://ollama.com/…
🔥10❤🔥2 2👍1🙏1
🎥 Сегодня в 18:00 стрим
Будем смотреть на Gemma 3 - супер маленькую и умную модель, которая удивляет несмотря на размер.
Сделаю мини-гайд:
⚡️ как запустить нейросеть на Mac
📱 как оживить её прямо на iPhone
🤔 и зачем это вообще может пригодиться разработчику - от оффлайн-ассистентов до быстрых прототипов.
Залетайте - будет и практика, и обсуждение 🚀
👉 Подписывайтесь, чтобы не пропустить стримы и новые разборы:
YouTube, Twitch и мой телеграм [Prefire]
Будем смотреть на Gemma 3 - супер маленькую и умную модель, которая удивляет несмотря на размер.
Сделаю мини-гайд:
⚡️ как запустить нейросеть на Mac
📱 как оживить её прямо на iPhone
🤔 и зачем это вообще может пригодиться разработчику - от оффлайн-ассистентов до быстрых прототипов.
Залетайте - будет и практика, и обсуждение 🚀
👉 Подписывайтесь, чтобы не пропустить стримы и новые разборы:
YouTube, Twitch и мой телеграм [Prefire]
🔥9👍3 3❤🔥2⚡1 1
🚨 В Xcode нашли интеграцию Claude
В последней бете Xcode 26 засветилась поддержка моделей от Anthropic - Claude Sonnet 4.0 и Claude Opus 4.
До этого в Xcode можно было нативно использовать только ChatGPT, а теперь похоже будет выбор.
Что это значит:
👉 Можно будет работать с Claude прямо в IDE, без ручных API-ключей.
👉 Apple начинает движение Xcode к мульти-LLM среде: свои модели + ChatGPT + теперь Claude.
👉 Разработчики уже пишут, что Claude даёт более чистый код и круто помогает с багами.
🤯 Apple прямо встраивает конкурентов в экосистему, и это довольно смело.
Посмотрим, кто следующий - Gemini? DeepSeek?
В последней бете Xcode 26 засветилась поддержка моделей от Anthropic - Claude Sonnet 4.0 и Claude Opus 4.
До этого в Xcode можно было нативно использовать только ChatGPT, а теперь похоже будет выбор.
Что это значит:
👉 Можно будет работать с Claude прямо в IDE, без ручных API-ключей.
👉 Apple начинает движение Xcode к мульти-LLM среде: свои модели + ChatGPT + теперь Claude.
👉 Разработчики уже пишут, что Claude даёт более чистый код и круто помогает с багами.
🤯 Apple прямо встраивает конкурентов в экосистему, и это довольно смело.
Посмотрим, кто следующий - Gemini? DeepSeek?
👍15🔥7❤5 3 1
😏Мой новый разбор MAX на Хабре
Взял свежий APK мессенджера Max и посмотрел, что у него внутри.
Нашёл много интересного:
- WebRTC для звонков
- ExoPlayer и TensorFlow Lite
- следы Odnoklassniki/TamTam (VK Group)
- и самое важное: никакого E2EE
🔎 Полный технический разбор - со скринами, кодом и выводами - я выложил на Хабр:
👉 Технический разбор Max: что внутри APK
Взял свежий APK мессенджера Max и посмотрел, что у него внутри.
Нашёл много интересного:
- WebRTC для звонков
- ExoPlayer и TensorFlow Lite
- следы Odnoklassniki/TamTam (VK Group)
- и самое важное: никакого E2EE
🔎 Полный технический разбор - со скринами, кодом и выводами - я выложил на Хабр:
👉 Технический разбор Max: что внутри APK
👍27🔥8 5👏2🤡2 1
💭 SwiftUI - боль?
Я недавно говорил, что SwiftUI -говно , но, чёрт возьми, я его люблю.
И одна из самых больших проблем - невозможность добавлять новые фичи на старых версиях iOS. Каждый апдейт - это тонны
Недавно в канале «Мобильный трудоголик» наткнулся на классное решение - SwiftUI-Adapter.
Теперь вместо:
Можно просто:
Под капотом всё те же проверки версий, но код остаётся чистым и читабельным.
Проект открыт - можно посмотреть реализацию или предложить свои улучшения.
Подробная информация и ссылка на GitHub доступны в исходном посте.
Я недавно говорил, что SwiftUI -
И одна из самых больших проблем - невозможность добавлять новые фичи на старых версиях iOS. Каждый апдейт - это тонны
#available, которые захламляют код.Недавно в канале «Мобильный трудоголик» наткнулся на классное решение - SwiftUI-Adapter.
Теперь вместо:
if #available(iOS 15.0, *) {
view.badge(5)
} else {
view
}
Можно просто:
view.adapter.badge(5)
Под капотом всё те же проверки версий, но код остаётся чистым и читабельным.
Проект открыт - можно посмотреть реализацию или предложить свои улучшения.
Подробная информация и ссылка на GitHub доступны в исходном посте.
🔥23❤🔥7👍6❤5🤡5👎3🤮3🥱3🤩1
🤖 Claude Pro vs ChatGPT Plus - заметки разработчика (и лида)
Попробовал платные версии обоих - впечатления очень разные.
💬 Claude
• SwiftUI: пишет на супер-примитиве (GPT-5 заметно лучше).
• Стиль кода: любит всё усложнять - тесты на всё подряд, даже на мелочи.
• ⚡️ Оптимизация: почти всегда выдаёт код, эффективный по производительности и памяти.
• Языки: проблема скорее в Swift, в других — результат лучше.
• MCP: есть интеграция, но реализовано странно:
• приложение на Mac виснет примерно раз в час;
• при правке файла перегенерирует его целиком → токены улетают, лимит съедается даже на Pro-тарифе.
🧠 ChatGPT (GPT-5)
• Повседневное использование: лучший выбор —
• аккуратно меняет куски кода без полной перегенерации;
• 🎨 встроенная генерация картинок
• стабильнее в работе.
• Код: пишет чище и удобнее, но не всегда максимально оптимально по ресурсам, масштабируемости и скорости.
• MCP: отсутствует (есть только через Cursor, и то за отдельную подписку).
⚖️ Вывод
• Для каждодневных задач - GPT выигрывает без вариантов.
• Для кода - зависит от задачи: Claude чаще даёт более оптимальные решения, но в Swift (особенно UI) он слаб.
👉 Про то, как модели справляются именно со Swift-бенчмарками, я сделаю отдельный пост.
Попробовал платные версии обоих - впечатления очень разные.
💬 Claude
• SwiftUI: пишет на супер-примитиве (GPT-5 заметно лучше).
• Стиль кода: любит всё усложнять - тесты на всё подряд, даже на мелочи.
• ⚡️ Оптимизация: почти всегда выдаёт код, эффективный по производительности и памяти.
• Языки: проблема скорее в Swift, в других — результат лучше.
• MCP: есть интеграция, но реализовано странно:
• приложение на Mac виснет примерно раз в час;
• при правке файла перегенерирует его целиком → токены улетают, лимит съедается даже на Pro-тарифе.
🧠 ChatGPT (GPT-5)
• Повседневное использование: лучший выбор —
• аккуратно меняет куски кода без полной перегенерации;
• 🎨 встроенная генерация картинок
• стабильнее в работе.
• Код: пишет чище и удобнее, но не всегда максимально оптимально по ресурсам, масштабируемости и скорости.
• MCP: отсутствует (есть только через Cursor, и то за отдельную подписку).
⚖️ Вывод
• Для каждодневных задач - GPT выигрывает без вариантов.
• Для кода - зависит от задачи: Claude чаще даёт более оптимальные решения, но в Swift (особенно UI) он слаб.
👉 Про то, как модели справляются именно со Swift-бенчмарками, я сделаю отдельный пост.
👍15🔥5🤡5🤔2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🍏 FastVLM: Apple наконец-то врывается в AI?
На CVPR 2025 показали FastVLM - мультимодальную модель с акцентом на скорость и компактность. И это реально первый серьёзный шаг Apple в сторону открытых моделей.
- ⚡️ 85× быстрее по TTFT, чем аналоги, и 3.4× компактнее благодаря гибридному визуальному энкодеру FastViTHD.
- 🧠 Версия на базе Qwen2-7B обгоняет Cambrian-1-8B, выдавая 7.9× более быстрый ответ.
- 📦 Уже на HuggingFace - модели 0.5B, 1.5B, 7B (fp16 / int8 / int4). Есть экспериментальные Stage2/3 для видео и структурированного вывода.
- 🛠 Поддержка прямо в transformers - импортнул и поехали.
- 🍎 Некоторые версии уже работают через mlx-vlm на macOS/iOS.
- 💬 Пользователи отмечают: на Mac летает, а вот iPhone 14 пока не тянет. Но в WebGPU-демо выглядит бодро.
📌 Вывод
FastVLM = компактность + скорость + мультимодальность. Кажется, Apple реально начала собирать свой AI-стек - посмотрим, как это отразится на экосистеме iPhone/iPad/Mac. Очень надеюсь что увидим от Apple еще больше моделей.
👉 Модели на HuggingFace
👉 Официальный Github
На CVPR 2025 показали FastVLM - мультимодальную модель с акцентом на скорость и компактность. И это реально первый серьёзный шаг Apple в сторону открытых моделей.
- ⚡️ 85× быстрее по TTFT, чем аналоги, и 3.4× компактнее благодаря гибридному визуальному энкодеру FastViTHD.
- 🧠 Версия на базе Qwen2-7B обгоняет Cambrian-1-8B, выдавая 7.9× более быстрый ответ.
- 📦 Уже на HuggingFace - модели 0.5B, 1.5B, 7B (fp16 / int8 / int4). Есть экспериментальные Stage2/3 для видео и структурированного вывода.
- 🛠 Поддержка прямо в transformers - импортнул и поехали.
- 🍎 Некоторые версии уже работают через mlx-vlm на macOS/iOS.
- 💬 Пользователи отмечают: на Mac летает, а вот iPhone 14 пока не тянет. Но в WebGPU-демо выглядит бодро.
📌 Вывод
FastVLM = компактность + скорость + мультимодальность. Кажется, Apple реально начала собирать свой AI-стек - посмотрим, как это отразится на экосистеме iPhone/iPad/Mac. Очень надеюсь что увидим от Apple еще больше моделей.
👉 Модели на HuggingFace
👉 Официальный Github
🤖 Кто такой DimaTorzok?
(или как OpenAI не фильтрует данные обучения)
Делаю пет-проект с распознаванием речи на видео через whisper.cpp. Всё шло нормально… пока вместо музыки модель не стала писать:
👉 «Субтитры добавил DimaTorzok»
Оказалось, что в обучающих данных с YouTube полно видео, где при музыке так и было написано в субтитрах. Whisper это честно выучил и теперь считает: музыка = DimaTorzok.
⚡️ Фикс элементарный: заменяем эту фразу на music прямо в коде.
Два дня бился, но теперь знаю:
🎶 любая музыка для OpenAI - это DimaTorzok.
PS:Работет только по распознавании русского языка
📎 Обсуждение на GitHub: Who is DimaTorzok?
(или как OpenAI не фильтрует данные обучения)
Делаю пет-проект с распознаванием речи на видео через whisper.cpp. Всё шло нормально… пока вместо музыки модель не стала писать:
👉 «Субтитры добавил DimaTorzok»
Я же распознаю голос, а не ищу какого-то Диму 😅
Оказалось, что в обучающих данных с YouTube полно видео, где при музыке так и было написано в субтитрах. Whisper это честно выучил и теперь считает: музыка = DimaTorzok.
⚡️ Фикс элементарный: заменяем эту фразу на music прямо в коде.
Два дня бился, но теперь знаю:
🎶 любая музыка для OpenAI - это DimaTorzok.
PS:
📎 Обсуждение на GitHub: Who is DimaTorzok?
😁22 8👍2🫡2🤣1
🚀 Swift Subprocess - новый способ запускать процессы из Swift
В Swift появилась библиотека, которая закроет старую боль Foundation.Process.
swift-subprocess - свежий пакет от Foundation Workgroup, уже принят как proposal SF-0007 v0.1.
Зачем это нужно:
Swift Subprocess - это единый и безопасный способ дергать внешние утилиты.
И это не что-то нишевое: почти все наши любимые Swift-тулы делают это под капотом:
• Tuist - дергает xcodebuild, swift build и десятки CLI команд
• Sourcery - запускает генераторы, линтеры и скрипты
• и любые pet-проекты, где надо позвать git, ffmpeg, convert, jq
Сегодня они используют старый Foundation.Process.
Завтра почти наверняка перейдут на swift-subprocess.
Примеры
Простой вызов:
Логи «на лету»:
Параллельные процессы:
📱 На iOS запуск внешних бинарников запрещён.
Но код можно шарить с macOS/Linux-утилитами, а внутри iOS использовать те же async-паттерны для встроенных фреймворков.
Статус проекта
• Proposal SF-0007 принят (март 2025)
• Версия 0.1 уже доступна на GitHub
• Планируется 1.0 в ближайшие месяцы
💡 Итог: Swift Subprocess - новый стандарт для инструментов на Swift.
Очень скоро Tuist, Sourcery и многие другие утилиты переедут на него.
👉 Репо: github.com/swiftlang/swift-subprocess
В Swift появилась библиотека, которая закроет старую боль Foundation.Process.
swift-subprocess - свежий пакет от Foundation Workgroup, уже принят как proposal SF-0007 v0.1.
Зачем это нужно:
Swift Subprocess - это единый и безопасный способ дергать внешние утилиты.
И это не что-то нишевое: почти все наши любимые Swift-тулы делают это под капотом:
• Tuist - дергает xcodebuild, swift build и десятки CLI команд
• Sourcery - запускает генераторы, линтеры и скрипты
• и любые pet-проекты, где надо позвать git, ffmpeg, convert, jq
Сегодня они используют старый Foundation.Process.
Завтра почти наверняка перейдут на swift-subprocess.
Примеры
Простой вызов:
let r = try await run(.name("git"),
arguments: ["--version"],
output: .string())
print(r.standardOutput)Логи «на лету»:
try await run(.name("bash"),
arguments: ["-lc", "ping -c 3 apple.com"]) { p in
for try await line in p.standardOutput.lines {
print("[OUT]", line)
}
}Параллельные процессы:
async let a = run(.name("echo"), arguments:["A"])
async let b = run(.name("echo"), arguments:["B"])
let (ra, rb) = try await (a, b)
print(ra.standardOutput, rb.standardOutput) // A B📱 На iOS запуск внешних бинарников запрещён.
Но код можно шарить с macOS/Linux-утилитами, а внутри iOS использовать те же async-паттерны для встроенных фреймворков.
Статус проекта
• Proposal SF-0007 принят (март 2025)
• Версия 0.1 уже доступна на GitHub
• Планируется 1.0 в ближайшие месяцы
💡 Итог: Swift Subprocess - новый стандарт для инструментов на Swift.
Очень скоро Tuist, Sourcery и многие другие утилиты переедут на него.
👉 Репо: github.com/swiftlang/swift-subprocess
🔥14👍3 3❤2🙏1
🚀 Релиз Swift 6.2
В этом обновлении добавили новые возможности для параллельного кода, безопасного системного программирования и удобства в работе.
Concurrency
👉 MainActor по умолчанию (как режим)
Раньше нужно было вручную ставить аннотацию @MainActor, чтобы не было ошибок при обновлении интерфейса. Теперь можно включить режим, где всё работает на MainActor автоматически - меньше лишнего кода.
👉 @concurrent для тяжёлых задач
Данные и состояние остаются на главном акторе, а ресурсоёмкие операции можно пометить как конкурентные - они выполняются параллельно и не мешают остальному коду.
Safe Systems Programming
👉 InlineArray - фиксированный массив, который хранится компактно (например, прямо внутри структуры), без дополнительных аллокаций.
👉 Span - безопасный срез массива без копирования
👉 Строгий режим memory-safety.
Можно включить проверку, которая подсветит небезопасные места и предложит заменить их на безопасные аналоги.
Workflows
👉 Официальное расширение Swift для VS Code: индексинг, LLDB, предпросмотр DocC.
👉 Настройка предупреждений компилятора (-warn-concurrency, -warn-unreachable).
👉 Быстрее работает сборка макросов.
👉 Удобнее отлаживать async-код: стек-трейсы стали понятнее, задачи теперь имеют имена.
Библиотеки
👉 Foundation: типизированные нотификации с явной моделью доставки.
👉 Observation: новый тип Observations - async-последовательность изменений.
👉 Swift Testing: тестирование выхода процесса, вложения (логи, скриншоты), новый формат имён.
👉 WebAssembly: расширенная поддержка Wasm-таргета.
Swift 6.2 помогает сократить ручную работу с потоками, добавляет безопасные инструменты для системного кода и делает разработку удобнее.
📌 Полный обзор
В этом обновлении добавили новые возможности для параллельного кода, безопасного системного программирования и удобства в работе.
Concurrency
👉 MainActor по умолчанию (как режим)
Раньше нужно было вручную ставить аннотацию @MainActor, чтобы не было ошибок при обновлении интерфейса. Теперь можно включить режим, где всё работает на MainActor автоматически - меньше лишнего кода.
👉 @concurrent для тяжёлых задач
Данные и состояние остаются на главном акторе, а ресурсоёмкие операции можно пометить как конкурентные - они выполняются параллельно и не мешают остальному коду.
struct ImageStore {
static var cache: [URL: Image] = [:]
static func image(for url: URL) async throws -> Image {
if let cached = cache[url] { return cached }
let img = try await fetchAndDecode(url)
cache[url] = img
return img
}
@concurrent
static func fetchAndDecode(_ url: URL) async throws -> Image {
let (data, _) = try await URLSession.shared.data(from: url)
return await decode(data)
}
}Safe Systems Programming
👉 InlineArray - фиксированный массив, который хранится компактно (например, прямо внутри структуры), без дополнительных аллокаций.
struct Level {
var bricks: [40 of Brick] = .init(repeating: .init())
}👉 Span - безопасный срез массива без копирования
let numbers = [1, 2, 3, 4, 5]
let part = Span(numbers, start: 1, count: 3)
print(part) // [2, 3, 4]
👉 Строгий режим memory-safety.
Можно включить проверку, которая подсветит небезопасные места и предложит заменить их на безопасные аналоги.
Workflows
👉 Официальное расширение Swift для VS Code: индексинг, LLDB, предпросмотр DocC.
👉 Настройка предупреждений компилятора (-warn-concurrency, -warn-unreachable).
👉 Быстрее работает сборка макросов.
👉 Удобнее отлаживать async-код: стек-трейсы стали понятнее, задачи теперь имеют имена.
Библиотеки
👉 Foundation: типизированные нотификации с явной моделью доставки.
👉 Observation: новый тип Observations - async-последовательность изменений.
👉 Swift Testing: тестирование выхода процесса, вложения (логи, скриншоты), новый формат имён.
👉 WebAssembly: расширенная поддержка Wasm-таргета.
Swift 6.2 помогает сократить ручную работу с потоками, добавляет безопасные инструменты для системного кода и делает разработку удобнее.
📌 Полный обзор
👍13🔥5 3🍾2
Хоть сама iOS и безопасная, приложения расковырять может практически кто угодно. Инструменты, атаки и костыли обновляются быстрее, чем выходит новый Xcode.
Если есть сомнения, что у тебя на клиенте всё перекрыто - Podlodka iOS Crew 22–26 сентября поможет найти дыры и заклеить их.
Что в программе
👉 Региональные ограничения. Как iPhone решает, что в стране можно, а что нельзя. Где он это проверяет и как воспроизвести поведение руками. Спикер - Светослав Карасев (hh ru).
👉 Обфускация в iOS. Какие подходы реально мешают реверсу, какие бесполезны, и как собрать свой пайплайн на SwiftSyntax. Павел Каретников (Газпромбанк).
👉 AppSec для iOS. Ландшафт атак, хранение данных, сеть. Практики, частые ошибки и как внедрить безопасную разработку в командах разного размера.
👉 Мини-CTF. Неделю собираем флаги, в пятницу - разбор находок и выводы для прода. Никита Краснов (Альфа-Банк).
🔗 Регистрация и подробности: https://podlodka.io/ioscrew
Если есть сомнения, что у тебя на клиенте всё перекрыто - Podlodka iOS Crew 22–26 сентября поможет найти дыры и заклеить их.
Что в программе
👉 Региональные ограничения. Как iPhone решает, что в стране можно, а что нельзя. Где он это проверяет и как воспроизвести поведение руками. Спикер - Светослав Карасев (hh ru).
👉 Обфускация в iOS. Какие подходы реально мешают реверсу, какие бесполезны, и как собрать свой пайплайн на SwiftSyntax. Павел Каретников (Газпромбанк).
👉 AppSec для iOS. Ландшафт атак, хранение данных, сеть. Практики, частые ошибки и как внедрить безопасную разработку в командах разного размера.
👉 Мини-CTF. Неделю собираем флаги, в пятницу - разбор находок и выводы для прода. Никита Краснов (Альфа-Банк).
🔗 Регистрация и подробности: https://podlodka.io/ioscrew
🔥7👍5❤2 2
Есть такой инструмент - Repomix. Он умеет упаковать проект в удобный для LLM вид:
👉 дерево папок + список файлов
👉 содержимое
Плюс можно включить режим сжатия (оставляет только сигнатуры/структуру кода). Получаем большую экономию токенов. Еще repomix может работать как MCP-сервер → значит его можно подключить к Cursor, Claude, Codex и тд.
Установка:
brew install repomix
🔑 CLI режим
Хочется “скормить” ИИ весь проект, чтобы он перестал гадать, съедать кучу токенов и начал помогать.
Repomix делает из репо markdown/json файл → кидаем в ChatGPT, DeepSeek, Claude.
ИИ сразу понимает архитектуру, связи и где искать баг.
Пример запуска:
repomix —-include "**.swift"
👉 Для библиотек - работает отлично
👉 Для больших приложений - делим на модули и прогоняем их по отдельности (либо mcp подключение)
⚙️ MCP режим
Подключаете Repomix к Codex (или другому агенту), и он сам в нужный момент дергает pack_codebase, grep_repomix_output и т.д.
То есть ассистент сам спрашивает у Repomix “покажи структуру проекта” → и получает актуальный кусок.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9 4❤🔥3 2
🎁 Розыгрыш 2 билетов на Podlodka Teamlead Crew
6 октября стартует новый сезон Podlodka Teamlead Crew - неделя про продвинутое тимлидство: навыки и компетенции, которые реально помогают расти в профессии и карьере.
Я там выступаю с докладом про внутренний бренд команды, и хочу разыграть 2 бесплатных билета среди подписчиков канала.
Как участвовать:
1. Подписаться на этот канал (если вдруг ещё не).
2. Нажать на кнопку "Учавствовать".
📅 Итоги подведу 18:00 4 октября в канале.
Удачи 🍀
Участников: 36
Призовых мест: 2
Дата розыгрыша: 18:00, 04.10.2025 MSK (завершён)
Победители розыгрыша:
1. Artem D. - 41umr3
2. Max - 41oqif
6 октября стартует новый сезон Podlodka Teamlead Crew - неделя про продвинутое тимлидство: навыки и компетенции, которые реально помогают расти в профессии и карьере.
Я там выступаю с докладом про внутренний бренд команды, и хочу разыграть 2 бесплатных билета среди подписчиков канала.
Как участвовать:
1. Подписаться на этот канал (если вдруг ещё не).
2. Нажать на кнопку "Учавствовать".
📅 Итоги подведу 18:00 4 октября в канале.
Удачи 🍀
Участников: 36
Призовых мест: 2
Дата розыгрыша: 18:00, 04.10.2025 MSK (завершён)
Победители розыгрыша:
1. Artem D. - 41umr3
2. Max - 41oqif
👍7🔥6 4❤2
🚀 Swift Package Manager 6.2: маленький релиз, важные улучшения
Swift 6.2 уже вышел, и вместе с ним подтянулся Swift Package Manager (SPM).
На первый взгляд апдейт тихий, но внутри есть несколько полезных штук, особенно если вы активно работаете с пакетами, CI и макросами.
🧠 1. Новый SwiftSetting.strictMemorySafety
Теперь в Package.swift можно включить строгую проверку безопасности памяти, добавленную в Swift по предложению SE-0458.
💡 Это позволит SPM-проектам компилироваться с включённой защитой от “грязных” указателей и нарушений изоляции памяти.
Полезно для системного и серверного Swift - где безопасность важнее производительности.
⚡️ 2. Ускоренные сборки макросов
SPM теперь умеет использовать prebuilt swift-syntax зависимости, не пересобирая их каждый раз.
💬 Для тех, кто пишет или использует макросы (@Observable, @AutoMockable, @Equatable и т.п.), — компиляция стала ощутимо быстрее.
Теперь этот шаг больше не пересобирает swift-syntax из исходников, если система уже имеет готовый бинарный артефакт.
💾 3. Кеширование бинарных артефактов
Бинарные зависимости теперь кешируются рядом с checkout-ами репозиториев, чтобы SPM не скачивал их заново при пересборке в других проектах.
📈 Это особенно приятно, если вы работаете с монорепами, CI/CD или несколькими пакетами с общими зависимостями.
🧩 4. Управление предупреждениями прямо из Package.swift
Теперь можно управлять диагностикой - превращать предупреждения в ошибки или отключать их на уровне конкретного таргета,
используя SwiftSetting в манифесте пакета.
💬 Вывод
Swift Package Manager 6.2 становится быстрее, безопаснее и дружелюбнее к большим проектам.
🧠 Главное новшество - строгая память, кеширование артефактов и ускорение макросов.
📦 Если вы используете Swift 6.2 в продакшне - обновляться стоит.
Swift 6.2 уже вышел, и вместе с ним подтянулся Swift Package Manager (SPM).
На первый взгляд апдейт тихий, но внутри есть несколько полезных штук, особенно если вы активно работаете с пакетами, CI и макросами.
🧠 1. Новый SwiftSetting.strictMemorySafety
Теперь в Package.swift можно включить строгую проверку безопасности памяти, добавленную в Swift по предложению SE-0458.
.swiftSettings([
.strictMemorySafety(.complete)
])
💡 Это позволит SPM-проектам компилироваться с включённой защитой от “грязных” указателей и нарушений изоляции памяти.
Полезно для системного и серверного Swift - где безопасность важнее производительности.
⚡️ 2. Ускоренные сборки макросов
SPM теперь умеет использовать prebuilt swift-syntax зависимости, не пересобирая их каждый раз.
💬 Для тех, кто пишет или использует макросы (@Observable, @AutoMockable, @Equatable и т.п.), — компиляция стала ощутимо быстрее.
Теперь этот шаг больше не пересобирает swift-syntax из исходников, если система уже имеет готовый бинарный артефакт.
💾 3. Кеширование бинарных артефактов
Бинарные зависимости теперь кешируются рядом с checkout-ами репозиториев, чтобы SPM не скачивал их заново при пересборке в других проектах.
📈 Это особенно приятно, если вы работаете с монорепами, CI/CD или несколькими пакетами с общими зависимостями.
🧩 4. Управление предупреждениями прямо из Package.swift
Теперь можно управлять диагностикой - превращать предупреждения в ошибки или отключать их на уровне конкретного таргета,
используя SwiftSetting в манифесте пакета.
💬 Вывод
Swift Package Manager 6.2 становится быстрее, безопаснее и дружелюбнее к большим проектам.
🧠 Главное новшество - строгая память, кеширование артефактов и ускорение макросов.
📦 Если вы используете Swift 6.2 в продакшне - обновляться стоит.
🧩 AnyLanguageModel: подключаем любую LLM к Apple Foundation Models API
Apple добавила Foundation Models в iOS 26 и macOS 26. Теперь можно напрямую вызывать on-device LLM через Swift с помощью LanguageModelSession, Tool, @Generable, Guided Generation и других инструментов.
Проблема в том, что API работает только с системной моделью Apple SLM примерно на 3 миллиарда параметров. Если хочешь использовать GPT-4, Claude или локальную Llama 3.2, то стандартный API не поможет.
AnyLanguageModel повторяет API Foundation Models и позволяет выбрать любой бэкенд: Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic.
Достаточно заменить
⚙️ Под капотом
• Полностью совместим с FoundationModels
• OS 17.0+ / macOS 14.0+ (В отличии от FoundationModels)
• Использует Swift 6.1 traits для подключения только нужных движков
• Поддерживает Tools, Guided Generation и Streaming
• Гибкий: работает локально, в облаке или в гибридной схеме
🧠 Apple Foundation Models
• Доступны на iOS, macOS и visionOS 26+
• Встроенная on-device модель (~3B), работает оффлайн
• Поддерживают Tool-вызовы, Guided Generation и адаптеры LoRA
• Адаптеры можно устанавливать как Background Assets
Apple SLM уступает моделям уровня GPT по мощности, но выигрывает в приватности и скорости отклика. Guided Generation делает модель точной при типизированных задачах, например со структурами или enum.
🧩 Примеры
• Локально через Ollama: llama3.2, phi4, gemma2
• Через MLX на M-чипах: mlx-community/Qwen3-0.6B
• В облаке: OpenAI, Anthropic
🔗 Полезное
• GitHub: mattt/AnyLanguageModel
• Apple Docs: Foundation Models Guide
Apple добавила Foundation Models в iOS 26 и macOS 26. Теперь можно напрямую вызывать on-device LLM через Swift с помощью LanguageModelSession, Tool, @Generable, Guided Generation и других инструментов.
Проблема в том, что API работает только с системной моделью Apple SLM примерно на 3 миллиарда параметров. Если хочешь использовать GPT-4, Claude или локальную Llama 3.2, то стандартный API не поможет.
AnyLanguageModel повторяет API Foundation Models и позволяет выбрать любой бэкенд: Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic.
Достаточно заменить
import FoundationModels на import AnyLanguageModel, и код продолжит работать.⚙️ Под капотом
• Полностью совместим с FoundationModels
• OS 17.0+ / macOS 14.0+ (В отличии от FoundationModels)
• Использует Swift 6.1 traits для подключения только нужных движков
• Поддерживает Tools, Guided Generation и Streaming
• Гибкий: работает локально, в облаке или в гибридной схеме
🧠 Apple Foundation Models
• Доступны на iOS, macOS и visionOS 26+
• Встроенная on-device модель (~3B), работает оффлайн
• Поддерживают Tool-вызовы, Guided Generation и адаптеры LoRA
• Адаптеры можно устанавливать как Background Assets
Apple SLM уступает моделям уровня GPT по мощности, но выигрывает в приватности и скорости отклика. Guided Generation делает модель точной при типизированных задачах, например со структурами или enum.
🧩 Примеры
• Локально через Ollama: llama3.2, phi4, gemma2
• Через MLX на M-чипах: mlx-community/Qwen3-0.6B
• В облаке: OpenAI, Anthropic
🔗 Полезное
• GitHub: mattt/AnyLanguageModel
• Apple Docs: Foundation Models Guide
🔥9👍4 3❤2
TOON вместо JSON: когда стоит, а когда нет
Token-Oriented Object Notation (TOON) - новый формат сериализации, который придумали в Duolingo, чтобы тратить меньше токенов при работе с LLM.
Грубо говоря - JSON на диете: без кавычек, без повторяющихся ключей, но со структурой.
Обычный JSON:
А вот TOON:
Ключи не повторяются, кавычек меньше, выглядит почти как CSV, только с мозгами.
Результат тот же, а токенов уходит в два-три раза меньше.
Когда TOON реально помогает
• Когда вы шлёте модели большие массивы однотипных данных
• Когда важно влезть в контекст или сократить стоимость
• Когда структура простая и не меняется
Когда лучше остаться на JSON
• В REST API и между сервисами - JSON всё ещё стандарт
• Когда данные сложные и вложенные
• Когда важна совместимость и схема
Что по цифрам
На плоских структурах экономия 30–60% токенов.
На вложенных почти нулевая экономия, иногда даже наоборот.
Итог
TOON - не замена JSON, а инструмент для LLM.
Если часто кормите модель большими таблицами - TOON даст экономию.
Если нет - JSON вас и дальше не подведёт.
PS:Бибилиотеки на swift еще нет, самое время залететь в open source и сделать Свифтун (SwiftToon)
Token-Oriented Object Notation (TOON) - новый формат сериализации, который придумали в Duolingo, чтобы тратить меньше токенов при работе с LLM.
Грубо говоря - JSON на диете: без кавычек, без повторяющихся ключей, но со структурой.
Обычный JSON:
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"}
]
}А вот TOON:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,userКлючи не повторяются, кавычек меньше, выглядит почти как CSV, только с мозгами.
Результат тот же, а токенов уходит в два-три раза меньше.
Когда TOON реально помогает
• Когда вы шлёте модели большие массивы однотипных данных
• Когда важно влезть в контекст или сократить стоимость
• Когда структура простая и не меняется
Когда лучше остаться на JSON
• В REST API и между сервисами - JSON всё ещё стандарт
• Когда данные сложные и вложенные
• Когда важна совместимость и схема
Что по цифрам
На плоских структурах экономия 30–60% токенов.
На вложенных почти нулевая экономия, иногда даже наоборот.
Итог
TOON - не замена JSON, а инструмент для LLM.
Если часто кормите модель большими таблицами - TOON даст экономию.
Если нет - JSON вас и дальше не подведёт.
PS:
1👍15🔥8🤝1
Наткнулся на статью “The Year SwiftUI Died”.
Заголовок громкий, но мысль внутри любопытная.
Автор говорит, что
Причины: Apple внезапно оживила UIKit, завезла удобный @Observable и другие фишки, причём они работают даже на старых iOS. Плюс ИИ теперь легко генерирует болванки под UIKit, снимая главный барьер входа.
Основные тейки:
• UIKit снова выглядит современно
• ИИ убирает боль шаблонного кода
• В основе SwiftUI слишком много магии, что бьёт по производительности
• Для крупных проектов UIKit может быть практичнее
Частично согласен, но “SwiftUI умер” звучит как драма. Он никуда не делся, просто перестал быть самым очевидным путём. Сейчас это вопрос выбора, а не похорон 💀
А что вы думаете? Используете ещё UIKit?
Заголовок громкий, но мысль внутри любопытная.
Автор говорит, что
2025 стал моментом, когда SwiftUI перестал быть очевидным выбором. Причины: Apple внезапно оживила UIKit, завезла удобный @Observable и другие фишки, причём они работают даже на старых iOS. Плюс ИИ теперь легко генерирует болванки под UIKit, снимая главный барьер входа.
Основные тейки:
• UIKit снова выглядит современно
• ИИ убирает боль шаблонного кода
• В основе SwiftUI слишком много магии, что бьёт по производительности
• Для крупных проектов UIKit может быть практичнее
Частично согласен, но “SwiftUI умер” звучит как драма. Он никуда не делся, просто перестал быть самым очевидным путём. Сейчас это вопрос выбора, а не похорон 💀
А что вы думаете? Используете ещё UIKit?
Jacobstechtavern
2025: The year SwiftUI died
Rediscovering my love for the Classic UIKit Stack™
1👍14🔥6❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop ❄️
На днях откопал свой старый проект на Metal - снегопад для рабочего стола. Запустил, посмотрел в профайлер и схватился за голову.
Раньше я не смог освоить просчет логики на GPU😬 : вся математика считалась на CPU. Процессор в каждом кадре пересчитывал координаты тысяч частиц, удалял упавшие, создавал новые (привет, сборщик мусора) и каждый раз перегонял этот массив данных на видеокарту. Естественно, на большом количестве снежинок всё начинало захлебываться.
😊 Решил сегодня переписать.
Самое главное - убрал все просчеты с CPU. Перенес всю физику в Compute Shaders. Теперь процессор вообще не трогает частицы, он просто говорит видеокарте:
Как это работает внутри:
- Один буфер на старте. Вместо того чтобы постоянно создавать и убивать объекты, я один раз выделяю память под массив снежинок.
- Ресайкл. Когда снежинка улетает за нижнюю границу экрана, шейдер просто телепортирует её наверх с новыми параметрами. Никаких аллокаций памяти в рантайме.
- Параллелизм. Тысячи ядер GPU обновляют позиции снежинок одновременно, а не по очереди, как это делал CPU.
Результат забавный: ради интереса выкрутил счетчик до миллиона снежинок. Экран стал просто белым, но 60 FPS держатся стабильно.
В коде еще перенес на GPU мелочи вроде огибания курсора мыши и таяния снега на границах окон.
👉 Приложение open source и его код можно посмотреть в репозитории а скачать приложение прямо по ссылке
PS: Прямо сейчас приложение в ревью у Apple.
На днях откопал свой старый проект на Metal - снегопад для рабочего стола. Запустил, посмотрел в профайлер и схватился за голову.
Раньше я не смог освоить просчет логики на GPU
Самое главное - убрал все просчеты с CPU. Перенес всю физику в Compute Shaders. Теперь процессор вообще не трогает частицы, он просто говорит видеокарте:
Прошло 0.016 секунды, обнови кадр
Как это работает внутри:
- Один буфер на старте. Вместо того чтобы постоянно создавать и убивать объекты, я один раз выделяю память под массив снежинок.
- Ресайкл. Когда снежинка улетает за нижнюю границу экрана, шейдер просто телепортирует её наверх с новыми параметрами. Никаких аллокаций памяти в рантайме.
- Параллелизм. Тысячи ядер GPU обновляют позиции снежинок одновременно, а не по очереди, как это делал CPU.
Результат забавный: ради интереса выкрутил счетчик до миллиона снежинок. Экран стал просто белым, но 60 FPS держатся стабильно.
В коде еще перенес на GPU мелочи вроде огибания курсора мыши и таяния снега на границах окон.
👉 Приложение open source и его код можно посмотреть в репозитории а скачать приложение прямо по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥32❤12☃4👏2🎄2
This media is not supported in your browser
VIEW IN TELEGRAM
❄️ Snowflakes Desktop - снегопад на твоем Mac
Создай новогоднюю атмосферу на рабочем столе одним кликом. Легкое, нативное приложение, которое не нагружает систему.
Что умеет:
✨ Реалистичная физика: Снежинки плавно падают поверх всех окон (или только на обоях).
🎨 Кастомизация: Настраивай количество снега, скорость и размер хлопьев под свое настроение.
🚀 Performance-friendly: Написано с использованием Metal. Ноль лагов, минимальное влияние на батарею.
🖥 Multi-display: Поддержка нескольких мониторов.
Это отличный способ добавить уюта во время работы или вечернего просмотра фильмов.
🌐 Скачать с сайта: Snowfall Desktop
🍏 Скачать с App Store: Snowfall Desktop
🐙 Скачать с GitHub: ZIP
Создай новогоднюю атмосферу на рабочем столе одним кликом. Легкое, нативное приложение, которое не нагружает систему.
Что умеет:
✨ Реалистичная физика: Снежинки плавно падают поверх всех окон (или только на обоях).
🎨 Кастомизация: Настраивай количество снега, скорость и размер хлопьев под свое настроение.
🚀 Performance-friendly: Написано с использованием Metal. Ноль лагов, минимальное влияние на батарею.
🖥 Multi-display: Поддержка нескольких мониторов.
Это отличный способ добавить уюта во время работы или вечернего просмотра фильмов.
🌐 Скачать с сайта: Snowfall Desktop
🍏 Скачать с App Store: Snowfall Desktop
🐙 Скачать с GitHub: ZIP
2🔥16 5 5🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop наконец-то в App Store! ❄️
Без долгих предысторий: просто захотелось снега на рабочий стол, написал, залил.
Но самое интересное было на этапе ревью.
Первый билд Apple реджекнули.
Причина убила🍴
Ревьювер решил, что скриншоты и описание вводят пользователей в заблуждение. По их мнению, оформление выглядело так, будто это официальное приложение от самой Apple.
Пришлось немного поправить описание, чтобы не смущать Купертино своей “нативностью”. Считаю, это успех 😂
Пока ждал аппрув, навайбкодил еще и лендинг - там тоже идет снег, можно зайти просто залипнуть (рекомендую заглянуть туда).
PS:Зацените какую анимацию apple делает, когда выкладываешь новое приложение в AppStore
Все ссылки и инфо - в предыдущем посте 👆
Без долгих предысторий: просто захотелось снега на рабочий стол, написал, залил.
Но самое интересное было на этапе ревью.
Первый билд Apple реджекнули.
Причина убила
Ревьювер решил, что скриншоты и описание вводят пользователей в заблуждение. По их мнению, оформление выглядело так, будто это официальное приложение от самой Apple.
Пришлось немного поправить описание, чтобы не смущать Купертино своей “нативностью”. Считаю, это успех 😂
Пока ждал аппрув, навайбкодил еще и лендинг - там тоже идет снег, можно зайти просто залипнуть (рекомендую заглянуть туда).
PS:
Все ссылки и инфо - в предыдущем посте 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥19❤🔥5❤2🎄2👍1