Как стать автором
Обновить
245
-16
Aleksandr Dikarev @AlekDikarev

Embedded software developer

Отправить сообщение

Как издать компьютерную книгу и не сойти с ума

Время на прочтение16 мин
Количество просмотров13K


Каждый год в ноябре я отмечаю своеобразную веху — очередную годовщину с момента выхода моей первой книги о компьютерных технологиях в издательстве «Питер». Эта книга уже давно отпраздновала совершеннолетие — в нынешнем году ей исполнилось 19. С той поры я написал еще 45 книг, а кроме того, поработал редактором компьютерной литературы в издательствах «Символ-Плюс» и «БХВ» (в последнем я тружусь до сих пор), где помог увидеть свет множеству произведений других авторов. Сегодня по просьбе моих друзей из RuVDS я расскажу, как устроена кухня компьютерного издательства изнутри, как написать и издать собственную техническую книгу и сколько на этом можно заработать.
Читать дальше →
Всего голосов 62: ↑62 и ↓0+62
Комментарии82

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

Время на прочтение29 мин
Количество просмотров8.7K

Мы сделаем чувствительный дисковый гидрофон, дополнив который предусилителем, мы сможем записывать гидроакустические сигналы в диапазоне частот примерно от 10 до 40 кГц: звуки рыб и морских млекопитающих, шумы двигателей судов и лодок и даже шум снежной метели и скрип шагов по льду, если вы захотите изучать звуки в водоемах, закованных в ледяную корку. А еще мы дадим несколько простых приемов работы со звуковым редактором, и научим видеть то, что не слышно. Все это под катом!

Начать погружение
Всего голосов 69: ↑69 и ↓0+69
Комментарии50

Радиосвязь «Судного дня»

Время на прочтение7 мин
Количество просмотров35K
Картинка Starline, Freepik

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

Попробуем и мы порассуждать на эту тему, предположив, что наступил некий час «Х», после которого вся электроника так или иначе «приказала долго жить». Мы сейчас не будем останавливаться на причинах этого события. Только возьмём за отправную точку, что мы остались без своего любимого интернета, раций и даже без модного LoRa :-)

Ранее мы уже изучали устройство и простые возможности создания собственного «двигателя Судного дня». Теперь же попробуем прикинуть, как нам организовать радиосвязь между разрозненными группами людей, учитывая, что электроники не осталось от слова «совсем» (правда сделаем допущение, что некоторые механические компоненты могут быть найдены на свалках или сняты из мест «остатков цивилизации»).
Читать дальше →
Всего голосов 81: ↑79 и ↓2+77
Комментарии99

STM32 BluePill + RNDIS, или делаем из нехитрых приспособлений троллейбус…

Время на прочтение13 мин
Количество просмотров17K

Привет, Хабр. Год назад я круто изменил направление своей деятельности с desktop разработчика на программиста микроконтроллеров. Хочу поговорить о том, как прошел этот год, поделиться своими наблюдениями, рассказать в одном месте о чем никто не рассказывает. А, еще и RNDIS на STM32F103 поднимем.

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

...и знать ничего не хотят
Всего голосов 45: ↑42 и ↓3+39
Комментарии40

Мы разработали 44 устройства за 6 лет, продаем их по всему миру, только этого мало

Время на прочтение38 мин
Количество просмотров75K

История эмиграции, блеск и нищета стартапов, техническое порно, непрерывная разработка, гидроакустика, нарциссизм, рефлексия, open-source и много фото.

Это все под катом.

Начать погружение
Всего голосов 410: ↑409 и ↓1+408
Комментарии194

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

Время на прочтение5 мин
Количество просмотров297K

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

Читать далее
Всего голосов 121: ↑85 и ↓36+49
Комментарии238

Нейтринная обсерватория на дне Байкала

Время на прочтение6 мин
Количество просмотров16K

Нейтрино — это двигающиеся со скоростью света, нейтральные частицы. До недавнего времени считалось, что их масса равна нулю. Экспериментальное исследование этих частиц чрезвычайно затруднено, поскольку нейтрино имеют очень маленькое сечение взаимодействия с веществом. Для них проницаемо практически все, они беспрепятственно преодолевают гигантские расстояния и доставляют на Землю информацию о процессах, происходящих во всех частях Вселенной. Поэтому сегодня нейтрино-объект изучения мощных научных лабораторий во всех странах мира.

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

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

Озеро Байкал в России предоставляет учёным идеальную среду для наблюдения нейтрино, потому что эти частицы излучают видимый свет при прохождении через прозрачную воду. Глубина озера также может защитить детекторы от излучения и помех.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии9

Лайфхак: как спарсить гигабайт double-ов в секунду

Время на прочтение6 мин
Количество просмотров23K


Как в коде на C++ прочитать значение double из строки?

std::stringstream in(mystring);
while(in >> x) {
   sum += x;
}

На Intel Skylake с компилятором GCC 8.3, такой код парсит 50 МБ/с. Жёсткие диски запросто обеспечивают последовательное чтение со скоростью в несколько ГБ/с, так что вне всякого сомнения, нас ограничивает не скорость чтения с диска, а именно скорость парсинга. Как его ускорить?

