Search
Write a publication
Pull to refresh
12
0
Send message

Oracle cloud: превращаем ubuntu 20.04 в gentoo

Reading time3 min
Views7.6K
Oracle cloud предлагает некоторые ресурсы совершенно бесплатно. В частности на халяву можно получить 2 виртуальные машины. При создании машины у вас есть выбор из centos, Ubuntu или oracle linux. С учетом ограниченности ресурсов витруальной машины мне стало интересно нельзя ли использовать на этой машине gentoo?
Читать дальше →

Дорабатываем прошивку USB 3.0, используя анализатор SignalTap, встроенный в среду разработки Quartus

Reading time9 min
Views4.4K
В прошлой статье мы сделали черновые прошивки для контроллера FX3 и ПЛИС, чтобы начать работу с шиной USB 3.0. Статья так разрослась, что проверку работоспособности системы мы отложили на потом. Сегодня мы проведём эту проверку (а как выяснится по ходу работ – ещё и оптимизацию «прошивки» для вывода работы на максимальную скорость).

Чтобы повысить полезность статьи, проверку мы будем производить при помощи логического анализатора SignalTap, встроенного в среду разработку Quartus Prime. Он позволит нам снимать временные диаграммы, не подключая никаких щупов к системе и не покупая никакого дополнительного оборудования.


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

Учимся работать с USB-устройством и испытываем систему, сделанную на базе контроллера FX3

Reading time20 min
Views38K
В двух предыдущих статьях мы сделали USB 3.0 систему на базе контроллера FX3. Пришла пора научиться работать с нею из своих программ для PC. Ну, и попутно понять, насколько получившаяся система пригодна для практического применения. Действительно ли ширины канала хватает на весь поток? И не теряются ли единичные байты из потока? Кто хоть немного поработал тестировщиком, не поверит в то, что если система в принципе работает, значит, работает и в деталях. А я на этой должности проработал лет пять, не меньше, поэтому привык проверять всё на практике. В общем, приступаем.


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

Перспективы радарных систем на наноспутниках

Reading time16 min
Views12K

Я раньше не очень интересовался cubesat. Они казались мне чем-то неземным, сложным, далеким. Но все изменилось, когда недавно нам пришел заказ на разработку одной подсистемы для наноспутника. Я стал интересоваться, а какое же радиооборудование люди умудряются ставить на этих малышей. К своему удивлению, я увидел даже примеры создания радарных систем на cubesat. Эта техника показалась мне настолько крутой, что мы c k_const составили себе труд присмотреться к некоторым примерам спутниковой радарной обработки с синтезированной апертурой.

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

Какой софт и базы использует Bellingcat в своих расследованиях?

Reading time7 min
Views127K


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

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

Или это фантастический киберпанк?
Читать дальше →

Python (+numba) быстрее Си — серьёзно?! Часть 2. Практика

Reading time4 min
Views21K

Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» (там сравнивается производительность реализаций одного алгоритма на разных языках/компиляторах) с более детальными бенчмарками, графиками и пояснениями. Сразу оговорюсь, что я видел статью Ох уж этот медленный C/C++ и, скорее всего, если внести в код на си эти правки, картина несколько изменится, но даже в этом случае то, что питон способен превысить скорость си хотя бы в таком варианте, само по себе является примечательным.


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

Python (+numba) быстрее Си — серьёзно?! Часть 1. Теория

Reading time7 min
Views86K

Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скорость выполнения кода на питоне к скорости на си. В данной статье после небольшого обзора по numba (часть 1) чуть более подробный разбор этой ситуации (часть 2).


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

Как проходит собеседование начинающего разработчика на С++: что нужно знать и как подготовиться

Reading time6 min
Views40K

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

В этом посте я собрал подборку понятий, которые у вас могут спросить на собеседовании на вакансию Junior С++ разработчика, и описал, к чему в принципе вам стоит готовиться. Предупрежден — значит вооружен. Вкратце о себе: меня зовут Турмец, я работаю в Яндексе, параллельно учусь в Школе Анализа Данных и занимаюсь ревью кода на курсе «Разработчик С++» в Практикуме. 

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

Поехали.

Читать далее

Как раздвинуть кости черепа, чтобы легче дышалось: место, где в стоматологии сошлись сразу три новые технологии

Reading time10 min
Views40K
image
Этими винтами хочется попадать в нужное место кости очень точно и под очень правильным углом.

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

Коротко это выглядит так: делаем оптический слепок рта внутриротовым сканером изнутри, накладываем поверх этого данные КТ, загоняем в аналог Архикада для ортодонтов (Dolphin), совмещаем, рассчитываем оптимальное место для имплантов — мини-винтов, печатаем навигационный шаблон из пластика и выпекаем лазером аппарат, потом вставляем одно в другое, потом вкручиваем это в пациента и радуемся. Получается идеальная точность. А это, знаете ли, важно, когда вы решаете взять и раздвинуть кости черепа ребёнку.

