Pull to refresh
25
Karma
0
Rating

Тандем Cpp/Dot для Описания Сложных ToolСhain(ов)

Reading time 19 min
Views 2.3K
CAD/CAM *C *Programming microcontrollers *Circuit design *Technical Writing *
Tutorial

Разработка современного софта это далеко не только про код.

Разработка современного софта это во многом про ToolСhain(ы). Прежде чем начать исполняться исходники проходят гигантский путь. C каждым поколением выходят все более и более массивные системы сборки.
Современные технологии разработки софта это многостадийные конвейеры из различных утилит. Понять их весьма сложно, но можно. А поможет нам в этом хипстерский язык программирования Dot.

Читать далее
Total votes 13: ↑10 and ↓3 +7
Comments 8

Навигатор для трактора или эмиграция с цифрами в 2022

Reading time 15 min
Views 8.4K
IT-emigration


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 69

Эмуляция видеоигр нейросетью

Reading time 12 min
Views 14K
Machine learning *Artificial Intelligence Games and game consoles
Translation
Я создал играбельный верхний мир Pokémon. Он очень похож на обычную видеоигру, можете попробовать сыграть в него в браузере здесь:


Хотя он похож на видеоигру, я не писал код игры. На самом деле это нейросеть, подражающая видеоигре.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 51

Как сдать английский язык на сертификат ESOL SELT В1 для визы Skilled Worker

Reading time 6 min
Views 5.8K
Learning languages

Знакомый айтишник собрался подаваться на британскую визу. Среди прочих документов для подачи на Skilled Worker visa потребовался сертификат В1, которого у него не было, и надо было срочно готовиться к экзамену. Поэтому он обратился ко мне, как к преподавателю английского.  Делюсь собранными данными, своими рекомендациями, если вы соберетесь сдавать SELT В1, и личным опытом моего знакомого. Приложенные скриншоты взяты из видео LanguageCert с информацией по прохождению Listening/Reading/Writing /Speaking, которые доступны здесь и здесь. Материалы с пробными экзаменами, включая аудиоматериалы и ответы, можно скачать по ссылке.

Запись на сдачу, cтруктура экзамена и тайминг

Записаться в любой из центров можно здесь. Экзамен состоит из двух блоков (чтение/аудирование/письмо и устная часть) и в Армении проходит в American University of Armenia. Необходимо выбрать дату отдельно на обе части. Знакомый записывался на сдачу за месяц до экзамена. Он выбрал временные слоты таким образом, чтобы пройти все части за один день, и заплатил 235 долларов по карте он-лайн. 

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

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

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 6

Ламповые часы Nixie clock своими руками

Reading time 6 min
Views 47K
Circuit design *DIY Electronics for beginners
✏️ Technotext 2021

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



Картинка кликабельна


Приятного чтения.

Под катом будет много фото...
Total votes 45: ↑44 and ↓1 +43
Comments 37

Автоматизация тестирования при разработке прошивок радиоэлектронных устройств

Reading time 11 min
Views 7.2K
Global Positioning Systems *IT Infrastructure *Manufacture and development of electronics *Software Electronics for beginners
✏️ Technotext 2022

Занимательный факт. Исходный код программы бортового управляющего компьютера лунного модуля Аполлон 11 содержит 64830 строк. Исходные коды прошивок навигационного приемника, которые мы в МЭИ разрабатываем последние десять лет, содержат 217510 строчек на C++ и 181236 строчек на SystemVerilog. И я всё жду, когда это количество перейдет в качество.

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

Читать далее
Total votes 37: ↑36 and ↓1 +35
Comments 29

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Reading time 15 min
Views 912K
Open Data Science corporate blog Python *Data Mining *Data visualization *Machine learning *


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут).

Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Comments 61

Визуализация данных при отладке в Visual Studio Code

Reading time 2 min
Views 13K
VDSina.ru corporate blog Website development *Visual Studio *Unity3D *


Вообще Debugger Visualizers для обычного Visual Studio — это очень старая тема (статья 2009 года), но не очень популярная. В большинстве случаев принято учить сразу дебажить, представляя процессы в голове, а штуки вроде сортировок и списков показываются на доске. В вебе часто визуальную часть предоставляет браузер, и все всем довольны. Но бывает, что списки или деревья в голове уже не умещаются, таблицы хочется отсортировать, а графики строить не выходя из среды отладки. Для всего этого и был создан плагин для VS Code — Debug Visualizer.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 0

