Pull to refresh
42
0
Михаил Гельвих @Mixxxxa

C++ Разработчик

Send message

Второй номер народного FPGA журнала! «Погоди-ка, а когда был анонс первого?»

Level of difficultyEasy
Reading time4 min
Views3.3K

ПЛИС-культ привет, FPGA хабрунити.

На днях состоялся анонс уже второго номера народного FPGA журнала FPGA-Systems Magazine :: № BETA (state_1). В нем 200+ страниц и 20+ статей и небольших заметок по направлениям FPGA / RTL / Verification (ПЛИС сегодня это не только про знание HDL и Vivado c Quartus'ом). Журнал бесплатный и распространяется в виде pdf-ки.

Читать далее
Total votes 52: ↑51 and ↓1+60
Comments29

Настоящий хоррор: кибербезопасность в автомобильной индустрии

Level of difficultyEasy
Reading time14 min
Views5.7K


Автопром сделал первый шаг в цифровую эпоху еще в 1967 году, когда в Германии выпустили Volkswagen Typ 3 с электронной системой впрыска D-Jetronic от Bosch. Сегодня же компьютерные системы управляют почти всеми функциями большинства авто — от режимов работы двигателя до стеклоочистителей.


Как всегда, технический прогресс имеет свою оборотную сторону: чем больше роль ПО в работе техники, тем серьезнее угрозы информационной безопасности. Риски стали выше с появлением так называемых подключенных автомобилей — connected cars. Дошло до того, что хакеры могут дистанционно перехватить контроль над машиной в реальности: теперь это не просто фантазии сценаристов «Форсажа».


В статье рассмотрим основные виды автомобильных кибератак и связанные с ними риски. Также поговорим о том, как в мире и в России пытаются бороться с такими угрозами и какие это приносит результаты.

Читать дальше →
Total votes 28: ↑28 and ↓0+35
Comments29

Как мы готовим RL для Alignment в больших языковых моделях: опыт команды YandexGPT

Reading time28 min
Views6.1K

Сегодня через API стала доступна новая модель YandexGPT 3 Lite. Одним из ключевых этапов её обучения, как и в случае с другими недавними моделями, стал этап выравнивания (Alignment), включающий в том числе стадию обучения с подкреплением (RL). Пожалуй, без этого этапа мы бы не смогли добиться такого роста в качестве, который был необходим для запуска новых возможностей и сервисов (например, Нейро). Поэтому эту статью мы полностью посвятим особенностям выравнивания моделей. 

На тему Alignment и RL было написано уже немало статей. Кажется, любой ML-инженер уже, так или иначе, сталкивался или читал о них. Поэтому мы хоть и напомним базовую информацию, но всё же сфокусируемся на тех деталях реализации, которые не на слуху. 

Читать далее
Total votes 39: ↑39 and ↓0+56
Comments3

Quansheng UV-K5/K6, трансивер, из которого можно сделать что угодно: аппаратные доработки

Reading time7 min
Views9.7K

Привет, Хабр! В прошлый раз мы рассказывали о трансивере Quansheng UV-K5/K6 и его возможностях. Сегодняшняя статья посвящена аппаратным доработкам этого дешёвого и доступного китайского девайса. С их помощью можно расширить принимаемый диапазон, обзавестись большим количеством памяти для контактов, реализовать своеобразный TeamViewer для удалённого управления трансивером и обеспечить работу в сети APRS. Приятного чтения!

Читать далее
Total votes 41: ↑41 and ↓0+61
Comments18

Люди с золотой клавиатурой: победители конкурса «Технотекст 2023»

Reading time13 min
Views8.8K

Ян Флеминг, автор романов о Джеймсе Бонде, отпраздновал завершение книги «Казино Рояль» покупкой позолоченной печатной машинки — именно такая могла быть у супергероя, чтобы после спасения мира набивать мемуары. Ум, ирония и крутой нрав — в одном знаковом поступке.

В этом году мы получили 1022 заявки на конкурс «Технотекст 2023» и, как ни удивительно, кроме дикой усталости и суток с протоколами напролёт, они принесли нам огромное удовольствие от творчества и полёта мысли людей с очевидно золотыми клавиатурами. Многих авторов мы знаем, кого‑то когда‑то сами выпустили из песочницы и самое удивительное вот что: почти все авторы — не профессиональные писатели, а люди, которые сели и написали крутой, полезный, нужный и востребованный материал. Люди, которые поделились знаниями, умениями или просто скрасили трудовые будни сотен тысяч хабровчан классным текстом. Такой вот скрытый удивительный талант, который нашёл свою реализацию. В общем, вам бы книги писать, да IT не отпускает.

Читать далее
Total votes 73: ↑71 and ↓2+131
Comments37

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног)

Level of difficultyEasy
Reading time10 min
Views40K

Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.

Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана — получить максимальный результат при минимальных затратах времени и сил.

Читать далее
Total votes 66: ↑58 and ↓8+59
Comments60