Первое, что напрашивается – отказаться от удобств, предоставляемых потоками в C++, и вызывать strtod(3) напрямую:

do {
    number = strtod(s, &end);
    if(end == s) break;
    sum += number;
    s = end; 
} while (s < theend);

Скорость вырастает до 90 МБ/с; профайлинг показывает, что при чтении из потока выполняется ~1600 инструкций на каждое читаемое число, при использовании strtod – ~1100 инструкций на число. Стандартные библиотеки Си и C++ можно оправдать требованиями универсальности и переносимости; но если ограничиться парсингом только double и только на x64, то можно написать намного более эффективный код: хватит 280 инструкций на число.
Читать дальше →
Всего голосов 104: ↑102 и ↓2+100
Комментарии62

Отладочная плата для Arduino Nano

Время на прочтение4 мин
Количество просмотров13K
На данный момент плата используется как учебная, тестер модулей с интернет- магазинов для различных микроконтроллеров (МК) и для создания законченных конструкций с минимальным изменением топологии печатной платы. В общем достаточно универсальная. Как всегда универсальность- это компромисс, который считаю был достигнут.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии27

НЕрадиоуправляемые модели: вперед к беспроводным подлодкам на пульте

Время на прочтение10 мин
Количество просмотров20K

Приветствую вас, глубокоуважаемые!

Мы тут опять решили проблему, о существовании которой вы скорее всего и не подозревали: сделали хоббийные модули для передачи и приема 4 управляющих команд через воду на дальность (и глубину) до 300 метров. 

Видео испытаний лодки на акустическом управлении и подрыва фейерверка по акустическому сигналу через воду, а также зачем, почему и как - под катом.  

Читать далее
Всего голосов 60: ↑60 и ↓0+60
Комментарии82

Куда идут лучи под водой?

Время на прочтение15 мин
Количество просмотров9K

Приветствую вас, глубокоуважаемые!

Представьте, каким был бы наш мир, если бы условия распространения звука в нем были бы несколько иными. Например, иногда ваш крик был бы не слышен на расстоянии десяти метров, но становился бы вполне различим на сотне-другой и, скажем, на паре километров? А иногда, негромкий разговор или даже шепот разносился бы на километры от вас. Уверен, что пословица «слово - не воробей..» - заиграла бы совершенно новыми красками!

Для тех, кто услышал мой «шепот» в современном потоке информации - добро пожаловать под кат, у нас сегодня не только ликбез и культпросвет, но модель с красивыми картинками, исходным кодом на двух языках и онлайн-симулятором, а также видео, где за 15 минут отображаются все научные морские экспедиции с 1961 по 2010 год.

Начать погружение!
Всего голосов 29: ↑27 и ↓2+25
Комментарии16

Как глубока Бездна Челленджера: измерение глубины

Время на прочтение7 мин
Количество просмотров30K
«Надо понимать всю глубину наших глубин» (С) ДМБ

Приветствую вас, глубокоуважаемые!


Всегда поражался, что расстояние до Луны измеряется с миллиметровой точностью. Даже при открытии экзопланет методом лучевых скоростей, скорости звезд измеряются с точностью до 0.97 м/с. А вот, например, глубина Бездны Челленджера определена с точностью ± 10 метров.
Почему же с водой все так сложно?

image

С этим вопросом разбираемся под катом. В качестве вишенки на торт: приложение для визуализации движения звука через воду со слоями разной плотности с исходниками на гитхабе и онлайн-калькулятор.
Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии87

Вы делаете это неправильно: расчет глубины

Время на прочтение5 мин
Количество просмотров13K

Приветствую вас, глубокоуважаемые!


Что если я скажу, что глубина, что бы вы под ней не подразумевали, является одной из самых сложных для точного измерения величин? На какой глубине плывет подводная лодка? Какая глубина марианской впадины? На какой глубине лежит Титаник? Если вам не повезет с параметрами, то на первом километре глубины, вы можете ошибиться примерно на 30-40 метров и на 200-300 метров на 6-ом километре, используя датчик давления. Если вы предпочитаете эхолот, то при неудачном стечении обстоятельств, которые вы не учли, ошибка на первом километре составит метров 100, а на 6-ом — целый километр. Конечно, можно еще использовать длинную веревку… Но там, как известно, свои подводные камни.

Как такое могло случиться и как делать правильно я расскажу под катом. В довесок к статье есть Open-source библиотека на C#/C/Rust/Matlab/Octave/JavaScript и пара онлайн-калькуляторов для демонстрации.



Статья будет полезна разработчикам подводной техники, число которых за последние лет пять выросло в разы.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии52

Кто, как и на чем исследовал мировой океан — разбираем базы NOAA

Время на прочтение16 мин
Количество просмотров4K

Приветствую вас, глубокоуважаемые!


«Выбросило меня тогда из кабины, в тысячный раз подумал он. Ударило обо что-то головой, так я больше и не оправился…» (С) АБС, «Улитка на склоне»
Пока коронaвирус бороздит просторы планеты, предлагаю с одного ракурса взглянуть, как мы (человечество) исследовали мировой океан.

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

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

