Search
Write a publication
Pull to refresh
14
0.1
Дмитрий Земсков @SADKO

Overqualified

Send message

Принципы работы сонаров и подводная акустика: как, зачем и почему

Reading time12 min
Views107K
Сонары используются для обнаружения и исследования подводных объектов, в то время как похожие устройства, называемые радары — для исследования надводных, наземных, воздушных и космических объектов. Многое из того, что сказано ниже про сонары, справедливо и для радаров, либо имеет очевидные сходства.

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

Задолго до того, как Шелдон поможет разобраться с эффектом Доплера, мы погружаемся под воду, чтобы начать знакомство с тем, как происходит и от чего зависит распространение звуковых волн в водной среде.
Осторожно: знания!

Делаем «mindmap» на Javascript с локальным хранением в базе данных браузера

Reading time25 min
Views57K

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

Я опишу особенности создания редактора карты памяти, который использует базу данных браузера. Причём, это будет не LocalStorage, который не может превышать 5 мегабайт. Объём данных сможет превысить 100-200 мегабайт, так как используется IndexedDB или webSQL, смотря что доступно в конкретном браузере.

Исходники выложены в открытый доступ на Github.

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

Секрет минимализма в том, что мы будем использовать проверенные в бою плагины:
  1. Ydn.db — хранение информации в базе данных браузера с автоматическим выбором лучшего метода и единым API
  2. jQuery context menu — контекстное меню, которое можно наполнять динамически при помощи Javascript
  3. jsPlumb — расширение позволяющее рисовать линии между HTML элементами
  4. jQuery UI — Drag&drop — перетаскивание элементов между собой


PS: Также мы научимся создавать «синглтон», облегчать себе асинхронное программирование при помощи jQuery и встроенного объекта $.Deferred(), а также при помощи плагина LiveReload, сохраним краску на клавише F5 при изменении свойств CSS и кода в HTML и Javascript.
Читать дальше →

Хакаем Transcend WiFi SDHC карту памяти

Reading time10 min
Views147K
Перевод немного вольный, но смысл не потерян. Я (переводчик) заинтересовался этой карточкой давно и почти сразу заказал её, сегодня забрал с почты и не могу нарадоваться, но хочется больше, чем дает Transcend, а карточка, между прочим, Linux сервер с WiFi! Очень много буковок.

С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
Читать дальше →

Коды Рида-Соломона. Простой пример

Reading time9 min
Views121K
Гауссово котэБлагодаря кодам Рида-Соломона можно прочитать компакт-диск с множеством царапин, либо передать информацию в условиях связи с большим количеством помех. В среднем для компакт-диска избыточность кода (т.е. количество дополнительных символов, благодаря которым информацию можно восстанавливать) составляет примерно 25%. Восстановить при этом можно количество данных, равное половине избыточных. Если емкость диска 700 Мб, то, получается, теоретически можно восстановить до 87,5 Мб из 700. При этом нам не обязательно знать, какой именно символ передан с ошибкой. Также стоит отметить, что вместе с кодированием используется перемежевание, когда байты разных блоков перемешиваются в определенном порядке, что в результате позволяет читать диски с обширными повреждениями, локализированными близко друг к другу (например, глубокие царапины), так как после операции, обратной перемежеванию, обширное повреждение оборачивается единичными ошибками во множестве блоков кода, которые поддаются восстановлению.

Давайте возьмем простой пример и попробуем пройти весь путь – от кодирования до получения исходных данных на приемнике. Пусть нам нужно передать кодовое слово С, состоящее из двух чисел – 3 и 1 именно в такой последовательности, т.е. нам нужно передать вектор С=(3,1). Допустим, мы хотим исправить максимум две ошибки, не зная точно, где они могут появиться. Для этого нужно взять 2*2=4 избыточных символа. Запишем их нулями в нашем слове, т.е. С теперь равно (3,1,0,0,0,0). Далее необходимо немного разобраться с математическими особенностями.

Поля Галуа


