Search
Write a publication
Pull to refresh
-5
@andmerk93read⁠-⁠only

User

Send message

Оживляем раритетный кассовый аппарат из девяностых

Level of difficultyEasy
Reading time13 min
Views7.5K
Приветствую всех!
Обычно, когда речь заходит о старых кассовых аппаратах, вспоминаются девайсы ещё советских времён, тогда как устройства девяностых и двухтысячных оказываются незаслуженно забыты. Тем не менее, среди них тоже были по-своему интересные экземпляры, о которых я и хочу рассказать.



Итак, в сегодняшней статье поговорим о кассовых аппаратах эпохи фискальной памяти. Узнаем, как они устроены, посмотрим на них в работе и разберёмся, какие интересные (и по нынешним временам порой нелогичные) решения в них применены.
Читать дальше →

Machine Learning в онлайн-кинотеатрах: как повысить время смотрения и понять, что одного ML мало. Часть 1

Reading time5 min
Views2.1K

Привет, Хабр. Меня зовут Алексей Жиряков, и я техлид backend-команды витрины онлайн-кинотеатра KION. Этот текст написан по мотивам моего выступления на МТС True Tech Day.

В KION мы формируем персональную витрину для каждого юзера в условиях достаточно высокой нагрузки: в пике более 600 запросов в секунду. Время ответа на запрос при этом минимально: около 160 мс. Конечно, мы используем Machine Learning (ML), но есть и другие инструменты — например, бизнес-правила, и их около 50. О различных нюансах работы KION в связке с ML и не только расскажу в двух постах. Сегодня обсудим работу витрин и полок KION, объясню, как мы строим персональную витрину, внедряем ML в баннерную полку и просчитываем тренды. Следующий пост будет про обучение нейронки и бизнес-правила. Жду вас под катом!

Читать далее

Почему BSD проиграла в битве с GNU/Linux?

Reading time5 min
Views70K

Существует множество разных операционных систем с открытым исходным кодом, и если вы пользуетесь одной из них, то почти наверняка она будет на базе ядра Linux и набора программ GNU. Многие думают, что дистрибутив GNU/Linux и был первой open source операционной системой. Но это не так. Его опередил проект Berkeley Software Distribution, или BSD. Причем будет справедливо сказать, что он был также более профессиональным и ориентированным на рынок. Но почему тогда BSD сейчас находится на задворках экосистемы open source, тогда как GNU/Linux играет одну из центральных ролей? Посмотрим на это с исторической перспективы.

Читать дальше →

Что вообще такое — АСУТП на заводе

Reading time9 min
Views37K
Все же знают, что такое АСУТП? Обычно бывает так: все что-то слышали, но никто точно не знает, как вся эта история работает. Мы в целом тоже не до конца знаем, но можем рассказать о практике.

image
Платы старого и нового контроллера

Начнём с того, что во всём виноват пар. Первые заводы были незамысловатыми: вода или ветер вращали колёса, они передавали движение на кузнечные меха, пилу, молот, жернова или пресс для масла. Если ветра или воды не было, то часто можно было запустить тот же процесс с ослика. А вот с появлением паровых машин появились изобретатели, которые стали пытаться прикручивать какую-то базовую автоматизацию. Жидкостные компьютеры мы сейчас пропустим и сразу перейдём к электричеству. Электричество в районе 60-х дало возможность делать логические схемы: сначала — на лампах, а потом куда более массово в районе 70-х — на транзисторах.

АСУТП на водонасосной станции может выглядеть как четыре поплавка, которые дают сигналы в реле. Упрощённую схему такой АСУТП вы можете наблюдать у себя в бачке унитаза, кстати. Более сложная схема подразумевает, что есть куча датчиков, они отдают свои данные в контроллер, который делает расчёты и сопоставляет разные показания, умеет что-то писать в память и читать разные рецепты, а на выходе управляет сервомоторами и другими штуками плюс сообщает данные соседним станкам.

Всё, конечно, чуть сложнее, но теперь вы уже разбираетесь в АСУТП.

Сейчас поговорим про такие детали, как операционные системы реального времени, которые нужны, чтобы всё это работало правильно.
Читать дальше →

Продуктовый матчинг на маркетплейсе: что происходит под капотом сравнения товаров

