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

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

Send message

Основные команды GIT

Level of difficultyEasy
Reading time23 min
Views12K

Научись использовать Git как профессионал. Эта статья поможет тебе освоить самые популярные команды Git на реальных примерах. Узнай, как добавлять изменения, создавать коммиты, переключаться между ветками, объединять изменения и синхронизировать проект с удалённым репозиторием.

ОГОГО, что там далее!? ...

Организация собственной библиотеки на сервере с веб-интерфейсом

Level of difficultyEasy
Reading time6 min
Views5.9K

Привет! Наверное, у каждого рано или поздно возникает вопрос: как упорядочить хаос с купленными (да, мы же против пиратства?) книгами в форматах PDF, DJVU и других, так чтобы:

- получить к ним доступ как с мобильного устройства, так и с любимого ПК или Mac;

- сохранять прогресс чтения между устройствами;

- не терять книги в куче папок.

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

Читать далее

Топ российских мессенджеров для работы в команде. Чем заменить WhatsApp и Telegram

Level of difficultyEasy
Reading time12 min
Views14K

Вероятность блокировки Telegram и WhatsApp только становится только выше. 10 июня Госдума приняла закон о создании российского национального мессенджера. Мы собрали топ корпоративных мессенджеров, которые могут стать достойной заменой WhatsApp и Telegram. 

Читать далее

Что не так? Три парадокса теории вероятностей

Level of difficultyEasy
Reading time8 min
Views39K

Парадокс двух детей Вы встретили на прогулке соседей с сыном. Известно, что у них двое детей. Какова вероятность, что второй — тоже мальчик?

Казалось бы, детская задачка, где нужно просто “вспомнить формулу”, но всё не так однозначно. Если задать этот вопрос прохожему, он, скорее всего, скажет ½. Преподаватель математики, возможно, ответит ⅓. Кто из них прав?

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

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

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

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

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

А пока — вернёмся к соседям с мальчиком. Разберемся, почему эта задачка не так проста, как кажется на первый взгляд.

Читать далее

Упрощение прототипирования и верификации RTL с помощью Python

Level of difficultyEasy
Reading time2 min
Views1.4K

Всем привет!

Хочу поделиться своим опытом использования Python на этапах прототипирования RTL-модулей и последующей верификации. Как RTL-инженер, я часто создаю модели на Python для быстрой проверки логики и алгоритмов будущего RTL. Это подход уменьшает вероятность последующих правок в логике RTL в случае если алгоритм не подходит. Однако при переходе к тестированию на SystemVerilog всегда возникала проблема с переиспользованием написанной Python модели устройства: нужно было писать обвязку на C и использовать DPI-C интерфейсы, чтобы интегрировать Python-код модели в верификационную среду. Это занимало время и было неудобно.

Недавно я открыл для себя библиотеку PyStim (Bind Python & SystemVerilog), которая кардинально упростила процесс. PyStim позволяет напрямую вызывать Python-методы и работать с Python-объектами из среды SystemVerilog без необходимости писать обвязку на C или использовать DPI-C. Это значительно снизило трудозатраты и ускорило адаптацию уже готового Python-кода в тестбенче.

Читать далее

Я 25 лет настраивал фотоаппарат, выстраивал композицию, ставил свет, а потом пришла нейросеть

Level of difficultyEasy
Reading time7 min
Views34K

Эту историю для моего блога рассказал профессиональный фотограф Олег Цербаев

В начале 2000-х появилась цифровая фотография, мир раскололся на два лагеря: «Это не искусство!» против «Это будущее!». За три года в рекламной индустрии почти не осталось фотографов старше 40 лет. Крупные журналы начали работать с молодыми ребятами, фотоиндустрия в итоге выросла в разы. То, что происходит сейчас с нейросетями — намного масштабнее. Это не просто новый инструмент в нашем арсенале, а целая новая реальность.

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

Читать далее

Потрясающие фотографии Млечного Пути от лучших астрофотографов

Level of difficultyEasy
Reading time5 min
Views7.8K

Ежегодное цветение люпина в Новой Зеландии впечатляет: поля разноцветных цветов простираются через бассейн Маккензи. Этот регион в самом сердце Южного острова славится своим тёмным небом, что делает эту сцену ещё более сюрреалистичной в ночное время. Над цветами видна полоса внешнего Млечного Пути, а также созвездия Ориона, Близнецов и Плеяд. К ним присоединяются яркие планеты Юпитер и Марс, а на горизонте видно зелёную аврору.

Читать далее

Как выбрать очки, чтобы не ослепнуть

Level of difficultyEasy
Reading time23 min
Views4.8K

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

Мы пригласили Марию Трубилину — офтальмолога, к.м.н. эксперта в области оптической коррекции зрения, чтобы объяснить:

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

- Почему прогрессивные очковые линзы — оптимальное решение для комфортного зрения с определенного возраста.

- Как выбрать оправу, чтобы не было стыдно на Zoom-митингах.