Кто, как, когда и на чем исследовал мировой океан: список экспедиций с 1772 по 2018 годы с разбивкой по странам, интересные подробности и небольшой статистический анализ — под катом!

image
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Через всю географию: навигационные и геодезические задачи на разных языках

Время на прочтение18 мин
Количество просмотров8K

Приветствую вас, глубокоуважаемые!


«… истинное место судна хотя и неизвестно, но оно не случайно, оно есть, но неизвестно в какой точке» Алексишин В. Г. и др. Практическое судовождение, 2006. стр. 71
«С двух краев галактики вышли пешеходы...» (С) Сергей Попов (Астрофизик)
В свете новых тенденций стиля арт-нуво я хотел написать о решении геодезических задач на плоской земле. Но пока еще заявление о том, что форма земли удобно аппроксимируется эллипсоидом не является ересью и крамолой, предлагаю всем интересующимся приобщиться к более консервативным моделям.

  • расстояние между двумя географическими точками
  • определение точки по известной, расстоянию до нее и азимутальному углу
  • определение положения точки по измеренным дальностям до известных точек (TOA, TOF)
  • определение положения точки по измеренным временам прихода сигнала (TDOA)

Все это на C#, Rust и Matlab, на сфере и эллипсоидах, с картинками, графиками, исходным кодом — под катом.

А это, релевантная КДПВ:


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии13

Мечты о глубоком вакууме (часть 1). Диффузионный паромасляный насос: реанимация и немного теории

Время на прочтение14 мин
Количество просмотров23K
Вместо эпиграфа
И масляный туман над цехом проплывает,
а в камере горит красивая дуга.
Технолог не спешит — технолог понимает,
что плюс один микрон ничё уж не решит.

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


Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии57

Кибератаки на гидроакустические системы: мифы и реальность

Время на прочтение11 мин
Количество просмотров9.1K

Приветствую вас, глубокоуважаемые!


«Если в ответ на запрос свой-чужой ответить неправильно, второй запрос придет уже на 533-ей частоте» (С)

«Все это идет как-то мимо вас. Или сквозь вас. А по мне это идет, как паровой каток. Ни одной целой кости не осталось. » (С) А. и Б. Стругацкие, «Град Обреченный»

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

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

Всего голосов 42: ↑42 и ↓0+42
Комментарии56

uMCPIno: Пишем простой протокол с гарантированной доставкой для Arduino

Время на прочтение19 мин
Количество просмотров16K

Приветствую вас, Глубокоуважаемые!


На каком-то этапе жизни, каждому упорному упоротому DIY-щику перестает хватать кантовского Arduino как «вещи-в-себе» they just can't!: поморгать светодиодиком, взять данные с датчиков и передать по проводу на PC конечно весело, но святой Грааль кроется в мобильности, в освобождении от «медных пут», в истинной свободе среди волн вселенского эфира.
Вот здесь нам и открывается суровая реальность неустойчивых каналов связи, ошибок передачи, недоставленных сообщений.
Боже упаси претендовать на оригинальность в этой области: человечество давно использует целый ворох протоколов на все случаи жизни.
Но наша цель — научиться, а так как я ярый сторонник разведки боем, то учиться мы будем, изобретая свой собственный протокольный «велосипед».
Сегодня я предлагаю разработать протокол, который обеспечивает гарантированную доставку, целостность и очередность сообщений между двумя абонентами (соединение точка-точка, Point-to-Point), умеет и применяет алгоритм Нагла и protocol pipelining, чтобы это ни значило. При этом он должен иметь минимальный оверхед и втискиваться даже в тесный Arduino UNO.



Всех заинтересовавшихся прошу на борт, задраиваем люки, открываем кингстоны, заполняем балластные цистерны. Нам предстоит экскурсия в прошлое, destination: year 1974!
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии13

Самая полная классификация подводных навигационных систем, что вы можете найти

Время на прочтение21 мин
Количество просмотров8.9K

Приветствую вас, глубокоуважаемые!


«Гидроакустика — продажная девка империализма!» (С)

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

Ну и что же? Длинная, короткая, ультрокороткая? О, нет, все гораздо глубже! Дьявол, как обычно кроется в реализации. Как устроены подводные навигационные системы в реальном мире, почему они устроенны именно так, как работают — сегодня я все это разложу по полочкам.
Со следовыми количествами матана в качестве специй, конечно.

Бонусом идет библиотека с открытым кодом, для решения навигационных задач.

Кто не испугался — добро пожаловать в прохладные декабрьские воды нашего пруда!


Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии2

Неправильная классификация подводных навигационных систем «на пальцах»

Время на прочтение18 мин
Количество просмотров6.9K

Приветствую вас, глубокоуважаемые!


«Гидроакустик гидрофон пропил» ©

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

Итак, усиливаю как умею.

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

Ахтунг: в статье могут присутствовать следовые количества матана!



Если спокойные воды вашей души всколыхнул этот сигнал, добро пожаловать под кат!
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии16
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer, Embedded Software Engineer
Lead
English
C
C#