Level of difficultyMedium
Reading time8 min
Views2.5K

Привет, Хабр! На связи команда продуктового матчинга ecom.tech. 

Сегодня расскажем вам про машинное обучение под капотом сопоставления товаров на Мегамаркете.  В этом эпизоде объясним, как матчер Мегамаркета сравнивает ключевые сущности товаров и почему именно так.

Надеемся, статья будет полезна ML-инженерам (обсуждаем в тексте алгоритмы и математику), а также всем, кто стремится глубже разобраться в прикладном машинном обучении, на примере сервиса, которым вы, возможно, пользуетесь.

Читать далее

Государственные перевороты: бармалеи выпрыгивают как черти из табакерки. Не хотите, дети, в Африку сыграть?

Level of difficultyMedium
Reading time12 min
Views3.3K

На исторических данных за 1991-2019 год покажем, как можно "увидеть" и "выцепить" признаки переворота.  С помощью машинного обучения и ансамблевых модели. Ансамбли (конечно, не музыкальные), как показывает практика, – более эффективны в таких делах, и самое главное -  хорошо "тюнятся" и "чипуются".

*Nota Bene (та Bene, что ни разу не гессерит). При всем негативном отношении к революциям, переворотам и прочим событиям в любой части мира, это – объективная реальность, которую можно не только изучать, но и предупреждать.

Читать далее

Как мы делаем Автограф — «русское Visio»

Reading time6 min
Views23K
image
Самая первая инженерная версия редактора, не самая удобная для конечных пользователей

В России MS Visio используется для того, чтобы нарисовать планы помещений, вентиляции, пожарной сигнализации, рисовать всякие схемы работы — и так далее. Потом в какой-то момент оно пропало, а желание делать удобные схемы осталось.

Мы начинали в 1991 году с софта для автоматизации проектирования электросхем — когда вы рисовали одну схему, а по ней синтезировались недостающие участки, вроде расчёта типа и количества реле, нужного сечения кабеля и так далее. К 2010 году дорога приключений привела нас к тому, что мы начали делать уже схемы для объектов энергетики.

Сейчас мы замещаем Visio в России и поддерживаем VSD/VSDX-форматы в обе стороны.

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

Сильно упрощая, каждая схема и в нашем движке, и в движке Visio состоит из векторных элементов. Пользователь перемещает окно с полем зрения по схеме, и для этого места идёт рендер — рисуются только те элементы, которые видно. Для каждого масштаба делается пререндер этого вектора с разной детализацией, то есть пользователь каждый момент времени работает со всего одной группой SVG-элементов. Всё остальное только кажется схемой из деталей, на самом деле — это единая отрендеренная большая картинка.
Читать дальше →

Знакомьтесь, «Незнакомое». Как мы сделали новый режим для Моей волны

Reading time8 min
Views8.6K

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

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

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

Читать далее

Ликбез по типизации в языках программирования

Reading time12 min
Views533K
image

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

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

Как сделать простые метрики для оценки полосы пропускания сети?

Level of difficultyMedium
Reading time3 min
Views4.6K

Если вам важна высокая стабильность и скорость сети на ваших серверах, тогда вам надо отвественнее подойти к выбору провайдера. В данной статье я показываю, как добавить метрики и дешборды в Grafana для оценки скорости сети с помощью speedtest-exporter.

Читать далее

Цифровые двойники и современная архитектура обучения

Reading time5 min
Views1.1K

Данная статья является обобщением ранее разбираемых мной тем по современным образовательным технологиям, применительно к реальной задаче обучения специалистов в области бурения (персонала буровых установок разведочного и эксплуатационного бурения), а также специалистов в области ТКРС (текущего и капитального ремонта скважин).....

Таким образом, у нас получилось, используя современные стандарты и современные технические средства обучения, полностью воспроизвести процесс, который реально происходит в реальных рабочих условиях в буровых и сервисных компаниях. Это, в свою очередь, резко поднимает качество и эффективность учебного процесса в колледжах (СПО), ВУЗ, учебных центрах и других учебных подразделениях, обучающих специалистов в области бурения и капитального ремонта скважин.

Читать далее

Идет расследование беспрецедентного по масштабам подлога в исследованиях нейродегенерации

Level of difficultyMedium
Reading time19 min
Views32K