- Почему «капли для глаз» не работают для профилактики падения зрения.

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

Читать далее

Доступ к приватным методам класса в С++

Level of difficultyMedium
Reading time8 min
Views5.8K

В C++ инкапсуляция — один из ключевых принципов ООП, и приватные (private) члены класса защищены от прямого доступа извне. Однако иногда возникают ситуации, когда такой доступ необходим (например, при тестировании, сериализации или отладке). Обычно для этого используют friend-функции или геттеры/сеттеры, но есть и более экзотический способ — использование шаблонов и указателей на члены класса.

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

Читать далее

Атрибуты Хорошего Loader-a

Level of difficultyEasy
Reading time7 min
Views3.1K

В программировании микроконтроллеров периодически приходится писать клиентские PC программы для загрузки *.hex файлов в микроконтроллер через загрузчик.

Обычно в названии этих утилит присутствует слово loader.

В этом тексте я попробовал порассуждать на тему того, каким же атрибутами должна обладать эта самая утилита FW_Loader.

Читать далее

JavaScript: структуры данных и алгоритмы. Часть 11

Level of difficultyMedium
Reading time25 min
Views3.8K


Привет, друзья!


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


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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

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

Как работает Node.js

Level of difficultyMedium
Reading time22 min
Views14K



После прочтения этой статьи вы хорошо поймете следующее:


  • как работает цикл событий (event loop) в Node.js, включая все его фазы
  • как Node.js выполняет JavaScript в одном потоке (single thread)
  • как Node.js использует библиотеку libuv и внутренние API для обработки асинхронных операций
  • почему знание работы цикла событий так важно для написания эффективного серверного кода

Понять, как JS работает "под капотом" в браузере (см. эту короткую 15-минутную статью), проще, чем понять устройство Node.js. В браузере нет сложных фаз и многослойных механизмов, как в Node.js.


Но почему в Node.js все устроено сложнее? Зачем столько фаз, которые так непросто понять?

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

Устанавливаем Qt на Windows без регистрации и vpn (почти). Часть 2. В мире зеркал

Level of difficultyEasy
Reading time4 min
Views5.5K

Последние время установка фреймворка Qt через официальный qtinstaler у пользователей из России несколько осложнена. Однако, существует ряд альтернативных вариантов получения необходимых библиотек (методы отсортированы от сложного и долгого к простому и быстрому):

Читать далее

«Квантовые компьютеры» — величайший маркетинговый миф века?

Level of difficultyMedium
Reading time18 min
Views30K

В прошлый раз мы разбирали (и отлично так разобрали, на 200+ комментариев), почему нейросети на самом деле не являются сильным ИИ, а само появление последнего весьма маловероятно. Сегодня объектом нашего рассмотрения станет следующая священная корова технологического прогресса — так называемые «квантовые компьютеры», которые в воображении адептов уже практически готовы и вот-вот начнут вести нас за ручку в золотой век человечества.

На самом же деле…впрочем, читайте дальше!

Свободные инструменты для программирования FPGA

Level of difficultyMedium
Reading time4 min
Views3.1K

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

Читать далее

Создаем картотеку людей в Obsidian максимально лениво или «Тронул мышку — проиграл»

Level of difficultyEasy
Reading time7 min
Views14K

Я уже писал на Хабре статью, что такое СДВГ и как он влияет на жизнь. Жизнь с СДВГ создаёт свои трудности и я (как имеющий этот синдром) ненавижу и максимально стараюсь избегать любую рутину.

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

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

Читать далее

Материя, которой нет: как кварки рисуют Вселенную (и почему 99% вашего тела — это энергия)

Level of difficultyEasy
Reading time9 min
Views36K

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

Читать далее

Собираем и запускаем минимальное ядро Linux

Level of difficultyHard
Reading time9 min
Views15K

Однажды на работе техлид порекомендовал мне проштудировать книгу Understanding the Linux Kernel Бове и Чезати. В ней рассмотрена версия Linux 2.6, сильно не дотягивающая до более современной версии 6.0. Но в ней явно ещё много ценной информации. Книга толстая, поэтому на её изучение мне потребовалось немало времени. Занимаясь по ней, я решил настроить такую среду разработки, в которой я мог бы просматривать и изменять новейшую версию ядра Linux — чтобы было ещё интереснее.

Есть и другие статьи, в которых рассказано, как собрать ядро Linux. Но в этой статье я немного иначе организую и подаю информацию.

Читать далее

Роль микробиома и микробиоты в нашем организме

Level of difficultyMedium
Reading time19 min
Views2.7K

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

Читать далее

Сборка на CMake для новичка

Level of difficultyEasy
Reading time6 min
Views8K

Сборка проектов на CMake вызывает множество вопросов у новичка. Так как это ударило непосредственно по мне, я решил показать и рассказать о том, как быстро создать универсальные скрипты для сборки на CMake.

Читать далее

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