Упрощенное объяснение новой сети Колмогорова-Арнольда (KAN) из MIT

Reading time2 min
Views9.8K

В стремительно развивающейся области искусственного интеллекта новая архитектура обещает произвести революцию в понимании и создании нейронных сетей. Названная сетью Колмогорова-Арнольда (KAN), инновационная структура от MIT готова трансформировать традиционные модели своим уникальным подходом.

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments8

Почему Fedora CoreOS — это container optimized дистрибутив

Reading time9 min
Views7.5K

Fedora CoreOS на официальном сайте представлена как container optimized, container-focused, container based и так далее OS. Но что это вообще значит? Там предустановлен какой-то container runtime? А еще что? В этой статье попытаемся разобраться.
Читать дальше →
Total votes 42: ↑42 and ↓0+52
Comments2

Как получить видео с камеры обычного квартирного домофона в умный дом

Level of difficultyHard
Reading time10 min
Views27K

У меня в квартире установлен аналоговый домофон Vizit, которому больше 10 лет.

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

Разбираюсь как лучше сделать
Total votes 38: ↑38 and ↓0+55
Comments57

Загадочное дело о пропавшей точке

Level of difficultyEasy
Reading time6 min
Views16K

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

В то время клиент пользовался в документах шаблонами Microsoft Word с замещающим текстом. Каждый раз, когда сотруднику клиента необходимо было отправить документ по электронной почте или распечатать документ для отправки почтовой службой, он заменял весь замещающий текст документа (имя, фамилия и так далее).

В компании на тот момент было множество шаблонов с устаревшими версиями. В некоторых шаблонах использовались устаревшие условия договоров, в других — старый логотип компании или неправильный шрифт и так далее. Системой стало невозможно управлять, и клиент попросил нас найти решение.
Читать дальше →
Total votes 75: ↑73 and ↓2+92
Comments31

Повышение живучести SSD за счёт его превращения из QLC в SLC

Level of difficultyMedium
Reading time14 min
Views32K

В этой статье мы займёмся беспрецедентным экспериментом! Я шаг за шагом проведу вас через процесс преобразования SSD на базе QLC NAND в SLC SSD, что позволит значительно повысить его ресурс и общую производительность.

▍ Спецификация испытуемого SSD



На роль испытуемого я выбрал Crucial BX500, который мы уже много раз тестировали, освещая этот процесс как на нашем сайте, так и на YouTube-канале.
Читать дальше →
Total votes 90: ↑88 and ↓2+113
Comments82

Про кастом клаву, личный опыт

Level of difficultyEasy
Reading time3 min
Views11K

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

Читать далее
Total votes 17: ↑16 and ↓1+20
Comments15

«А поменяйте мне фсе зубы» — история пациента с Хабра

Reading time17 min
Views35K
Тут мы продолжаем рассказывать про то, как вы взаимодействуете с нашими уютными клиниками. Иван (имя пациента изменено) пришёл к нам после долгого и вдумчивого чтения блога на Хабре, а до этого лет десять, наверное, не был вообще ни у каких стоматологов.

Когда он впервые сел ко мне в кресло, у него не было вообще ни одного целого зуба. Это не преувеличение ради красного словца — реально ни одного! Спустя год и примерно пятьдесят визитов в клинику у Вани улыбка, как говорится, — на миллион! Точнее, на три.

Он сам захотел рассказать здесь свою историю. Поэтому вот.

image
Это Иван, он прошёл зубной квест на хард-левеле и радуется

Сначала будут Ванины впечатления, а потом я, Леван, его ортопед, расскажу, как мы реставрировали его зубы. И заодно про то, как мы работали со сложным пациентом, который мог сорваться и уйти в закат с любого приёма, плюс дополнительно у нас не возникла симпатия с первого раза, что неудивительно, если знать его анамнез.
Читать дальше →
Total votes 115: ↑103 and ↓12+117
Comments229

Как работает шариковая мышка?

Level of difficultyEasy
Reading time8 min
Views7.7K


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

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

Количество импульсов соответствовало пройденному пути, а для определения направления движения применялась специальная электронная схема. Ведь недостаточно просто сосчитать импульсы. Надо знать, прибавлять или убавлять координату курсора. Сегодня я расскажу про один из вариантов решения этой задачи, на базе интереснейшей микросхемы сдвоенного ждущего мультивибратора CD4528.
Читать дальше →
Total votes 42: ↑40 and ↓2+58
Comments28

Boeing 767: Как убрать, затем вернуть и снова убрать бортинженера

Reading time7 min
Views25K

Появившийся в начале 80-х, Боинг 767 стал чуть-ли не "золотым стандартом" широкофюзеляжного средне/дальнемагистрального самолёта, одним из главных новшеств которого стал отказ от третьего члена экипажа — бортинженера, что очень не понравилось одному беженцу из Венгрии, сумевшему вынудить Боинг вернуть инженеров на борт пассажирского самолёта, но ненадолго и уже точно в последний раз.