Многие знают романтическую историю о молодом человеке, который прожил всего 20 лет и однажды ночью написал свою математическую теорию, а утром был убит на дуэли. Это Эварист Галуа. Также он несколько раз пытался поступить в университеты, однако экзаменаторы не понимали его решений, и он проваливал экзамены. Приходилось ему учиться самостоятельно. Ни Гаусс, ни Пуассон, которым он послал свои работы, также не поняли их, однако его теория отлично пригодилась в 60-х годах ХХ-го века, и активно используется в наше время как для теоретических вычислений в новых разделах математики, так и на практике.
Читать дальше →

EmBlocks — IDE для STM32

Reading time3 min
Views63K
Я обещал поделиться своей настроенной средой Em::Blocks.
Выполняю обещание.


Что такое Em::Blocks?


Это IDE на основе Code::Blocks — кросс-платформенной быстрой среды разработки со встроенным скриптовым языком и очень гибкой настройкой, ориентированной под С/С++ разработку. В среде есть встроенные шаблоны для кучи различных случаев и возможность подключать любые компиляторы.
EmBlocks в отличие от CodeBlocks не кросс-платформенная, она существует только под Windows.
Зато вместе с ней поставляется специальная версия CodeSourcery тулчейна, которая позволяет плотнее интегрировать тулчейн с IDE. Версия в комплекте всегда свежая.

Достоинства EmBlocks


  • быстрая, т.к. написана в native коде
  • расширяемая и хорошо автоматизируется с помощью скриптов
  • шаблоны проектов можно настроить на свой вкус
  • можно самому изменить диалог мастера создания проекта
  • не требует установки — можно носить с собой на флешке и легко перенести с настройками на другой комп
  • из коробки поддерживает отладку через ST-Link и J-Link
  • бесплатная
  • неплохо поддерживается на собственном форуме

Пример проекта с использованием EmBlocks — мигание светодиодами.
Подробности и архив для скачивания

Сервисы мобильного эквайринга и мини-терминалы в России — пора принимать Visa и MasterCard!

Reading time31 min
Views248K
Square, PayPal, iZettle — известные во всем мире компании, которые предлагают решения по приему банковских карт. Ни один из брендов не представлен в России. Зато у нас есть десять собственных. Мною проведено независимое исследование сервисов мобильного эквайринга в России, позволяющих принимать платежи по банковским картам Visa и MasterCard: iPay, Sum Up, Pay Me, 2Can, SimplePay, LifePay, Термит, ibox, Paybyway и RBK Card.

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

Запуск Aircrack-ng и Reaver на Android

Reading time3 min
Views344K
Когда нечего делать или как я устанавливал aircrack и reaver на android.
Я подумал а не попробовать ли мне установить kali-linux на android через linux installer, но затем передумал и решил просто установить reaver и aircrack на телефон. Но тут возник вопрос как перевести WiFi в режим монитора.

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

Анализ протокола игрушечного вертолёта на ИК-управлении

Reading time2 min
Views157K
Недавно друг притащил ко мне простенький игрушечный вертолёт:

image

Управляется он не по радио, а посредством инфракрасных сигналов. На самом вертолёте стоит обычный ДУ-приёмник, а значит используется несущая частота в 36-40кГц, и не составит труда разобраться в структуре сигналов, которые посылает пульт, чем я и решил заняться.

Сразу скажу, что вся эта затея изначально не имела никакого смысла, это просто статья о том, как развлекаются айтишники :)
Читать дальше →

Эллиптическая криптография: теория

Reading time7 min
Views171K

Привет, %username%!
Недавно на хабре была опубликована очень спорная статья под названием «Эксперты призывают готовиться к криптоапокалипсису». Честно говоря, я не согласен с выводами авторов о том, что «голактеко опасносте», все скоро взломают и подорожает гречка. Однако я хочу поговорить не об этом.
В комментариях к той статье я высказал мнение, что кое в чем докладчики правы и переходить на эллиптическую криптографию уже давно пора. Ну в самом деле, кто-нибудь видел в интернете ECDSA сертификат? Хотя стандарту уже без малого 13 лет, мы продолжаем по старинке использовать старый добрый RSA. В общем сказал я это, и как это часто бывает, задумался а так ли необходим переход на «эллиптику»? Да и что это за зверь такой эллиптическая криптография? Какие имеет плюсы, минусы, тонкости. Одним словом, давайте разбираться.
Читать дальше →