Падение на дно профессиональной этики титана исследований шокировало научное сообщество. Невропатолог Элиезер Маслия, автор более чем 800 научных статей, специалист с мировым именем в изучении α -синуклеина (белка, играющего важную роль в патогенезе болезней Альцгеймера и Паркинсона), обвинен в фальсификации изображений в публикациях на протяжении 26 лет.

26 сентября 2024 Национальный институт старения (NIA) объявил о снятии Маслия с должности научного директора Отдела нейронаук после девятимесячного внутреннего расследования, заключившего: «в двух публикациях обнаружены фальсификация и/или фабрикация данных, выражающаяся в повторном использовании одних изображений для иллюстрации результатов различных экспериментов».

В тот же день журнал «Science» опубликовал расследование репортера Чарльза Пиллера и команды аналитиков изображений, которые подготовили 286-страничный отчет по 132 статьям с дублированными или подделанными изображениями. Все результаты авторы выложили для peer-review по ссылке.

Читать далее

Кратко про библиотеку mlfinlab: инструмент для финансового ML

Level of difficultyMedium
Reading time4 min
Views2.8K

Привет, Хабр!

Сегодня мы рассмотрим такую замечательную библиотеку как mlfinlab.

Если вы пытались применить методы машинного обучения к финансовым данным, то наверняка сталкивались с массой подводных камней: от шумных данных до проблем с автокорреляцией. mlfinlab — это библиотека, которая реализует передовые техники из книги Маркоса Лопеса де Прадо "Advances in Financial Machine Learning". Она позволяет не изобретать велосипед, а использовать проверенные временем методы для решения сложных задач финансового ML.

Читать далее

Почему СУБД такие медленные

Level of difficultyMedium
Reading time11 min
Views39K


Недавно на Хабре публиковался перевод статьи «Просто выберите Postgres» (оригинал, англ. яз) с аргументами, что Postgres — оптимальная БД для десктопных и мобильных приложений. Аналогичное мнение высказывают в других популярных статьях вроде «До свидания MongoDB, здравствуй PostgreSQL». Главным недостатком SQLite называют то, что данные хранятся в одном файле, а MongoDB (а также DynamoDB и Cassandra) — низкую производительность:

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

…Если паттерны доступа существенно изменятся, то может потребоваться полная повторная обработка всех данных».

Более производительные резидентные БД хранят данные в памяти (Redis, Valkey), но их использование ограничено объёмом ОЗУ.

После такого заявления интересно посмотреть на независимые тесты производительности разных СУБД.
Читать дальше →

Low-code инструменты для разработки ПО — сплошной обман

Level of difficultyEasy
Reading time4 min
Views17K
Я пишу ПО под заказ уже многие годы, и одна из ситуаций, которые раздражают меня больше всего – это когда клиент принимает позицию, что существует некая палочка-выручалочка, которая сократит, а то и вовсе устранит всю сложность, присущую той или иной задаче. Такое случается чаще, чем можно подумать, и знаете что? Такие клиенты почти всегда заблуждаются.

Возможно, с возрастом я становлюсь болтливее, чем следовало бы, но правда в том, что создавать программы для других людей – задача невероятной сложности. И проблема здесь не в языках программирования, инструментах и парадигмах, как склонны считать те, кто далек от практической стороны (то есть не пишет код). На самом деле, трудности возникают из-за того, что клиенты и разработчики не выделяют должного времени на то, чтобы разобраться в глубинных истоках проблемы, которую пытаются решить, и не проектируют решение исходя из тех выводов, к которым придут в процессе.
Читать дальше →

Насколько нам нужно визуальное программирование?

Level of difficultyMedium
Reading time10 min
Views23K

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

На мой взгляд, те, кто работает с визуальным программированием, гораздо больше преуспеют, если начнут с аспектов программного обеспечения, которые разработчики уже визуализируют.
Читать дальше →

Разговор с быдло-кодером

Reading time18 min
Views6.2K

Вернемся к одному из проектов дистрибутива программной платформы SimInTeh,  который был рассмотрен в двух статьях(см. [1, 2]). Он же под именем "Управление водонагревательным котлом" включен в раздел "Лабораторные работы по библиотекам" справочной системы SimInTech. Последнее должно предъявлять к нему повышенные требования, как к примеру, поясняющему, рекламирующему те или иные стороны и возможности программной платформы. Одним словом, он должен быть идеальным ...

