Обновить

Как стать автором

JavaScript Shader Language или JSSL

Уровень сложностиСложный
Время на прочтение15 мин

Генератор GLSL-кода для WebGL, позволяющий писать шейдеры буквально на JavaScript с некоторыми условностями, используя все удобства IDE, такие как рефакторинг, подсветка синтаксиса, автокомплит и проверка на ошибки, а в математических выражениях использовать обычные JS операторы: +, -, *, /, =, +=, -=, *=, /=, ++, --.

Читать далее
Всего голосов 1: ↑1 и ↓0+2
Комментарии1

Набор символов и звуков — ваш бесплатный продавец 24/7

Уровень сложностиСредний
Время на прочтение4 мин

Маркетинг умирает. Не тот, где вы погружены в отчеты по ROMI и не отрываясь от CRM-системы, спорите с дизайнером о выборе шрифта в баннере, а тот, где ваши денежки горят синим пламенем в топках рекламных кабинетов, как в баке Хаммера, загруженного булыжными камнями, чтобы хоть как-то заглушить боль от того, что даже ваша мама не помнит, как вас зовут... Единственный актив, который работает на вас, пока вы спите, едите или смотрите, как тает бюджет на таргет — это набор букв и звуков, из которых состоит имя вашего бизнеса. Всё остальное чаще всего — бессмысленная суета и работа на собственных подрядчиков.

Читать далее
Рейтинг0
Комментарии2

Я пришёл Тимлидом в новую компанию и собрал её в файлы вместо двадцати вкладок

Уровень сложностиСредний
Время на прочтение6 мин

Третья неделя в новой компании. меня спрашивают кто в соседней команде отвечает за конфиги админки и где лежит контракт по realtime-интеграции с витринами партнёров. отвечаю без открытия браузера.

Я ж не гений. просто всё это уже в одном каталоге и достаётся одной командой в терминале.

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии1

ChatGPT не промахнулся ни в одном из пяти медицинских кейсов. И всё равно проиграл. Разбираем, почему

Уровень сложностиПростой
Время на прочтение12 мин

В эксперимент мы шли с уверенностью, что ChatGPT хотя бы раз из пяти промахнётся с главным диагнозом. Не промахнулся. Пять из пяти: метаболический синдром, субклинический гипотиреоз, перименопауза, MGUS, статин-индуцированный рабдомиолиз. Ставка проиграна, но самое интересное оказалось не здесь.

Модели разошлись сразу после диагноза. У ChatGPT провалилось то, что в клинической работе называется «что пациент делает в ближайшие две недели»: к каким врачам идти, какие обследования сдать до начала терапии (ПСА перед заместительной терапией тестостероном, маммография перед МГТ), какие целевые уровни держать и когда перепроверять, как прочитать соотношение АСТ и АЛТ при рабдомиолизе. На четырёх плановых кейсах эта разница повторилась одинаково.

А на пятом — кейсе MGUS — проиграл уже МедАссист. ChatGPT и соотношение альбумин/глобулин посчитал явно, и конкретный список подтверждающих тестов для гематолога назвал — мы не сделали ни того, ни другого. Раздел про этот кейс у нас расписан подробнее остальных: мы договорились разбирать свои промахи внимательно, а не проматывать.

Оговорюсь сразу. Пишем мы от команды, которая делает МедАссист, — один из двух сервисов в сравнении. Интерес у нас есть, прятать его бессмысленно. Поэтому методику мы зафиксировали до первого прогона, ответы обоих сервисов приводим слово в слово, а кейс, где мы проиграли, разбираем подробно. Судить, насколько это уравновешивает конфликт интересов, — читателю.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

От хаоса к системе: как мы выстроили процесс Discovery (часть 1)

Уровень сложностиПростой
Время на прочтение6 мин

Сколько людей - столько и мнений о процессах в команде (с). 

Давайте поразмышляем - как выстроить процесс анализа так, чтобы он стал для команды не формальным набором этапов, а рабочим инструментом? Опираемся на наш опыт работы в командах разработки одного из операторов электронного документооборота.  Все описанные процессы формировались и развивались на практике.

За отправную точку возьмем несколько потребностей: 

управлять неопределённостью,

повышать качество требований,

снижать риски на этапе разработки. 

Поделимся опытом работы в команде разработки продукта электронного документооборота. 

Расскажем о своих решениях, ошибках, находках, и компромиссах и о рабочей модели, которой мы сейчас придерживаемся.

Читать далее
Рейтинг0
Комментарии0

Как сегментировать базу? Основные критерии сортировки контактов

Уровень сложностиПростой
Время на прочтение4 мин

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