Почему бережливый стартап все изменил?

Reading time16 min
Views31K

Запуск нового проекта, будь то технологичный стартап, мелкий бизнес либо совместное предприятие в виде крупной корпорации — это всегда проект из разряда «пан или пропал». В соответствии с многолетней формулой, вы пишите бизнес план, расхваливаете его инвесторам, собираете команду, выводите продукт на рынок и начинаете продавать настолько интенсивно, насколько это возможно. И скорее всего где-то в этой последовательности событий вас ждет неизбежный провал. Перевес не в вашу пользу: новое исследование, проведенное Шикхаром Гошем из Гарвардской Школы Бизнеса, показывает, что 75% всех стартапов терпит неудачу.

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

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

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

Haxe + OpenFL: даже моя бабушка сможет сделать игру под iOS

Reading time3 min
Views54K


Привет, %USERNAME%! решил рассказать тебе, как, приложив минимальные усилия, начать разрабатывать на Haxe игры под iOS (на самом деле и не только, но я решил ограничить данную статью именно этой платформой).

Для этого нам понадобятся:
  1. бабушка Руки. Желательно прямые. Ещё желательней из плеч;
  2. Mac OS X;
  3. XCode;
  4. Идея для игры.


Приглашаю всех под кат, даже если чего-либо из списка у Вас нет в наличии.
Читать дальше →