Зачем раздвигать нёбо ребёнку? Потому что так получилось, что детям нужно дышать. И иногда из-за неправильного развития мышц или генетики нёбо получается не той формы, чтобы кислород в достаточном количестве попадал к мозгу. Ребёнок начинает отставать в развитии и приобретает вид юного алкоголика (я имею в виду мешки под глазами).

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

Оптическая иллюзия 2020

Reading time1 min
Views79K
image


Я просидел у монитора 15 минут с кусками бумаги, пытаясь разоблачить подвох. Интересно, а если вместо стрелочек использовать слова «влево», «вверх», «вниз» сохранится ли эффект?

Оптическую иллюзию выложили в Твиттер 25 ноября и она бомбанула. Тысячи человекочасов потеряны, сотни тысяч листиков приложено к экрану.

Для сомневающихся:

Расширение возможностей Raspberry Pi с помощью загрузочного NVMe-диска

Reading time4 min
Views48K
Возможности подсистемы хранения данных одноплатного компьютера Raspberry Pi можно расширить, подключив к нему NVMe-диск. Такие диски обычно подключают к PCIe, что даёт им потенциальную возможность считывать и записывать данные на скорости более 3000 Мб/с.

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

Раскрыть весь потенциал NVMe-накопителя на Raspberry Pi 4 не удастся. Но у NVMe-диска есть пара преимуществ перед обычной SD-картой. Это — надёжность и скорость. Покупка подобного диска и адаптера к нему не потребует заметно больше средств, чем покупка более старого диска M.2. А если понадобится, то NVMe-диску можно найти и другое применение (ниже, при разговоре о CM4, я ещё к этому вернусь).



Если у вас имеется внешний SSD с интерфейсом USB или M.2-диск, то вы тоже можете воспользоваться этим руководством.
Читать дальше →

Коды Рида — Соломона в RAID 6

Reading time12 min
Views7.4K
В интернете много статей о восстановлении информации в массиве RAID-6 и о том, как сделать собственную реализацию такого массива. Но большинство этих статей напичканы математическими формулами. Чтобы понять реальный алгоритм, приходится тратить очень много времени.

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

В качестве бонуса информация о том, как работает исправление ошибок в RAID-5, потому что RAID-6 — это улучшенная версия RAID-5.
Читать дальше →

ESP32 в окружении VSCode

Reading time15 min
Views52K

В нескольких следующих статьях я хотел бы детально рассмотреть настройку окружения VSCode для работы с фреймворком ESP-IDF. Не совсем популярная комбинация ПО обладает как преимуществами, так и недостатками, которые при детальном рассмотрении мы попытаемся исправить, обойти или превратить в достоинства.

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

Поскольку предполагается многопользовательская удаленная разработка, то мы решили вначале отработать выбор и настройку самой среды разработки. После нескольких экспериментов с Eclipse, Visual Studio и QT Creator выбор пал на кроссплатформенный VSCode и плагин от разработчика Espressif IDF для работы с фреймворком ESP-IDF.

В качестве «сердца» контроллера рассмотрим двухъядерный микроконтроллер ESP32, который обладает рядом преимуществ, и которые планируется использовать и раскрыть в проекте, а именно:

Читать далее

Решение задачи линейной регрессии с помощью быстрого преобразования Хафа

Reading time7 min
Views17K

Введение


Друзья, рассмотрим нынче же задачу линейной регрессии в присутствии выбросового (некоррелированного с сигналом) шума. Эта задача часто возникает при обработке изображений (напр., при цветовой сегментации [1]), в том числе — акустических [2]. В случаях, когда координаты случайных величин можно грубо дискретизовать, а размерность задачи низка (2-3), кроме стандартных методов робастной регрессии можно воспользоваться быстрым преобразованием Хафа (БПХ) [3]. Попробуем сравнить этот последний метод по точности и устойчивости с «классическими».

Использование БПХ для линейной регрессии


Задача линейной регрессии на плоскости состоит в восстановлении линейной зависимости между двумя переменными, заданными в виде множества пар (x, y). Задавшись некоторым уровнем дискретизации координат, можно отобразить это множество на однобитном или целочисленном изображении (в первом случае мы отмечаем только факт наличия в исходных данных точки с примерно такими координатами, во втором — еще и их число). Фактически, речь идет о двумерной гистограмме исходных данных. Таким образом, неформально задача может быть сведена к поиску на изображении прямой, которая наилучшим образом описывает изображенное распределение точек.В обработке изображений в подобных случаях используется преобразование Хафа.

Преобразование Хафа является дискретным аналогом преобразования Радона и ставит в соответствие каждой прямой на изображении сумму яркостей пикселей вдоль нее (то есть одновременно вычисляет всевозможные суммы вдоль дискретных прямых). Можно ввести разумную дискретизацию прямых по сдвигам и наклонам так, чтобы параллельные дискретные прямые плотно упаковывали плоскость, а выходящие из одной точки на одном крае изображения прямые расходились по наклону на противоположном крае на целое число пикселей. Тогда таких дискретных прямых на квадрате n2 будет примерно 4 * n2. Для этой дискретизации существует алгоритм быстрого вычисления преобразования Хафа с ассимптотикой O(n2 * log n). Этот алгоритм является близким аналогом алгоритма быстрого преобразования Фурье, хорошо параллелизуется и не требует никаких операций, кроме сложения. В работе [3] можно прочитать об этом чуть больше, кроме того, там объясняется, почему преобразование Хафа от сглаженного гауссовским фильтром изображения вообще можно применять в задаче линейной регресии. Здесь же мы продемонстрируем устойчивость этого метода.
Читать дальше →

