All streams
Search
Write a publication
Pull to refresh
-4
Эдуард Зиганшин @e-zigread⁠-⁠only

Разработка электроники

Send message

Как в Trello оценить процессные задачи и построить их визуализацию?

Reading time8 min
Views5.6K

Если вы задавались вопросом:
- "Как четко (или почти четко) измерить эффективность процессной работы программистов, маркетологов, аналитиков, дизайнеров и на основе этих измерений построить визуализацию?" - то эта статья будет вам интересна.

В решении задачи используем язык программирования R, графики на ggplot и Trello как инструмент таск-менеджмента в том виде в котором ранее скорее всего вы его не использовали.

Разберем подробно

Лучшие практики написания комментариев к коду

Reading time7 min
Views13K

Известный профессор МТИ Гарольд Абельсон сказал: «Программы нужно писать для того, чтобы их читали люди, и лишь случайно — чтобы их исполняли машины». Хотя он намеренно преуменьшил важность исполнения кода, однако подчёркивает, что у программ две важные аудитории. Компиляторы и интерпретаторы игнорируют комментарии и с одинаковой лёгкостью воспринимают все синтаксически корректные программы. У людей всё иначе. Одни программы нам воспринимать легче, чем другие, и мы ищем комментарии, которые помогут нам разобраться.

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

Психи на работе

Reading time7 min
Views24K

Привет, Хабр! Меня зовут Андрей Ревяшко, я СТО сети Эльдорадо. Мы регулярно встречаемся с командой и обсуждаем различные окологиковские темы. Совсем недавно мы говорили про психотипы членов команды разработки и их влияние на общий результат. Поделюсь этим материалом и с вами. Уверен, что часть из вас точно возьмет его на вооружение.

Читать далее

Не клавиатурой единой: лучшие эргономичные мыши

Reading time4 min
Views41K

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

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

Ассемблер RISC-V для начинающих

Reading time12 min
Views52K

Если вы не знаете ни одного ассемблера, или, возможно, не имеете большого опыта кодинга как такового, то ассемблер RISC-V может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Конечно, материалов по ассемблеру x86 гораздо больше. Больше людей, которые могут в этом помочь. Но x86 - это чудовище, имеющее более 1500 различных инструкций.

Архитектура RISC-V, напротив, придумана специально для того, чтобы быть простой в изучении и вместе с тем, практически эффективна для реализации высокопроизводительных микропроцессоров.

Если вам необходим хороший старт, и вы не знаете ничего о микропроцессорах, вы можете прочесть мою статью "Как работает современный микропроцессор?" (How Does a Modern Microprocessor Work?).

Если вы хотите чего-нибудь простого и весёлого, можете начать с различных игр, в основе которых лежит программирование на ассемблере: Learn Assembly Programming the Fun Way.

Другим может понравиться ретропроцессор, такой, как 6502, использовавшийся в Commodore 64. Но проблема в том, что он окончательно устарел. При его разработке не учитывались реалии сегодняшнего дня.

Большой плюс RISC-V состоит в том, что он обладает современным и простым набором команд, спроектированным с учётом современных требований, таких как медленный доступ к памяти, использование предсказателя переходов, суперскалярного out-of-order выполнения команд и т.д.

Если вам интересно всё это, прочтите: Why Is Apple’s M1 Chip So Fast?

Перед тем, как мы начнём, можете распечатать это: James Zhu RISC-V Reference.

Читать далее

Эффект Даннинга-Крюгера — не то, чем кажется или Почему деление на умных и глупых — само по себе глупость

Reading time9 min
Views221K
Эффект Даннинга-Крюгера — когнитивное искажение, при котором люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации. Это довольно свежее понятие — сам феномен в такой форме был описан современными психологами Дэвидом Даннингом и Джастином Крюгером только в 1999 году, которое уже набрало большую популярность в кругах образованных людей.

Рассказ Василия Шукшина «Срезал» — художественная иллюстрация эффекта Даннинга-Крюгера в действии

Ирония популярности эффекта Даннинга-Крюгера, описывающего когнитивное искажение (bias) в том, что его упоминание само по себе выражает куда более старое когнитивное искажение — склонность людей, обладающих выраженной компетентностью в какой-либо области, к интеллектуальной сегрегации — делению людей на две категории: умных и глупых (себя, разумеется, относя к первой). Основанием для распределения других по корзинкам дураков и умников они считают собственную компетентность — и активно прибегают к упоминанию «эффекта Даннинга-Крюгера», чтобы записать кого-то в невежи, не замечая, что сами при этом, используя его таким образом, демонстрируют эффект Даннинга-Крюгера в действии.

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

Zynq 7000. Собираем Linux и RootFS при помощи Buildroot

Reading time10 min
Views18K

Продолжаем изучение SoC Zynq 7000 и разбираемся с тем, как организовать подготовку, сборку Linux для отладочной платы QMTech. В прошлой статье я рассмотрел процедуру быстрой сборки (без кастомизации) основных компонентов встраиваемой системы Linux и шаг за шагом прошли путь до приглашения к вводу в работающей ОС. Согласитесь, что если вы новичок - то работа была выполнена колоссальная! К счастью, всю эту работу можно автоматизировать! И в этой статье я хотел бы уделить внимание этому вопросу и рассказать как это сделать с помощью Buildroot. Эту статью можно считать логическим продолжением общего повествования о начале работы с Linux на Zynq.

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

Всем интересующимся - добро пожаловать под кат!

Читать далее

Использование coroutines из С++20 в связке с NRF52832 и GTest

Reading time29 min
Views9.3K

Появилась идея в домашнем проекте попробовать использовать сопрограммы из С++20 на маленькой железке. В качестве модуля для экспериментов был выбран E73 NRF52832. Из инструментария, который использовался в процессе разработки- arm-gcc-gnu-none-eabi 10.2, MSVC для проверки идей и прогона тестов на Windows-платформе. Изначально было в планах продемонстрировать на чем-то концепцию и как именно их можно было применять. Была идея адаптирования примера в виде мигания светодиодом, но он был слишком простой. Необходимо было придумать что-то более сложное и более полезное, что ли. Таким образом появилась идея переписать драйвер дисплея и пары фрагментов SPI-FLASH в проекте-долгострое.

Читать далее

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

Reading time3 min
Views23K


Привет, Хабр! Сегодня хочу поделиться подборкой полезных сервисов и инструментов для изучения английского, которыми я пользовался сам (а некоторыми и продолжаю пользоваться до сих пор) и поэтому могу смело их рекомендовать. Эти тулы помогут вам лучше говорить, писать и читать на английском, а еще найти собеседников для практики. Let’s go!
Читать дальше →

Covid fake FAQ___draft_final_4 (окончательное доказательство)

Reading time28 min
Views83K

Как говорил доктор Хаус: Все врут.

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

Текст разделен на две части: Ковид в частности и вирусология в общем.

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

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

Покажите же мне всю правду!

О чем вы много думали, но боялись узнать #1 — аденовирусная векторная вакцина

Reading time8 min
Views80K

Доброго дня, уважаемые хабровчане. Я решил освещать некоторые вопросы в сфере медицины в формате мини-текстов по определенным темам. В последнюю неделю самой горячей темой была вакцинация в России, а именно вакцина Спутник V (Gam-COVID-Vac). В этой части я популярно расскажу, что же это за вакцина, как она действует и чего от нее можно ожидать.

Узнать

Подключение oled дисплея с контроллером SSD1306 к STM32 по I2C

Reading time3 min
Views142K
Многие, наверное, знают о таких маленьких дешёвых (меньше $3) OLED дисплеях, которые можно найти в огромном ассортименте на ebay или aliexpress. В интернете существует множество различных статей о том, как подключать эти дисплеи к Arduino и другим МК, но для STM32f10x затруднительно найти даже библиотеку. Поэтому я решил написать эту статью.

Данный дисплей имеет разрешение 128х64 пиксела и контроллер SSD1306 и подклчается к микроконтроллеру по интерфейсу I2C.

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views119K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



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

Наглядно о том, как работает свёрточная нейронная сеть

Reading time6 min
Views66K

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

Читать далее

Список ноотропов, покупка которых не окажется пустой тратой денег

Reading time5 min
Views312K

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

Читать далее

Обзор методов численной оптимизации. Безусловная оптимизация: метод линий

Reading time24 min
Views48K
image

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

Введение


Оптимизация — это процесс нахождения точки экстремального значения некоторой заданной целевой функции $f(\mathbf{x})$. Это один из крупнейших краеугольных камней прикладной математики, физики, инженерии, экономики, промышленности. Область её применений необъятна и может распространяться от минимизации физических величин на микро- и макроуровнях до максимизации прибыли или эффективности логистических цепочек. Машинное обучение также заострено на оптимизации: всевозможные регрессии и нейроные сети пытаются минимизировать ошибку между предсказанием и реальными данными.

Экстремум может быть как минимумом, так и максимумом, но обычно принято изучать любую оптимизацию исключительно как поиск минимума, поскольку любая максимизация эквивалентна минимизации из-за возможности поменять знак перед целевой функцией: $f(\mathbf{x})\to -f(\mathbf{x})$. Следовательно, в любом месте ниже под оптимизацией мы будем понимать именно минимизацию.
Читать дальше →

Тюнинг переходных отверстий печатных плат

Reading time10 min
Views53K
Давайте поговорим про проектирование переходных отверстий — для серьёзной электроники их качество очень важно. В начале статьи я осветил факторы, влияющие на целостность сигнала, а потом показал примеры расчёта и тюнинга импеданса одиночных и дифференциальных переходных отверстий.


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

Ref-qualified member functions

Reading time3 min
Views22K
В этом посте я расскажу о новой и (как мне кажется) относительно малоизвестной фиче C++ - reference-qualified member functions. Расскажу о правилах перегрузки таких функций, а также, в качестве примера использования, расскажу, как с помощью ref-qualified функций можно попытаться улучшить схему управления ресурсами, реализуемую с помощью другой идиомы С++ — RAII.
Читать дальше →

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

System Software Engineer, Hardware Engineer
Senior
From 225,000 ₽
C++
Qt
Verilog HDL
VHDL
C
Git
Linux