Составляем DNS-запрос вручную

Reading time 7 min
Views 43K
IT Infrastructure *Network technologies *IT Standards *Network standards *
Tutorial
Translation
Об авторе. Джеймс Рутли — бэкенд-разработчик в компании Monzo.

В этой статье мы изучим двочиный формат сообщений Domain Name Service (DNS) и напишем вручную одно сообщение. Это больше, чем вам нужно для использования DNS, но я подумал, что для развлечения и в образовательных целях интересно посмотреть, что находится под капотом.

Мы узнаем, как:

  • Написать запросы DNS в двоичном формате
  • Отправить сообщение в теле датаграммы UDP с помощью Python
  • Прочитать ответ от DNS-сервера

Писать в двоичном формате кажется сложным, но в реальности я обнаружил, что это вполне доступно. Документация DNS хорошо написана и понятна, а писать мы будем маленькое сообщение — всего 29 байт.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 8

Эмулятор RFID

Reading time 14 min
Views 59K
RUVDS.com corporate blog Abnormal programming *Programming microcontrollers *Circuit design *DIY
🔥 Technotext 2020

Эмулятор карт EM Marine



Наверняка каждому из нас, кто хоть раз бывал в обычных офисах, было интересно, как же функционируют эти бесконтактные пропуска. В данной статье мы разберёмся с принципом работы бесконтактных карт и сделаем эмулятор буквально из трёх радиодеталей.
Читать дальше →
Total votes 172: ↑168 and ↓4 +164
Comments 91

Склеиваем несколько фотографий в одну длинную с помощью компьютерного зрения

Reading time 4 min
Views 19K
Abnormal programming *Python *Programming *Image processing *Machine learning *
В предыдущих статьях был описан шеститочечный метод разворачивания этикеток и как мы тренировали нейронную сеть. В этой статье описано, как склеить фрагменты, сделанные из разных ракурсов, в одну длинную картинку.
Читать дальше →
Total votes 101: ↑101 and ↓0 +101
Comments 30

Google говорит, университеты больше не нужны

Reading time 7 min
Views 30K
Productivity Inside corporate blog Studying in IT Education abroad IT career
Translation

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

Для многострадального образовательного сектора, который и без того осаждают проблемы вроде спада в числе абитуриентов, черепашьего темпа изменения учебных программ, затруднений с переходом на дистанционное обучение и слишком высокой стоимости, этот ход со стороны Google и его сотрудников, возможно станет началом давно назревающего цифрового переворота.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 126

Стабилизация видео с движущейся камеры, или как перевести всё в неподвижную систему координат

Reading time 8 min
Views 4.8K
Python *
Sandbox

Сейчас возможности Computer Vision (CV) полностью перекраивают ландшафт рынка Public Safety solutions. В то время как традиционными системами видеонаблюдения уже не просто никого не удивить, а странно не найти её в любом общественном месте, использование ИИ в данной области всё ещё вновинку.


Мы исследуем применение CV для различных бизнес-задач в сфере Public safety. В этом посте мы предлагаем вариант перевода видео с движущейся камеры в неподвижную систему координат для последующего анализа.


Полностью проект лежит на GitHub.




Допустим, у нас есть какое-то видео и мы хотим построить для него неподвижную систему координат, чтобы оценивать расположение объектов относительно друг друга.


Зачем это нужно? Очень часто в задачах public surveillance видео, которое нужно анализировать, снято на движущуюся камеру. Из-за этого возникает несколько проблем в определении положения объектов относительно друг друга:


  • Непонятно, чем вызвано изменение координат объекта: движется камера или сам объект;
  • При смене сцены из-за поворота камеры разные объекты могут получить одни и те же координаты, даже если объекты были статичными.

image
Рисунок 1 — Одинаковые объекты имеют разные координаты из-за движения камеры


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


  1. Определить начало координат;
  2. Сопоставить между собой два последовательных фрейма;
  3. Найти преобразование, которое будет переводить координаты объекта на текущем фрейме в координаты относительно начала координат, при этом учитывать все движения камеры (поворот, перемещение, наклон и т.д.).

image
Рисунок 2 — проективное преобразование

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 15