Самодельная эргономичная клавиатура CatBoard ][

Reading time16 min
Views147K


CatBoard — это самодельная эргономичная компактная клавиатура с открытым исходным кодом, имеет множество нестандартных решений, таких как: нестандартная аппаратная раскладка со стандартными клавиатурными сочетаниями; быстрый автоповтор нажатой клавиши; Fn слой с клавишами управления курсором, цифровым блоком, функциональными клавишами; отдельные клавиши переключения раскладок; более удобное расположение Ctrl и Shift; отдельную кнопку AltTab; режим совместимости с Macintosh, позволяющий работать на нём точно так же, как и на PC; возможность прошивки без дополнительного оборудования; возможность устанавливать поверх ноутбучной клавиатуры. Благодаря открытому коду, с клавиатурой можно делать что угодно, новая прошивка заливается в считанные секунды, поэтому экспериментировать можно прямо на ходу.
Читать дальше →

Про борьбу с пиратами и продвижение на китайском рынке Android приложений

Reading time3 min
Views27K
Можно ли заработать на Android приложении в Китае? Вы можете дать ответ на этот вопрос?

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

Почему возник вопрос и как мы сдались без борьбы.

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

Выполнение транзакций на шине PCI. Реализация на VHDL

Reading time13 min
Views34K
Не так давно я спрашивал о механизме опроса PCI-устройств. После я устроился на работу, доделал тестовое задание, а спрашивал я именно о нем, и благополучно забыл о нем. Но недавно выдали новый проект и пришлось все вспомнить, заодно и решил написать сюда.

Транзакций на шине PCI достаточно много, в данном топике будет описаны только следующие:
  • Конфигурационные транзакции
  • Транзакции ввода/вывода
  • Транзакции обращения к памяти

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

Как быстро сделать из таракана киборга

Reading time1 min
Views94K
На Kickstarter со вчерашнего дня открылся сбор средств на любопытный проект RoboRoach от небольшого стартапа Backyard Brains: все, кто хотел бы использовать домашних тараканов с пользой, могут получить от авторов комплект электроники, который можно приклеить на спину насекомому и управлять им со своего смартфона.

Выглядит киборг-таракан примерно так:



Узнать подробности

Технология «рисованного звука»: cинтез звука в СССР 30-х годов XX века

Reading time6 min
Views37K
В конце 20-х годов XX века начинает неспешным монофоническим шагом идти по планете звуковое кино. Кинематографисты «старой школы» говорят о потере выразительности и о том, что только в немом кино игра актеров имеет наибольший смысл.

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

«Рисованный звук». Технология, разработанная группой энтузиастов в 30-х годах XX века, задолго до изобретения секвенсоров и синтезаторов. Она позволяла методом искусственного создания графики звуковых дорожек на кинопленке синтезировать любые звуки, эффекты, записывать сложные полифонические произведения.
Читать дальше →

Пишем музыку с помощью PHP

Reading time6 min
Views21K
Я не специалист по теории вероятностей, искусственного интеллекта и машинного обучения, кроме того уроки начальной музыкальной школы давно забыты. Но если вы уделите мне 10 минут, то обнаружите, что даже небольшой запас знаний может дать впечатляющие результаты при их творческом применении. Я хочу поделиться с вами, как научить PHP сочинять музыку.

Например, такую:

сгенерированная мелодия
Читать дальше →

Поддержка USB в KolibriOS: что внутри? Часть 1: общая схема

Reading time9 min
Views36K
Архитектура USB содержит несколько уровней. На самом низком уровне специально обученное железо, называемое хост-контроллером (host controller), общается с USB-устройством специальными сигналами. Сигналы кодируют биты, биты складываются в пакеты, пакеты образуют транзакции, транзакции составляют передачи (transfers).

Я рассказываю о программной поддержке USB, поэтому уровни ниже передач почти неинтересны: за них отвечает хост-контроллер. Зато важно, какой интерфейс представляет хост-контроллер софту. Сейчас распространены три интерфейса, и постепенно распространяется четвёртый:
Аббр. Название интерфейса Версия Код поддержки контроллера в KolibriOS
UHCI Universal Host Controller Interface USB 1.1 kernel/trunk/bus/usb/uhci.inc
OHCI Open Host Controller Interface USB 1.1 kernel/trunk/bus/usb/ohci.inc
EHCI Enhanced Host Controller Interface USB 2.0 kernel/trunk/bus/usb/ehci.inc
XHCI eXtensible Host Controller Interface (новый) USB 3.0 В KolibriOS ещё не поддерживается
На этом же уровне взаимодействия с контроллерами находятся файлы kernel/trunk/bus/usb/hccommon.inc, где реализованы некоторые функции, общие для всех контроллеров, и kernel/trunk/bus/usb/init.inc, который запускает всю подсистему. Впрочем, не торопитесь пока лезть в код — во-первых, я ещё не рассказала про то, чего же ожидают от него более высокие уровни, а во-вторых, после демонстрации общей схемы я вернусь к отдельным компонентам с подробностями.
И что же на более высоких уровнях?

Корпус с масляным охлаждением компонентов

Reading time3 min
Views188K

Давно мечтал собрать нечто подобное, но не было повода.
Недавно начал экспериментировать с майнингом на разных видеокартах в разных корпусах. Пришел к выводу, что меньше всего карты высокого уровня греются без корпуса. Но при установке нескольких карт уровня 7950/7970 приходится городить сверху вентиляторы — конструкция хлипкая, шумная и занимает много места.
Пробовал серверные корпуса — 1U и 4U. Шумят так, что глохнешь, а охлаждают не очень эффективно — пара карт уровня FirePro V9800 и S10000 перегревались на штатных частотах уже через 10 минут. При достижении 100 градусов станция зависала. Да и работать на таких температурах не безопасно. Для достижения стабильности в таких условиях приходилось снижать нагрузку на четверть, что шума и жара не убавляло, а эффективности — напротив. О шуме я не думал — оборудование стояло в серверной, а вот терморежим проседал, несмотря на работающие кондиционеры и кулера на полную мощность.
И тут я вспомнил о своей старой задумке с масляным охлаждением и решил воплотить ее в жизнь

Введение в Wolfram Mathematica

Reading time4 min
Views171K

Введение


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

Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте ru

Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).

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

Information

Rating
6,215-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity