Search
Write a publication
Pull to refresh
2
0
Александр @DarkWolf13

Инженер

Send message

Техсобесы — это просто, но есть нюанс… Часть 2: Зазеркалье

Level of difficultyEasy
Reading time10 min
Views10K

Эта статья является некоторым логическим продолжением предыдущей — «Техсобесы — это просто, но есть нюанс…». Я делился своим опытом прохождения технических собеседований, и в комментариях отметили, что это очередная статья о том, как соискатель должен выполнить всю работу за рекрутера. Поэтому сегодня я постараюсь взглянуть на процесс с другой стороны стола.

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

TL;DR: Знайте границы. Не расслабляйтесь. Готовьтесь и не тратьте время впустую. Понимайте зачем. Ищите релевантное. Проверяйте базу, а не частности. Понимание важнее знания. Задачи совсем не про код. Будьте открыты. Будьте таким интервьюером, которого хотели бы видеть с той стороны стола. Успехов!

Читать далее

Как сберечь файлы, произведенные сотрудниками на локальном компьютере? Мы синхронизируем их со своим сервером Synology

Reading time3 min
Views4.8K

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

И вся его работа пропала. А фирма должна заново платить ему зарплату, что бы он снова произвел на свет ту же самую работу.

Читать далее

PLC Allen Bradley подключение с помощью Python

Level of difficultyEasy
Reading time2 min
Views4.1K

Привет, уважаемый читатель!

Хочу немного поведать тебе как через Python в локальной сети можно подключиться к PLC от Allen Bradley.

В свое время перепробовал кучу разных библиотек, но в один прекрасный день нашлась та самая "pycomm3".

Читать далее

О книге Билла Вагнера «Effective C#»

Reading time5 min
Views30K


Я уже много лет являюсь поклонником серии «Effective XXX», начатой Скотом Мейерсом в 1997-м году с его “Effective C++”. Книги из этой серии содержат несколько десятков советов о вашем любимом языке программирования, рассказыавя о том, что делать стоит, а чего – нет. Такие книги легко читать, и они являются отличным источником для размышлений.
Читать дальше →

Полнотекстовый нечеткий поиск с использованием алгоритма Вагнера-Фишера

Reading time3 min
Views24K
Статья написана об использовании алгоритма вычисления расстояния Левенштейна для нечеткого поиска в тексте, без использования вспомогательного словаря.

Расстояние Левенштейна используется для сравнения двух слов или двух строк, чтобы определить их схожесть. Некоторое время назад передо мной встала схожая задача — в заданной строке искать вхождение слов, словосочетаний и формул, похожих на образец.
Читать дальше →

PostgreSQL в «Тензоре» — публикации за год (#4)

Level of difficultyEasy
Reading time2 min
Views3.2K

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

Если не видели дайджест за прошлый год — время наверстать упущенное!

Читать далее

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR

Level of difficultyHard
Reading time11 min
Views5K

Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный компилятор для процессора на базе открытой архитектуры RISC-V. 

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

Читать далее

Машинное обучение и встраиваемые системы. Демонстрация возможностей

Level of difficultyEasy
Reading time6 min
Views3.1K


Одним из преимуществ технологий машинного обучения является их способность к обучению и адаптации на основе новых данных, что позволяет решать задачи распознавания образов, обработки естественного языка и поиска закономерностей и аномалий. Традиционно, собранные данные обрабатываются на серверах, однако для ряда задач целесообразнее (а иногда необходимо) использовать другой подход, называемый граничным машинным обучением (edge machine learning).


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

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

Простой саботаж в мире ПО

Reading time6 min
Views36K

В кульминационный момент Второй мировой войны ЦРУ выпустило потрясающую книгу Simple Sabotage. В ней изложены различные способы, которыми диверсанты могут снижать продуктивность компании. Некоторые из этих советов не стареют, например, раздел «Общие помехи организациям и производству»:

1. Настаивайте на том, чтобы всё выполнялось через «каналы». Не допускайте того, чтобы для ускорения реализации решений выбирались кратчайшие пути.

2. Делайте «доклады». Говорите как можно чаще и пространнее. Иллюстрируйте свои «идеи» долгими историями из жизни и ссылайтесь на личный опыт. С готовностью делайте «патриотические» комментарии.

3. По возможности отправляйте все вопросы в комитеты для «более глубокого изучения и рассмотрения». Стремитесь делать комитеты как можно больше, не менее чем из пяти членов.

4. Как можно чаще поднимайте вопросы о несущественных проблемах.

5. Спорьте о чётких формулировках в общении, протоколах, резолюциях.

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

7. Советуйте «быть аккуратными». Будьте «разумны» и подталкивайте других участников совещаний к «разумности», к тому, чтобы они избегали спешки, которая может в будущем вызвать неудобства или сложности.

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

Меня всегда поражало, насколько хорошо эти советы прошли проверку временем.

Читать далее

Архивная репликация в PostgreSQL: пошаговая инструкция

Reading time9 min
Views13K

Разбираем c Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации.

Читать далее

Градиенты наносят ответный удар: атакуем распознавание паспорта

Level of difficultyMedium
Reading time7 min
Views4.4K

В данной статье мы продолжим говорить про атаки на нейронные сети (часть 1 тут). Сегодня мы возьмем нейронную сеть, решающую реальную задачу, и покажем, какие изображения генерируют разные методы атак и как это влияет на качество распознавания с количественной точки зрения. Делать это мы будем с помощью фреймворка Adversarial Robustness Toolbox (ART).

Читать далее

Чьи права на то, что сделала нейросеть

Reading time12 min
Views13K
У меня тут возникло несколько смешных юридических коллизий с результатам работы нейросети. Я пошёл к юристу задавать тупые вопросы и получил традиционные ответы «кажется, что вот так, но это не точно».

Тупые вопросы вот:

  • Кому принадлежат права на вывод LLM вроде ChatGPT? Оператору, модели, материнской компании?
  • Если в выводе попадается кусок обучающей выборки, получается, модель меня конкретно подставляет и я внезапно становлюсь обладателем плагиата (привет, Озон, Copilot беспокоится, когда вы таску закроете). Что с этим делать?
  • Если модель обучена на сценариях одного сценариста (статьях одного автора), идеально копирует стиль и форму, учитываются ли его права как-то?
  • Когда Битлы спели новую песню полным составом, Пол Маккартни не возражал против такого обучения? Что делать с дипфейками в кино?
  • Что делать с образом гражданки Скарлетт Йохансен, которая «снялась в порно» с использованием Stable Diffusion?
  • Я сгенерил музыку для фильма с помощью сервиса со свободной лицензией, но никак не могу доказать, что она моя. Что делать в случае страйка от Ютуба?
  • Как всё это работает в российском законодательстве и вообще по миру, какие практики есть?

Начнём с того, что в России чтобы использовать в деловых целях музыку или картинку для фильма, нужно исключительное право на эту музыку или картинку. Можно по неисключительной лицензии, что рождает неисключительное исключительное право. Я сейчас ужасно серьёзен, оно реально так называется. Примерно такая же логичность сейчас царит во всей отрасли после появления LLM и генеративок для звука и изображений.
Читать дальше →

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide

Level of difficultyMedium
Reading time26 min
Views18K
image


Полагаю, многие мои читатели так или иначе знакомы с такими видеокартами, как 3dfx Voodoo. Эти легендарные графические ускорители из середины\конца 90-х годов был чуть ли не в каждой второй сборке для игр, а о их производительности слагали легенды. До сих пор есть относительно небольшое сообщество фанатов ретро-игр, которые ценят, любят и собирают с цветмета те немногие видеокарты от 3dfx, что остались в СНГ. Однако обзоров на 3dfx Voodoo много, тестов игр — тоже, а вот материала «простыми словами» о его внутренней архитектуре и более того, практической части с написанием 3D-игры практически нет! Недавно я прикупил себе Voodoo 3, и начал зубрить Programmer's Manual с желанием запилить что-нибудь эдакое… Статью я долго и упорно готовил дабы успеть к новому году и сегодня у нас с вами: краткая история компании 3dfx, подробный разбор архитектуры видеочипов 3dfx «под капотом», что должен был уметь программист 3D-графики в 90х и написание 3D-приложения на Glide полностью с нуля. Интересно? Тогда жду вас в статье!
Читать дальше →

Отсутствие обручального кольца — малоинформативный признак неженатости (у случайных людей)

Level of difficultyEasy
Reading time3 min
Views6.5K

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

Читать далее

Мой заржавелый мозг кипел. Я думал, что в 40+ лет нет смысла даже пытаться. Зачем предпринимателю идти в IT

Level of difficultyEasy
Reading time9 min
Views105K

Всё детство я что-то изобретал, ломал и чинил. Все были уверены, что я стану инженером или, в крайнем случае, телемастером. Но к окончанию вуза — а я учился на горного инженера-электромеханика — жизненный вектор изменился. Я стал изобретать, настраивать, ломать и чинить бизнесы. Был топ-менеджером компаний и делал своё — запускал кондитерское производство, продажу электроники, строительство купольных домов…

Сейчас мне 41 год, больше 15 лет я в бизнесе. Год назад я поступил в магистратуру на мехатроника-робототехника и стал изучать Python и машинное зрение. Как я пришёл к этой идее — не самое интересное (спойлер: через техническое хобби — спортивных дронов). А вот что из этого вышло и как новые знания помогают мне в бизнесе и могут помочь предпринимателям в целом — я подробно расскажу в этой статье.

Читать далее

Подключение тепловизора Seek Thermal к STM32

Reading time8 min
Views16K
Подключить тепловизор к микроконтроллеру? Без проблем! Особенно если это STM32 с интерфейсом USB Host и тепловизор Seek Thermal от Даджет!


Паяльник глазами тепловизора SeekThermal

Как выжить в Windows 7 в 2024 году, не выжив из ума

Level of difficultyEasy
Reading time6 min
Views104K


Настало время признаться в любви. Я очень люблю Windows 7: на мой взгляд, после легендарной XP это самая удачная версия операционной системы от Microsoft с точки зрения быстродействия, надежности и удобства пользовательского интерфейса. К сожалению, «семёрка» уже безнадежно устарела: она не обновляется, и кроме того, на ней не запускаются некоторые нужные и полезные приложения. Означает ли это, что Windows 7 можно окончательно списывать со счетов, или существует возможность полноценно пользоваться ей в наступающем 2024 году?
Читать дальше →

Интеграция конструкторского и расчетного ПО: Model Studio CS + Старт-Проф. Трассировка трубопроводов

Level of difficultyMedium
Reading time7 min
Views1.8K
Процессы автоматизации в некоторых сферах жизни впечатляют настолько, что порою становится тревожно за представителей некоторых профессий, рискующих остаться без работы. Но и сами «автоматизаторы»-инженеры вынуждены ежедневно обновлять знания и навыки. Однако вопрос передачи информации из конструкторской модели в расчетную и обратно все же по-прежнему стоит очень остро. Настолько остро, что многие специалисты (вне зависимости от используемого ПО) предпочитают по старинке создавать расчетные модели с нуля, только бы избежать «борьбы» с настройками импорта-экспорта, зачастую отягощенными различностью версий (по году выпуска) конструкторского и расчетного программного обеспечения. Данная статья посвящена теме повышения эффективности труда инженеров благодаря интеграции, то есть обмену данными между программами с возможной последующей обработкой этих данных.

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

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512

Level of difficultyMedium
Reading time12 min
Views13K

Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые алгоритмы обработки изображений и сигналов в довольно известной математической библиотеке IPP, максимально эффективно используя возможности процессоров. Я также исследовал производительность этих алгоритмов в процессорах на ранней стадии проектирования. 

В статье я поделюсь своим опытом оптимизации низкоуровневого кода на языке C. Рассмотрим подсистему кэша и памяти процессоров и новые инструкции AVX-512. Разберем пример ускорения копирования байтового массива данных и посмотрим, как векторизованный код позволяет сократить время работы широко используемого алгоритма замены байтов по таблице с 619 до 34 мс, то есть примерно в 18 раз. 

Читать далее

Одно нажатие, весь контроль: WireGuard VPN через Телеграм

Level of difficultyEasy
Reading time2 min
Views45K

🌐 Управление VPN через Telegram: Создай свою защищенную сеть в несколько кликов!

Привет, Хабр! Когда мир WireGuard открыл для меня свои двери, родилась идея: почему бы не создать инструмент для максимально простого управления им через Telegram? Да, есть уже проекты, такие как wg-easy, но мне хотелось чего-то своего. В итоге руки дошли, и я представляю вам wg_telegram – бот для WireGuard в вашем мессенджере.

Читать далее

Information

Rating
8,613-th
Registered
Activity