Pull to refresh
0
0

Пользователь

Send message

Про импортозамещение

Reading time15 min
Views250K

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

Читать далее
Total votes 595: ↑577 and ↓18+559
Comments1189

Создание шейдеров

Reading time27 min
Views187K
Освоить создание графических шейдеров — это значит взять под свой контроль всю мощь видепроцессора с его тысячами параллельно работающих ядер. При таком способе программирования требуется другой образ мышления, но раскрытие его потенциала стоит потраченных усилий.

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


Сцена из Minecraft, до и после добавления нескольких шейдеров.

Задача этого туториала


Иногда программирование шейдеров представляется загадочной чёрной магией и его часто понимают неправильно. Существует множество примеров кода, демонстрирующих создание невероятных эффектов, но в которых практически нет объяснений. В своём руководстве я хочу восполнить этот пробел. Я сосредоточусь в основном на базовых принципах создания и понимания кода шейдеров, чтобы вы смогли с лёгкостью настраивать, сочетать или писать свои собственные шейдеры с нуля!
Total votes 105: ↑105 and ↓0+105
Comments27

Почему все «прутся» в IT

Reading time17 min
Views142K

Люди уходят в IT отовсюду: из инженеров КИПиА, электротехников, начальников службы охраны, химиков, бухгалтеров, экономистов, металлургов, юристов, медбратьев, руководителей отдела рекламы. Люди уходят в IT в любом возрасте: в 20, 30, 40 лет и даже после 50. 

Зачем? Почему? Что им на месте не сидится? Почему все «прутся» в это IT? Есть несколько факторов, которые этому поспособствовали. Некоторые из них мы рассмотрим. Они на самые глобальные, но важные.

Читать далее
Total votes 248: ↑231 and ↓17+214
Comments913

Обзор отечественных микросхем, соответствующих 719 ПП РФ. Часть 2

Reading time21 min
Views35K

В 2020 году я опубликовал статью про отечественные микросхемы, соответствующие 719 ПП РФ. Напомню, что это одна из мер правительства по поддержки отечественных производителей на регулируемых государством рынках. Например, при закупках в интересах государственных органов России приоритет отдается товарам из реестра продукции выпущенной в России. Что бы продукция попала в данных реестр, она должна соответствовать требованиям, описанным в 719 и 878 ПП РФ. И одним из требований к электронной техники является применение отечественных микросхем из этого же реестра, требования к которым так же описаны в данном постановлении.

В начале 2020 в реестре было всего 22 микросхемы. К концу 21 года в реестре находится уже более 70 записей. Попробуем их рассмотреть поподробней, какие новые микросхемы появились за последний год.

Читать далее
Total votes 34: ↑33 and ↓1+32
Comments85

Скрутки, клеммники и WAGO

Reading time3 min
Views47K


В свете недавнего обсуждения возникла потребность провести измерения и получить численный ответ на вопрос: что лучше? WAGO, винтовые клеммы или скрутки меди с алюминием?
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments144

Как заменить себя скриптом. Часть 1. Режимы коротких замыканий в электросети с применением OpenCL

Reading time19 min
Views3.9K


Длительная однообразная работа неизбежно вызывает приступы автоматизации. На этот раз предпримем попытку автоматизировать настройку устройств защиты электросетей напряжением 6 — 35 кВ.

Самозародившаяся задача требует расчёта коротких замыканий, а поскольку расчётов таких предвидится немало, выполнять их будем с помощью OpenCL, для должной утилизации имеющихся вычислительных мощностей.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments17

Математика и IT

Reading time18 min
Views41K

Джорджо де Кирико. Великий метафизик (The Grand Metaphysician), 1917.

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


1) CS — создание подходов, имеющих научную новизну. Разработка новых алгоритмов. Основная цель: научная новизна, развитие CS, решение проблем CS.


2) Инженерно-конструкторская деятельность – комбинирование уже известных подходов (алгоритмов, ЯП, библиотек, технологий, исходных кодов), их адаптация под конкретную задачу. Основная цель: создание продукта для решения конкретной практической задачи.


3) Техническое обеспечение — решение типовых (зачастую тривиальных) проблем в ходе эксплуатации “железа” и софта. Обеспечение бесперебойной работы ПО и оборудования с учетом возникающих требований.


Очевидно, что в такой классификации риск неудачи убывает в каждом пункте. При работе над новым алгоритмом или устройством обычно невозможно полностью гарантировать успех. При использовании уже известных алгоритмов, языков, технологий, библиотек и готовых деталей машин – вероятность успешного исполнения работы возрастает. В последнем случае (обеспечение ) работник (должность может быть разная: инженер, системный программист, системный администратор и т.д.) исходит из минимизации замен по принципу: “не трогать то, что хорошо работает”.


Как видим цели противоположные: для научной новизны бывают нужны новые рискованные решения, а для обеспечения – наоборот. Для успешной разработки продукта, желательно применять уже опробованные зарекомендовавшие себя решения, хотя при их отсутствии может понадобится и эксперимент, как в CS.


Кому и насколько в IT нужна математика? — Попробуем ответить на этот вопрос (хотя бы частично).

Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments193

Что нам стоит чип построить? Об экономике создания микропроцессоров

Reading time12 min
Views17K

В вопросе развития отечественной микроэлектронной индустрии один из ключевых вопросов – экономический. Ведь разработка микропроцессоров – удовольствие  не из дешевых. В данной статье я попытаюсь на базовом уровне разобрать сколько стоит разработка современного general-purpose CPU  и какие партии необходимы отечественным дизайн-центрам, чтобы выйти на окупаемость.

Себестоимость микропроцессора, который в итоге дойдёт до вашего компьютера/ноутбука/сервера, можно грубо разделить на 3 составные части:

Читать далее
Total votes 48: ↑46 and ↓2+44
Comments41

Цифровой мир с несуществующим прошлым

Reading time4 min
Views15K

На дворе 2021 год и рассказы про безопасные гавани, сетевые нейтралитеты и "ничего личного, просто бизнес" уже мало кого впечатляют. Информационные посредники, поисковые сервисы и т.п.наперегонки бросились занимать позиции в разных конфликтах.

Многие рассуждают о том, какое будущее нас ждёт, но меня, как историка, больше беспокоит вопрос о том, какое же нас ждёт ПРОШЛОЕ. Причём, в основе этого беспокойства лежат общепринятые плюсы цифровых технологий: быстрый доступ к контенту из любой точки мира, и простота улучшения и обновления любых материалов.

Читать далее
Total votes 99: ↑97 and ↓2+95
Comments99

Наблюдения за переключениями между сотовыми вышками

Reading time4 min
Views24K
Одна из моих любимых книг — High Performance Browser Networking Ильи Григорика от 2013 года. В ней можно найти не только разумные советы, но и потрясающие истории из жизни.

46% заряда аккумулятора тратится на передачу 0,2% байтов


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

Однако после этой передачи приложение каждую минуту отсылает пинги для периодического анализа аудитории. И что в итоге? Эти пинги занимают 0,2% от общих переданных данных, потребляя при этом 46% всей энергии, использованной приложением!

Илья Григорик, High Performance Browser Networking

Читать дальше →
Total votes 9: ↑5 and ↓4+1
Comments15

Помогите Снежинке стать программистом

Reading time3 min
Views37K

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

Итак, Снежинка хочет стать программистом. Теперь несколько деталей.

Читать далее
Total votes 122: ↑89 and ↓33+56
Comments205

Сайт сына маминой подруги

Reading time4 min
Views101K

Бывает, когда меня нанимают починить или взять на поддержку сайт, то я открываю его исходники и хочу воскликнуть: "А у кого вы его украли?" Потому что качество исполнения и сложность технологий значительно превосходят обыденные для такого класса сайтов. После того как я озвучиваю цену за поддержку подобного сайта и получаю в ответ недоумение, мне хочется уже кричать: "Что происходит?!"

Читать далее
Total votes 283: ↑269 and ↓14+255
Comments366

90 рекомендаций по стилю написания программ на C++

Reading time20 min
Views408K
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.

1 Введение


Настоящий документ содержит рекомендации по написанию программ на языке C++.

Рекомендации основаны на установившихся стандартах, собранных из различных источников, личного опыта, частных требований и потребностей определённых проектов, а также почерпнутых из источников (см. ниже).

Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Читать дальше →
Total votes 181: ↑137 and ↓44+93
Comments213

USB на регистрах: interrupt endpoint на примере HID