Читать далее
Total votes 70: ↑70 and ↓0+87
Comments63

Держитесь подальше от холодных хранилищ Selectel

Level of difficultyMedium
Reading time15 min
Views30K

От любви до ненависти — один шаг, это история об этом. Если вы используете или планируете использовать холодное хранилище Selectel для бэкапа, выбросьте эту идею из головы НЕМЕДЛЕННО!

Я был привлечен дешевыми тарифами холодного хранилища Selectel и настроил на них архивацию данных из 1С.

Мне так понравилось холодное хранилище Selectel, что я рекомендовал его и настроил на него у трех своих клиентов архив 1С. Ничто не предвещало БЕДЫ.

Читать далее
Total votes 103: ↑82 and ↓21+100
Comments240

Как заставить рулонные шторы поумнеть — дешевый способ автоматизировать открытие/закрытие без необходимости питания 220В

Level of difficultyMedium
Reading time4 min
Views29K

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

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

Зачем вообще делать автоматизацию штор? Это может избавить от рутины утром и вечером или даже имитировать присутствие дома, когда вас там нет.

Рулонные шторы 433 МГц и Zigbee
Total votes 25: ↑21 and ↓4+24
Comments107

Двоичный поиск против вероятностного

Level of difficultyEasy
Reading time7 min
Views6.3K

Внутри Dolt, первой в мире базе данных SQL с полнофункциональными возможностями контроля версий, таится много интересной computer science. Недавно я писал о системе хранения Dolt, в ней есть очень тонкая особенность — применение вероятностного поиска на больших выборках 64-битных целых чисел.

В любом учебном плане по Computer Science есть курс алгоритмов. Моим был CS 102, и одним из пунктов, который объяснялся в нём досконально, было то, что поиск — это, по сути, задача O(log2(N)) при условии, если данные отсортированы. За свою карьеру я многократно встречался с этим в том или ином виде — если сортируешь информацию и сохраняешь её, то стоит ожидать, что для поиска потребуется время O(log2(N)). В общем случае мы соглашаемся на время поиска O(log2(N)), потому что оказывается, что можно перебрать большой объём данных с логарифмическим коэффициентом масштабирования. Эта система работает, потому что мы уже почти автоматически сортируем всё заранее.

Но что если мы добавим дополнительные ограничения на наши данные, которые позволят нам выполнять поиск за константное время?

Будет ли эта статья историей о необязательной оптимизации? Да, будет. В этом конкретном случае поиск будет занимать гораздо меньше времени, чем чтение с диска. Мы говорим о величинах менее чем 0,1% от суммарного времени. Будет ли эта статья историей о преждевременной оптимизации? Нет, не будет. Это бы подразумевало, что мы не осознаём, что время тратится не на то. Эта статья — история о заманчивости алгоритма константного времени.

Читать далее
Total votes 20: ↑20 and ↓0+28
Comments11

Ода хейта C++

Level of difficultyEasy
Reading time12 min
Views26K

Я люблю С++. Это мой основной язык разработки на работе и в домашнем проекте. Я люблю его за скорость, за гибкость и близость к железу. Используя его, я понимаю "что происходит внутри". Я учился на нем программировать, и когда я пишу программы я "думаю на С++".

Я работаю в геймдеве, где С++ все еще популярен и ценится за все эти качества. Так же я много работал с C#, Lua, Python, немного JS и PHP. В общем, есть с чем сравнить.

Однако, у меня есть изрядная доля ненависти к С++. Я вижу в нем кучу проблем, которые не решаются годами. Я вижу как другие страдают от этих проблем.

В этой статье я хочу излить душу, за что я ненавижу С++. Мне от этого станет легче, возможно кому-то еще. Не стесняйтесь писать свой хейт (или защиту), устроим групповой сеанс терапии (или холивар)

Дисклеймер: Не стоит относиться слишком серьезно к этому тексту. Он наполнен душевной болью, и направлен лишь на релаксацию и сброс напряжения

Читать далее
Total votes 111: ↑90 and ↓21+86
Comments560

Фабрика для std::variant: как объединить compile-time и run-time, чтобы получить выигрыш от обоих

Level of difficultyMedium
Reading time18 min
Views3.4K


Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии пользовательского приложения для совместной работы сотрудников с любого устройства VK Teams

Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные паттерны проектирования, то наверняка знаете о быстро нарастающей лавине кода. Такой код сложно писать, изучать и тем более поддерживать. Сегодня я расскажу, как удалось избежать таких сложностей. Поделюсь, как можно использовать современный С++, чтобы совместить compile-time и run-time исполнение, не потеряв при этом в производительности и выразительности кода.
Читать дальше →
Total votes 13: ↑13 and ↓0+21
Comments8

Information

Rating
Does not participate
Works in
Registered
Activity

Specialization

Software Developer
Senior
C++
Python
Embedded system