Читать далее
Рейтинг0
Комментарии0

Маленькие секреты детского фонографа

Уровень сложностиПростой
Время на прочтение11 мин

Эта история началась с новогоднего подарка. Младшей дочери подарили обучающую игрушку - небольшой граммофон с маленькими картонными пластинками. Ставишь пластинку на проигрыватель, поворачиваешь маленький пластиковый тонарм и игрушка играет песенку или рассказывает сказку на английском языке. О том как заставить её заговорить на других языках и о других её недокументированных возможностях - эта статья. Жесткого реверсинга и хардкорного моддинга не будет, а будет история проб и ошибок со счастливым концом.

Читать далее
Всего голосов 27: ↑27 и ↓0+39
Комментарии5

Эмулятор Qemu | Установка и настройка

Уровень сложностиПростой
Время на прочтение9 мин

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии10

Как считать экономику заявки в контекстной рекламе: от CPL до реальной прибыли

Уровень сложностиСредний
Время на прочтение4 мин

Бюджет потрачен, заявки есть, а прибыли нет. Отдел продаж доволен трафиком, руководитель — нет. Причина почти всегда одна: никто не считал экономику до запуска кампании.

В этой статье разберём полную цепочку расчётов — от стоимости клика до окупаемости. С формулами, таблицами и сценарным планированием, которое можно делать прямо в Excel до того, как вы отдадите первый рубль Яндексу.

Читать далее
Рейтинг0
Комментарии0

Перенос данных из отчетов 1С в PostgreSQL в два клика

Уровень сложностиПростой
Время на прочтение4 мин

Все началось с того, что мне поставили задачу: «У менеджеров есть большой телевизор. Сделай так чтобы у них там крутились красивые циферки и графики с результатами продаж».

Читать далее
Рейтинг0
Комментарии7

Настраиваем Matrix сервер

Уровень сложностиПростой
Время на прочтение13 мин

Полное руководство по развёртыванию приватного Matrix-сервера с Google-аутентификацией, видеозвонками, Telegram и WhatsApp мостами

Никогда не писал статьи, особенно здесь, но попытавшись найти нормальную инструкцию для разворачивания сервера Matrix с Google-аутентификацией, видеозвонками мостом Telegram и WhatsApp понял, что они либо не подходят, либо не учитывают нюансы Google-аутентификации (например не все админские сайты подходят и клиенты), часть инструкций даже на официальном сайте указаны не верно. Сразу скажу что в написании статьи сильно помогал ИИ, он помог зачистить конфиги, и расписала очерёдность настройки различных модулей. Надеюсь данная инструкция будем вам полезна. Если будут вопросы пишите, чем смогу помогу.

В этом гайде мы соберём из готовых Docker-контейнеров полнофункциональный Matrix-сервер для семьи или небольшой компании..

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

История изобретения гусеницы (гусеничного хода)

Уровень сложностиПростой
Время на прочтение3 мин

Родоначальником служит концепция перекатывания грузов на брёвнах, которую использовали рабы при строительстве египетских пирамид. Чтобы передвигать тяжёлые грузы на большие расстояния они подкладывали под них брёвна, а когда сзади освобождалось одно бревно, они его перемещали вперёд. Получалась своеобразная бесконечная дорога из брёвен.

Первым более осмысленным шагом в деле изобретения гусеницы можно считать работу д'Эрмана. В 1713 году в Парижской Академии наук он представил необычный проект тележки. Между двумя её платформами он поместил замкнутую цепь из небольших катков, скреплённых планками.

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии5

ΔE > 3: Как баг с колеровкой чуть не обрушил прод, и почему офис — это API вашей корпоративной культуры

Время на прочтение3 мин

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

Во-первых, я чуть не завалил проект из-за банальной колориметрии. Во-вторых, наблюдая за командой заказчика после сдачи объекта, я понял, что офис — это такой же интерфейс для сотрудника, как IDE для разработчика. И если UX в помещении кривой, продуктивность падает, даже если у вас MacBook Pro и кресло Herman Miller.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Наглядный пример, зачем нужны агенты

Уровень сложностиПростой
Время на прочтение8 мин

Расскажу историю длиною в полгода, на которой прекрасно прочувствовал все прелести современных инструментов и способов эксплуатации llm.

Идея до жути простая и наверняка встречалась или приходила в голову очень многим, кто начинал задумываться об использовании llm api или после знакомства с rag. В августе 2025 года папа предложил мне создать хороший поисковик-анализатор новостей: ты даешь ему список источников и пожелания того, что хочешь увидеть в ответе, он тебе присылает в выбранный интервал сводку с источниками и отвечает на твои вопросы. Казалось бы, классическая задача чтобы показать всем удачное применение rag, словить аплодисменты и разойтись. Так показалось и мне, и я буквально за 1-2 месяца работая в свободное время собрал вполне достойный прототип. Он умел хорошо искать семантически, просить llm сформировать ответ на основе найденных постов и даже помогал их открывать. В мыслях салюты, шампанское и ai единороги.