Reading time10 min
Views9.1K


Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: isochronous endpoint на примере Audio device

Продолжаем разбираться с USB на контроллерах STM32L151. Как и в предыдущей части, ничего платформо-зависимого здесь не будет, зато будет USB-зависимое. Если точнее, будем рассматривать третий тип конечной точки — interrupt. И делать мы это будем на примере составного устройства «клавиатура + планшет» (ссылка на исходники).
На всякий случай предупреждаю: данная статья (как и все остальные) — скорее конспект того, что я понял, разбираясь в этой теме. Многие вещи так и остались «магией» и я буду благодарен если найдется специалист, способный объяснить их.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments4

Как можно использовать шейдеры в Android View и как Android View может использовать шейдеры

Reading time17 min
Views4.8K

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

В этой статье я расскажу как использовать стандартные GLSL шейдеры OpenGL в вашем пользовательском view, которое является наследником класса Android View (android.view.View). Я предлагаю вам использовать это решение, если вы работаете над чем-нибудь из нижеперечисленного:

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

Взлом английского. Язык и реальность

Reading time16 min
Views29K

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

Система, описанная в статье, перевернет ваше представление об изучении языков. Я на это надеюсь. Но это случиться только если не спешить, читать внимательно и вдумчиво и связывать все тезисы между собой. Используйте систему 2 на полную катушку.

Взять красную таблетку
Total votes 37: ↑22 and ↓15+7
Comments81

Архитектура архитектуры архитектора

Reading time6 min
Views21K

Архитектор – это звучит… Звучит как-то не понятно. Наверное, поэтому всегда добавляют что-то. Ну типа «системный архитектор» или там «программный архитектор». Не то чтоб так стало понятно, что он делает, но точно кто-то важный. Я вообще пишу «архитектор информационных систем и программного обеспечения». Это ж как назовёшься -так и поплывешь! С архитекторами тут вообще такое дело – это как бы и не профессия. Ведь архитектором как стать? Либо тебя назовут таковым, либо сам назовёшься. Другого пути нет. Ни школы, ни спец. образования, никаких то там универсальных сертификатов нету. Только название и есть.

А раз оно есть – значит зачем-нибудь нужно! А нужно чтоб как-то указать на необходимость главного элемента мозаики – архитектуры. А раз нужен элемент, то за него, конечно, должен кто-то да отвечать. А раз должен, то вот и появляется такая должность.

Появляется, кстати, не всегда и не везде. Ведь не в каждой луже можно встретить кораблик. В самых больших - есть шанс. В такие лужи обычно и заплывают корабли из стартрека. Enterprise. Что же ищут эти корабли в корпоративных болотах? Чтоб вода не иссыхала, ветер только попутный и кругом гавани с блекджеком… Проще говоря им нужен сервис на много лет и так, чтоб исполнялись все их капризы за обещанные деньги.

Чтоб избежать проверенного классического сценария «много, дорого, бестолково» нужны ориентиры. Пунктир намеченного пути на карте требований и функционала. Это не красота и элегантность рисунков Леонардо, и не лабиринты цвета Поллока. Архитектура вообще не про искусство. Нет, все любят, когда красиво. Вот я бы строил дом, тоже бы хотел не бетонную коробку, а чтоб в вечность. Но у вечности, однако свои расценки. Так что даже Джи-мэн с кейсом полным золота хочет хайп и тренды, но строго в бюджет. Архитектура даёт парадигму.

Read more
Total votes 33: ↑26 and ↓7+19
Comments26

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Reading time7 min
Views111K

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Как телефон взаимодействует с автомобилем
Total votes 109: ↑109 and ↓0+109
Comments123

Рисуем фракталы Мандельброта с помощью языка GIMP Script-Fu

Reading time9 min
Views4K


Программа GNU Image Manipulation Program (GIMP) – моё решение проблемы редактирования изображений. Набор инструментов у этого редактора очень мощный и удобный, за исключением инструментов, чтобы генерировать фракталы, которые нелегко нарисовать вручную. Фракталы – увлекательные математические конструкции, обладающие свойством самоподобия. Другими словами, если их увеличить в любой области, они будут удивительно похожи на картину до увеличения. Помимо того, что они интересны, они также делают очень красивые картинки!

Приятного чтения!
Total votes 10: ↑10 and ↓0+10
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Registered
Activity