Только недавно одна из найденных в нем ошибок  была устранена. Но не это знаменательное событие было причиной вернуться к данной теме, а пришедшая примерно в это же время рассылка, рекламирующая возможности "новейшей российской инженерной платформы Engee". В числе прочих ее достоинств описывались включенные в платформу конечные автоматы  (КА)[3], а в видео по ссылке прослеживалась явная любовь к светофорам. Но  нагреватель в этом смысле ни чуть не хуже, а даже предпочтительнее.

Но "спусковым крючком" стал эмоциональный всплеск не самой положительной оценки данной конечным автоматам (подробнее см. [4]). Примечательно, что прозвучал он со стороны тех, кто ранее ввел этот инструментарий в свою платформу и, как можно предполагать, использует. Видимо, они лучше знают возможности своих автоматов? Но, если серьезно, то это, скорее всего, результат отмеченного "всплеска", который за истину воспринимать не стоит. Тем не менее, необходимо что-то уточнить,  чтобы учесть и такое мнение о КА. 

Итак, перед нами проект "Нагреватель" или "Управление водонагревательным котлом". Я не смог сразу найти проект в ВКПа к тем еще статьям, но, если честно, не сильно его и искал, т.к. решил, что проще создать новый. Хотелось проверить, что получится, если повторить в ВКПа автоматы, полностью аналогичные ранее созданным программным автоматам на внутреннем языке платформы SimInTech. А поскольку они были спроектированы согласно концепциям автоматного программирования, то препятствий не предполагалось. Но ... воистину - "не было этого никогда и вот опять".

Читать далее

Визуальное программирование — почему это плохая идея

Reading time6 min
Views92K
image

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

Язык визуального программирования — это такой язык, который позволяет программисту создавать программы, манипулируя графическими элементами, а не печатая текстовые команды. Известным примером является Scratch, язык визуального программирования родом из MIT, который используется для обучения детей. Его преимущества заключаются в том, что он делает программирование более доступным для новичков и не-программистов.

В 1990-х годах было очень популярное движение по внедрению визуального программирования в корпоративную среду с помощью так называемых CASE-инструментов, где корпоративные системы можно было бы определять с помощью UML и генерировать [их код] без необходимости в привлечении обученных разработчиков программного обеспечения. Это связано с концепцией «round tripping» («туда и обратно»), где система может быть смоделирована визуально, программный код будет генерироваться из полученных моделей, а любые изменения кода могут быть возвращены обратно в модель. Увы, подобные инструменты так и не смогли выполнить свою миссию, и большинство из экспериментов [по их внедрению] в настоящее время в значительной степени заброшены.
Читать дальше →

Почему технология Macromedia Flash не выжила?

Level of difficultyEasy
Reading time5 min
Views4.8K
В прошлом году я сделал большой пост про историю Macromedia Flash. Спасибо всем за интересные комментарии и вопросы. История и технические детали подробно в первом посте. По итогам той публикации и обсуждения, я записал часовое видео добавив мелкие детали, несколько личных историй (например, про зарплаты), мой опыт во Flash, что мы делали и как. Вот это видео, а внутри поста я сделал хронологию по годам: что и как происходило в мире Flash технологий.



Читать дальше →

Macromedia Flash: Взлет и закат технологии

Level of difficultyMedium
Reading time29 min
Views18K

Если никто не подведёт итог под историей Macromedia Flash, она рискует затеряться в хламе IT-подвала. Напомню, что “волшебный” плагин Flash player стоял практически на всех компьютерах мира. И в какой-то момент именно эта технология была лучшей для анимации, игр и мультимедиа. В этой статье я расскажу историю технологии и добавлю историю от лица разработчика: что мы создавали, как работали,  плюсы минусы самой платформы и ключевые события. Ну и главное, почему Flash взлетела до массового распространения, а потом потерпела поражение и осталась в прошлом. И ответить на вечный вопрос “Кто виноват?” Иная версия вопроса: Зачем Стив Джобс убил Flash? Спойлер, Джобс не виноват.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Инженер АСУТП
SQL
Python
Network administration
System administration
Server administration
PLC
PLC programming
SCADA
APCS