Выбираем канал для точки доступа Wi-Fi. Исчерпывающее руководство

Reading time 9 min
Views 237K
Network technologies *Wireless technologies *
2,4 ГГц — это плохо. 5 ГГц — это хорошо. 6 ГГц — это ещё лучше, но послезавтра. Все это знают, кого я тут учу, в самом деле. Всё это хорошо, только делать-то что, когда ты такой, как умный, открываешь какой-нибудь Wi-Fi Explorer, а там сатанизм и этажерки, как на скриншоте?



Шаг первый — поплакать. Шаг второй — нырнуть под кат. Вопрос простой, а ответ — нет.
Когда это нас останавливало?
Total votes 111: ↑110 and ↓1 +109
Comments 234

Портирование FreeModbus под STM32. Версия от Динара

Reading time 9 min
Views 29K
Programming microcontrollers *
Sandbox
Доброго времени суток, любители и профессионалы программирования на микроконтроллерах. Эта статья посвящена портированию библиотеки freemodbus на STM32F100 (тот, что в discovery vl). Да, на habrahabr уже есть подобная статья, но мне она кажется не самой удачной. Буду использовать Modbus RTU в режиме slave. Для успешного портирования библиотеки freemodbus на платформу без операционной системы, необходимо выполнить три шага:

1. прописать файл port.h
2. настроить таймер
3. настроить usart

Итак, план составлен — пора за работу.
Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 6

15 базовых советов по Git для эффективной работы каждый день

Reading time 5 min
Views 57K
ManyChat corporate blog Git *Version control systems *
Tutorial
🔥 Technotext 2020

Привет, меня зовут Сергеев Сергей aka gurugray. Сейчас я «Mentor FrontEnd Community» в компании ManyChat. Вы могли видеть мои лекции по релизному циклу и регламенту работ с системами контроля версий в Школе Разработки Интерфейсов Яндекса (ШРИ).


Меня часто спрашивают какие life-hacks или best-practices я использую при работе с Git'ом и репозиториями проекта.


Эта заметка — попытка объяснить те базовые настройки и приёмы, которыми я пользуюсь каждый день. Рецепты не претендуют быть ноу-хау, но могут помочь с освоением ежедневной гигиены работы с репозиторием.


Читать дальше →
Total votes 72: ↑68 and ↓4 +64
Comments 63

Интеграция в проект LVGL графической библиотеки для микроконтроллеров

Reading time 4 min
Views 22K
System Programming *C *Programming microcontrollers *Design Gadgets
LVGL — Light and Versatile Graphics Library также известная как LittleVGL.


Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открытая, поддерживает большое количество графических элементов с Dark and Light темами. Распространяется под MIT license. Можно свободно использовать даже в коммерческих продуктах. Можно посмотреть интерактивное Online Demo без установки на устройство
Total votes 39: ↑39 and ↓0 +39
Comments 56

Как я восстанавливал данные в неизвестном формате с магнитной ленты

Reading time 8 min
Views 38K
Data recovery *Reverse engineering *Old hardware
Sandbox

Предыстория


Будучи любителем ретро железа, приобрёл я как-то у продавца из Великобритании ZX Spectrum+. В комплекте с самим компьютером мне достались несколько аудиокассет с играми (в оригинальной упаковке с инструкциями), а также программами, записанными на кассеты без особых обозначений. На удивление данные с кассет 40-летней давности хорошо читались и мне удалось загрузить почти все игры и программы с них.



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

Какое-то время мне не давало это покоя — очень хотелось узнать, что скрыто в них. Если бы получилось прочитать аудио сигнал как последовательность байтов, можно было бы поискать в них символы или что-то, что указывает на происхождение сигнала. Своего рода ретро-археология.
Total votes 177: ↑177 and ↓0 +177
Comments 98

Очередная книга про разработку операционных систем

Reading time 4 min
Views 13K
System Programming *C *Programming microcontrollers *Studying in IT
image

Приветствую!

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

Всё это время я также наблюдал на разных ресурсах посты о «разработке ОС», которые в основном сводились к выводу «hello world» в QEMU, и сетовал на то, что не нужно путать ОС и «программу, которая может работать на голом железе». ОС это совсем не про работу на железе, это, в первую очередь, про синхронизацию и все такое прочее.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 35

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity