Я занимаюсь классическим ML, как это теперь принято называть. Делаю продвижение в поиске и рекомендациях Авито (и еще пишу в канал Big Ledovsky). Работа, признаюсь, интересная, и очень мне нравится. Однако этот хайп вокруг LLM.. Да даже не хайп, а просто бытовой опыт использования LLM говорит: нужно разобраться в этой технологии, это серьезный прорыв в отрасли.
И вот в преддверии AI Journey выложили соревнование, где нужно было построить ассистента для рекомендации товаров Мегамаркета, а в качестве модели использовать Gigachat через API. Я решил, что время поделать что-то руками настало. В итоге получилось нарешать на 3-е место.
Как человек, который первый раз делал RAG пайплайн, я получил много инсайтов и интуиции, которыми хочу поделиться. Всем заинтересованным добро пожаловать под кат.
Читать далееПривет, друзья!
Я Илья Попов, действующий senior android разработчик, ментор начинающих андроид-разработчиков и автор телеграм-канала Android Dev Notes.
Итак, вы приняли решение стать андроид-разработчиком. Как найти дорогу в этом океане неизвестного впереди?
Раз наша цель – работа в андроид-разработке, то первое, что нужно сделать – изучить рынок вакансий и понять, а что от вас вообще нужно работодателям?
Идём на основные сайты для поиска работы (hh, superjob, career.habr, geekjob, getmatch и тд) и анализируем пару десятков вакансий джуниоров и то, какие требования в них фигурируют чаще всего. Составляем себе список навыков, библиотек, фреймворков, инструментов для освоения.
Следующее, с чем надо определиться: к какому из пунктов приступать первым? Здесь два варианта:
– самостоятельно изучаем программы существующих курсов в интернете и на этой основе пытаемся понять, в какой последовательности что обычно учат
– просим помощи в составлении программы у компетентного разработчика, который занимается обучением начинающих
Эта программа не будет высечена на камне – нам может потребоваться её изменять, а часто придётся импровизировать и отходить от неё. Но мы теперь не плывём в океане наудачу – у нас есть маяк. А дальше дело за малым – поднимаем якорь, надуваем паруса и вступаем на тернистый, но интересный путь разработчика!
Читать далееПо мотивам книги "Долой среднее!"
В нашей повседневной жизни понятие "среднего" давно укоренилось и воспринимаются как совершенно естественное. Мы привыкли оценивать людей по их физическим, психическим или интеллектуальным способностям, исходя из того, насколько они соотносятся со средними значениями. Рассуждения о средней оценке или среднем интеллекте не вызывают противоречий. Нам кажется, что что существует нормальный путь развития, при котором школьные оценки и результаты экзаменов в университете напрямую связаны с успехом в профессии, карьере и жизни. В книге "Долой среднее!" профессора Тодда Роуз такие установки считаются не просто ошибочными, а вредными для принятия решений в современно мире! Книга провокационная, однако она побуждает к размышлениям, помогает разобраться в том, почему мы живем в мире, где все основывается на оценках и на сравнении со средними показателями. И я наконец понял, что не так с ЕГЭ! Но давайте пойдем по порядку.
Читать далееСегодня я поделюсь недавней интересной уязвимостью. Однако я не могу раскрыть название программы и домен, так как не получил разрешения на их публикацию.
Предположим, что целью является test.com.
Начав тестирование программы, я нашел способ обхода пользовательского интерфейса административной панели. Цель использует JSON Web Token (JWT) в качестве механизма аутентификации. Я уделил немало времени, чтобы разобраться и выявить возможные уязвимости на объектах программы, использующих JWT.
При входе на основной сайт test.com, для обычного пользователя генерируется JWT.
После изучения работы цели я начал собирать данные:
Читать далееПриветствую, друзья! Сегодня я хочу рассказать вам одном занятном фреймворке — Swarm от OpenAI.
Если вы когда-либо задумывались о том, как создать систему, где несколько компонентов взаимодействуют между собой, передают задачи друг другу и делают это без вашего постоянного участия — Swarm для вас. Он основан на OpenAI's Chat Completions API, что может сделать его мощным инструментом в ваших руках.
Читать далееСейчас сложно представить будни современного человека без штрихкодов, они стали настолько неотъемлемой частью нашей жизни, что используются повсеместно. Мы встречаем их на товарах в магазинах, на медикаментах в больницах и не придаем им особого значения до тех пор, пока они не перестанут считываться. К сожалению, штрихкоды часто повреждаются по таким причинам, как ежедневный износ, брызги жидкости или загрязнения, что затрудняет их распознавание. Это может привести к ошибкам в учёте большинства важных объектов.
В настоящее время одними из самых популярных технологий, применяемых для идентификации товаров, являются различные виды маркировок и штрихкодов — как одномерных, так и двумерных, а также технология прямой маркировки деталей (DPM) и RFID‑метки.
Традиционные методы восстановления сильно повреждённых штрихкодов имеют свои ограничения. С появления QR-кодов важным направлением исследований стало их надежное сканирование и декодирование в различных средах. Существующие исследования в этой области в основном сосредоточены на повышении надежности QR-кодов через различные методы: коррекцию ошибок чтения, шумоподавление и улучшение изображений. Даже такая популярная технология глубокого обучения как GANscan, который применяется для захвата QR-кодов на быстро движущихся сканирующих устройствах — не решает проблему восстановления поврежденных QR-кодов.
Именно поэтому многие отечественные и зарубежные исследователи сейчас активно изучают возможность применения нейронных сетей для решения этой проблемы.
Читать далееВ одном из предыдущих постов мы уже разбирали работу в интерактивном блокноте на примере Google Colab. Возможность написания кода в ячейках (почти как в MS Excel!), удобное выполнение в интерактивном режиме и совмещение с блоками красиво оформленного текста делает работу с данными — в том числе биологическими — гораздо приятнее.
Кроме того, заполненный и хорошо оформленный блокнот избавляет от необходимости придумывать коду какой-то интерфейс и вместо решения биологических задач тратить время на фронтенд-разработку. Блокнот вполне можно передать коллегам, обладающим лишь минимальными навыками Python, чтобы они ввели в него свои данные и воспользовались им для расчётов. То есть это хороший вариант для работы с биологами из «мокрых» лабораторий.
У интерактивного блокнота есть и офлайн-реализация, которая называется Jupyter Notebook (Рис. 1). Установить его можно разными способами.
Читать далее
Все знают, что 1С поддерживает работу по HTTP через Apache как в режиме Тонкого клиента, так и в режиме Веб клиента. Так же в тонком клиенте 1C можно указать скорость соединения. Мы знаем, что танки грязи не боятся, боится ли 1С плохих линий?
Читать далееС момента моей последней публикации прошло достаточно времени, чтобы накопить опыт и поделиться новыми выводами. Тогда я рассказывала про запуск нашего MVP, сейчас же хочу поговорить о том, как мы прошли путь от случайных установок и покупок к стабильному росту и постоянным родажам. Думаю, наш опыт будет полезен тем, кто долгими вечерами пилит свой продукт, еще не представляя, через какие сложности им предстоит пройти.
Читать далееЗнаю, что такие посты на Хабре не любят, и сейчас сольют всю карму в ноль, но все же считаю необходимым высказаться. Откуда такая реакция, мне сложно понять. Или люди еще сами не пробовали и еще не осознали его возможностей, или пробовали поверхностно, или это отрицание реальности. Я и сам до последнего момента крайне скептически относился к ИИ, потому что долгое время был уверен, что текстов недостаточно, нужен жизненный опыт. Видимо, я ошибался.
Искусственный интеллект скорее сильно недооценен, чем переоценен. Я даже удивлен, что все происходит столь буднично. Шутка ли, взята планка, которая казалась недостижимой — пройден тест Тьюринга. ИИ доступен, если не для творчества, то точно для креатива.
Я лично на данный момент пользуюсь o1 практически каждый день в работе. Я уже и мыслю не задачами, а запросами к ИИ — перебираю в голове, как правильно составить запрос, а не найти решение. Если заканчивается лимит на запросы, я просто жду восстановления лимита и без него к работе не возвращаюсь. Большинство текущих задач он щелкает как орешки. Если где-то вылетает с ошибкой или не компилируется — просто скидываю код и логи, не читая, и почти всегда получаю валидный ответ. Многие возражают, что человек все равно нужен. Во многом сейчас человек нужен просто для того, чтобы правильно составить запрос и аккуратно скопипастить ответ. Именно на это у меня уходит большая часть рабочего времени. Очевидно, что это тоже очень временно. Это лишь временные технические сложности с недоработкой IDE и ограничением на ввод. Очень быстро автоматизируют и это. Ключевые моменты, где уже не справляется ИИ, — это большие проекты. Если больше примерно 1000 строк, он уже начинает запинаться и галлюцинировать. И даже если будет практическая непроходимая граница размера окна запросов и он никогда не будет больше, допустим, 10 000–100 000 строк, все равно это не принципиально. Точно так же можно будет написать отдельные модули ИИ, которые будут восстанавливать архитектуру и структуру классов и работать с ней помодульно, как собственно человек и делает в реальности. Конечно, рано или поздно мы упремся в то место, где все же будет нужен человек, но границы этого места не видны даже теоретически. Кроме того, профессия этого программиста будущего не будет иметь ничего общего с текущей профессией. Как современные программисты говорят, что алгоритмы не нужны, так и хипстеры 2040 года будут возмущаться, что их требуют писать код или знать хотя бы один язык программирования. Рискну предположить, что и ЯП сильно преобразуются и станут удобными непосредственно для ИИ и станут даже теоретически непригодны для поддержки (что-то типа Brainfuck).
Читать далееЯ — андроид разработчик. Обычно ко мне приходят с фразой вроде “вот мы тут придумали фичу, сделаешь?” и с макетом дизайна, вроде такого.
Я смотрю на это всё и вижу: вот экраны, эти данные на них — статические, а вот эти динамические, значит их надо откуда-то взять; вот тут интерактивные компоненты: при взаимодействии с ними надо что-то сделать. Иногда просто открыть другой экран или виджет, иногда выполнить логику. Исходя из этого я проектирую то, как будет выглядеть логика фичи. Описываю ее в компонентах архитектуры, разбиваю на задачи, узнаю где и как взаимодействовать с сервером, и прочее.
Но потом я обнаруживаю, что далеко не все переходы такие простые, как нарисовано на дизайне, например, как в случае с авторизацией. Не все явно присутствуют, как, например, переходы назад. А в некоторых случаях не хватает всевозможных экранов ожидания, экранов “пустых” состояний и экранов ошибок.
Знакомо?
Читать дальше →Иногда все, что требуется — быстро вывести какой‑то текст в Renderpass. Традиционно отрисовка текста требует отрендерить все возможные символы шрифта в атлас, затем привязать полученный атлас как текстуру и затем отрендерить каждый глиф, рисуя треугольники, каждый из которых должен соотноситься с нужным глифом из текстуры атласа шрифта.
Так делает imgui, равно как и все, кто использует stb_truetype. Сам процесс приятно напоминает процесс наборного производства на физических станках.
Причудливо, правильно, но в то же время напряжно.
Если нам нужно просто вывести какое‑то сообщение для дебага? Нет ли какого‑либо более простого метода?
В данной статье я опишу метод бестекстурной отрисовки дебаг‑текста. Вдобавок, отрисовка будет производиться в один вызов draw.
Читать далееМы никогда не читаем код как книгу — мы выбираем только конкретные интересующие места. Такие места обычно запоминаются ассоциативно, например по имени функции, строковому литералу, импорту библиотеки, комментарию и т. д. Перейти от ассоциации к файлу, а тем более к конкретной строчке кода не всегда легко. Особенно если оперируешь большим количеством проектов с активно меняющейся кодовой базой. В таких случаях выручает удобный инструмент текстового поиска.
Эффективность такого инструмента определяется как скоростью работы, так и удобством использования. В частности, кастомизация под себя позволяет разгрузить мышление и включить «мышечную память» — когда руки сами нажимают кнопки, а все внимание сосредоточено на обработке результатов поиска. Не все инструменты позволяют провести такую тонкую настройку. Меня зовут Роман Щекин, я работаю руководителем команды разработчиков в VK Cloud, и в этой статье мы с вами поищем серебряную пулю, попробуем достичь сочетания скорости и удобства в виде собранного из кросс-платформенного опенсорса поисковика.
Читать далееМоя полная петиция на грин-карту по программе талантов EB-1A. 557 страниц, 7 критериев, одобрена с первой попытки без RFE. Все мои рассуждения по выбору критериев, подготовке и описанию доказательств, переводам, оформлению и отправке.
Читать далееО чем эта статья?
Мы расскажем:
1) зачем покупать USDT в 2024 году,
2) как это сделать легко и безопасно,
3) где хранить криптовалюту, чтобы не потерять,
4) какие выгоды она может вам принести.
5) список магазинов, принимающих Tether (USDT) в 2024 году
Читать далееНа площадке Ассоциации креативных индустрий АКИ.лаб в Москве уже 14 декабря гостей ждут встречи с российскими писателями в жанрах LitRPG, RealRPG, лекции и мастер-классы по написанию и продвижению собственных книг, презентации новинок мира игровой литературы.
В программе мероприятия выступления известных писателей, таких как Алексей Вязовский, Сергей Чекмаев, Никита Аверин, Михаил Атаманов, Павел Вяч, Плекс Кош и другие.
Организаторы – компании, которые находятся на стыке разработки игр и литературы: Союз Литераторов РФ совместно с Организация Развития Видеоигровой Индустрии (РВИ), Агентством креативных индустрий (АКИ) и Высшей школой бизнеса ВШЭ.
Нетворкинг сессии позволят задать вопросы лично писателям, а общение с представителями разных компаний может привести к нахождению соавторов для большого проекта или заказчика для реализации ваших творческих амбиций.
Подробнее о мероприятии
Программа открытых лекций:
12:15-13:20: Круглый стол о трендах развитии игровой литературы в России.
Модератор: Уточкин Вячеслав (игровой продюсер, писатель, деятель образования)
Участники: Чекмаев Сергей (Союз Литераторов РФ), Овчинников Василий (Ассоциация развития видеоигровой индустрии), Владимир Обручев (Издательство Бомбора), Михаил Атаманов (писатель ЛитРПГ), Павел Вяч (писатель РеалРПГ).
13:30-14:30 – «Жанр литрпг в России - еще жив или уже мертв?».
Спикер: Никита Аверин (платформа Литмаркет) и Алекс Кош (писатель ЛитРПГ).
14:30-15:30 - Методики продвижения своей книги на Author.Today.
Спикер: Алексей Вязовский.
Читать далееРады сообщить, что мы дополнили свою ESM-платформу новым продуктовым расширением – «Светофорные карты показателей» (Traffic Light Scorecard). Этот инструмент объединяет концепции Balanced Scorecard и SLM Chart, помогая реализовать принцип Plan-Do-Check-Act на этапе контроля (Check). Инструмент связывает стратегическое планирование с оперативным мониторингом целей, позволяя отслеживать соответствие бизнес-процессов целям и быстро реагировать на отклонения.
В видео мы детально объяснили суть работы нового инструмент в рамках нашей системы.
Читать далееПользователи PostgreSQL нередко оперируют аналитическими запросами, при выполнении которых данные сортируются и группируются по разным правилам. За счёт оптимизации вычисления агрегатов и сортировок можно значительно сократить время и стоимость выполнения запросов. Об одной из таких оптимизаций — выборе порядка колонок в выражении GROUP BY — расскажем в этой статье.
Postgres уже умеет перестраивать список группируемых выражений в соответствии с порядком колонок из условия ORDER BY, чтобы исключить дополнительную сортировку и сэкономить вычислительные ресурсы. Мы пошли дальше, реализовали свою идею в дистрибутивах Postgres Pro Standard и Enterprise и вынесли патчи на обсуждение сообщества Postgres (первое и второе) в надежде, что они войдут в ближайшую версию ванильного PostgreSQL.
Читать далее