Но реальность

Довольно быстро на самотестировании я нашел два серьезных упущения: первое - сложный запрос для такой системы оставался недопустимой роскошью: попытка найти “причины шатдауна правительства США” в лучшем случае приводила меня к заголовкам про Трампа и что-то там про переговоры, а иногда и вовсе такого рода запросы не давали никакой выборки по базе; второй серьезной проблемой стало абсолютное непонимание предметной области, если того же Трампа вектора в базе еще ставят в один ряд с Америкой и политикой, то вот ЦБ РФ может запросто восприниматься как Россия или вообще непонятная модели сущность, а может вообще трактоваться как два отдельных слова. В целом обе эти неприятности подсвечивают один известный изъян всей системы - слишком большое доверие к семантической схожести и вытекающие из нее проблемы: размытие смысла на длинных запросах, непредсказуемое поведение имен собственных, поиск связей по частотному сходству, а не смыслу.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии9

Импортозамещаем мобильные рабочие места с помощью kvadra nau le15t

Время на прочтение9 мин

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

Это касалось не только программного обеспечения, но и железа — в первую очередь рабочих ноутбуков.

Читать далее
Всего голосов 2: ↑1 и ↓1+2
Комментарии8

Как я автоматизировал ведение финансов в Obsidian. Часть 1

Уровень сложностиПростой
Время на прочтение6 мин

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

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

Я решил автоматизировать именно этот участок. Мне был нужен локальный и понятный способ собирать данные из интернет-банков, а уже потом использовать их в своей системе заметок.

В этой части речь пойдет именно про сбор данных: как я сделал небольшой bridge-слой между банками и Obsidian. Во второй части можно будет уже перейти к тому, как эти данные встраиваются в vault.

Читать далее
Всего голосов 6: ↑6 и ↓0+7
Комментарии20

Моя работа – быть парнем, которого все ненавидят, но который всегда улыбается

Уровень сложностиПростой
Время на прочтение5 мин

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

Недавно я пересмотрел «Здесь курят» и понял: свой Ник Нейлор есть в каждом бизнесе. Если он уйдет – всё рухнет. Хорошая новость: этого можно избежать.

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии1

Zero reach typing — мастерам слепой печати

Уровень сложностиПростой
Время на прочтение2 мин

При печати на обычной клавиатуре, для нажатия функциональных клавиш, надо оттягивать мизинцы или убирать руки в стороны от блока букв. При обычной печати это не критично. При слепой печати, это начинает быть проблемой. Какое-то время назад я освоил слепую печать и первое время был в эйфории от удобства и ощущения своей крутости. Потом слепая печать стала обыденностью. Со временем, скорость печати повышалась и стал обращать внимание, что перемещать руки к BackSpace, Shift и тем более к стрелкам, стало для меня напрягающим. Искривлять кисть при движении мизинца к Shift это долго. И наступил момент, когда понял, что эту проблему уже пора решать.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии7

Интеграция TOTP в OСSERV (FreeRADIUS + FreeIPA)

Уровень сложностиСредний
Время на прочтение3 мин

В данном руководстве приведена инструкция по внедрению двухфакторной аутентификации (2FA/TOTP) для VPN-доступа на базе OCSERV (OpenConnect Server) в связке с FreeRADIUS и FreeIPA.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

StaticECS — Bitmap Entity Component System

Уровень сложностиСредний
Время на прочтение16 мин

За десятилетия существования ECS сложились два фундаментальных способа хранить компоненты: архетипы (Unity DOTS, Flecs, Bevy) и sparse sets (EnTT, LeoECS). Каждый из них несёт структурные ограничения, которые не устраняются оптимизацией реализации — они вытекают из самой модели данных.

StaticEcs — третья модель. Она основана на инвертированном иерархическом битовом индексе: не сущности хранят маски своих компонентов, а компоненты хранят битовые карты сущностей. Фильтрация запроса — это побитовое AND, обрабатывающее 64 сущности за одну инструкцию CPU. Добавление или удаление компонента меняет один бит и не перемещает никаких данных.

В статье разбираю, как устроена эта архитектура, чем она отличается от архетипов и sparse sets, и что даёт на практике.

Читать далее
Всего голосов 24: ↑24 и ↓0+27
Комментарии8
1
23 ...