Можно порешать: задача про лидарное облако от команды беспилотных автомобилей Яндекса

Reading time6 min
Views11K


Меня зовут Андрей Гладков, я разработчик в направлении беспилотных автомобилей. Сегодня я поделюсь с сообществом Хабра задачей, которая связана с важнейшим сенсором беспилотника — лидаром, и с тем, как мы обрабатываем лидарные данные. Вы можете попробовать решить задачу самостоятельно на платформе Контест. Система проверит решение с помощью автотестов и сразу сообщит результат. Разбор и код решения — в спойлерах ближе к концу поста. Тем, кто был на митапе в нашем цехе в прошлом году, задача покажется знакомой — мы предлагали ее в качестве входного билета, но публично никогда ей не делились.
Читать дальше →

Как я написал диплом по химии с (Xe)LaTeX

Reading time8 min
Views18K
Эту статью я задумал еще на втором курсе, когда впервые решил перейти с Word'а на LaTeX. В конце третьего курса я ее начал, и, наконец, после защиты диплома я нашел в себе силы ее дописать. Здесь я постарался собрать свой опыт (и созданные костыли, куда же без них) в использовании LaTeX при подготовке текста, связанного с химией и в решении тех проблем, с которыми столкнулся я.
Читать дальше →

Собеседование по Data Science: что могут спросить и где найти ответы на вопросы

Reading time8 min
Views21K

Однажды я получил оффер от Deliveroo, в этой компании я должен был стать Data Science Manager. Пока я готовился к тому, чтобы приступить к выполнению своих обязанностей, оффер отозвали. У меня на тот момент не было подушки безопасности на случай продолжительного отсутствия работы. Я поделюсь с вами всем, что в итоге помогло мне получить сразу два оффера на должность Data Scientist от Facebook. Надеюсь, это поможет кому-то из вас выбраться из той сложной ситуации, в которой я оказался несколько месяцев назад.
Читать дальше →

«Привет, мир»: разбираем каждый шаг хэш-алгоритма SHA-256

Reading time10 min
Views81K

SHA-2 (Secure Hash Algorithm), в семейство которого входит SHA-256, — это один самых известных и часто используемых алгоритмов хэширования. В тексте подробно покажем каждый шаг работы этого алгоритма на реальном примере. SHA-2 отличается безопасностью (его тяжелее взломать, чем SHA-1) и скоростью.
Читать дальше →

Смертельная палитра: токсикология красителей

Reading time11 min
Views28K

Сегодня мы знаем об окружающем нас мире достаточно много, но далеко не всё. Об этом вам с интересом расскажет любой генетик, астрофизик, микробиолог или химик. Возможно сейчас открытие, которое бы изменило наши представления о мире, перевернув всё, что мы знаем с ног на голову, сделать нелегко. Возможно, это практически невозможно. Но что если бы вам однажды сказали, что то, что вы знаете, - ложь. Что один из продуктов современной химии, который мы используем везде и во всём многие годы, убивает нас, а исследования, ученые статьи и всё, что мы наоткрывали, напридумывали, понаписали в книгах - всё это полный бред, а каждый второй предмет в вашей квартире отравлен. И так во всём мире - от главы государства до последнего бедняка с его скудным скарбом. Именно это однажды и произошло, и сегодня мы ненадолго погрузимся в историю токсикологии и удивительное открытие доктора Генри Летеби, в которое никто из его современников не поверил.

Изумрудно-зелёный.

Зелёный насыщенный цвет на самом деле не был таким уж прямо новым и необычным. С глубокой античности мы использовали истертый малахит или пигмент «зеленая земля» из разных соединений кремния. Цвета были бледноваты, и на полотнах до конца 18 столетия увидеть яркую сочную зелень у вас не выйдет. Всё изменилось, когда смогли добыть настоящий изумрудно-зеленый цвет. Он был получен в 1775 году из красителя «Зелень Шееле». Краситель назван в честь шведского ученого - Карла Вильгельма Шееля, того самого, который открыл молочную кислоту и хлор, и о которых я писал в статье про молоко. К несчастью, в те годы, описывая открытые вещества, нужно было указывать в том числе и вкус. К 1786 году исследования тяжёлых металлов и различных их соединений стали комбинироваться у Карла в симптомы. У него появились поражения кожи - потемнения эпителия дополнились утолщениями и язвами, появилась страшная комбинация диареи и сонливости. Вскоре талантливый химик умер. Предположительно, причиной смерти стало поражение почек.

Слева: фреска в церкви св.Франциско в Монтефалько, Италия, авторства Пьетро Ваннучи. Справа: автопортрет Пьетро. Начало 16 в., зеленые пигменты: малахит и кремний.

Читать далее

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Registered
Activity