Pull to refresh
-1
0

User

Send message

MATLAB и быстрое преобразование Фурье

Reading time7 min
Views220K
По работе неоднократно сталкивался с необходимостью быстро определить наличие в сигнале гармонических составляющих. Часто для примерной оценки достаточно воспользоваться алгоритмом быстрого преобразования Фурье. Тем более, что его реализации есть практически во всех математических пакетах и библиотеках, да и собственноручно реализовать не составит особого труда. Между тем, опыт показывает, что, при всей своей простоте, метод начинает вызывать некоторые вопросы, когда возникает необходимость не просто посмотреть наличие дискреток в сигнале, но и выяснить их абсолютные значения, т.е. нормализовать полученный результат.

В этой статье я постараюсь объяснить, что же все-таки выдает в качестве результата fft (Fast Fourier transform) на примере MATLAB (и в качестве бонуса проведу небольшой ликбез по этому весьма полезному, на мой взгляд, языку).
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments52

Лень — механизм

Reading time5 min
Views74K

Начинается рабочая неделя для большинства жителей России и близится зимняя сессия. В связи с этим решил описать детальный механизм лени человека.
Однако хочу вас обнадежить, лень является лишь проявлением работы нашего подсознания, а значит ее можно контролировать и «настраивать» как вам того желается. Вы сами сможете в этом убедиться, когда поймете механизм ее возникновения.
Читать дальше →
Total votes 159: ↑145 and ↓14+131
Comments123

Алгоритм Дейкстры. Поиск оптимальных маршрутов на графе

Reading time3 min
Views431K
Из многих алгоритмов поиска кратчайших маршрутов на графе, на Хабре я нашел только описание алгоритма Флойда-Уоршалла. Этот алгоритм находит кратчайшие пути между всеми вершинами графа и их длину. В этой статье я опишу принцип работы алгоритма Дейкстры, который находит оптимальные маршруты и их длину между одной конкретной вершиной (источником) и всеми остальными вершинами графа. Недостаток данного алгоритма в том, что он будет некорректно работать если граф имеет дуги отрицательного веса.

Для примера возьмем такой ориентированный граф G:

image

Читать дальше →
Total votes 91: ↑62 and ↓29+33
Comments31

Расширения Opera — Пусть все знают

Reading time1 min
Views25K
image

В связи с сегодняшним вчерашним выходом финального релиза Opera 11, одной из наиболее популярных функций которого стали расширения, мы решили провести конкурс для тех, кто не может создавать расширения, но при этом вполне способен увлекательно рассказать о них в блогах и статьях на различных ресурсах.
Читать дальше →
Total votes 72: ↑47 and ↓25+22
Comments75

Верхом на… сетевом пакете

Reading time4 min
Views6K
Я задумался над вопросом: сколько стран предстоит пройти одному сетевому пакету с момента ввода в браузер habrahabr.ru и до приветливого мигания диода на Том Самом Сервере.

image


Начался путь с беспроводного роутера, в моей прихожей. Потом — укртелекомовский сервак (он скрытым пожелал остаться). Затем, минуя Будапешт, направился пакетик в Штаты. Петлял недолго там, и залетев в Германию и Лондон, осел в России где-то.

О том, как это работает и ссылки на исходники/демо читайте под катом.
Читать дальше →
Total votes 107: ↑81 and ↓26+55
Comments31

Перехват cookie в реальном времени в открытых WiFi-сетях

Reading time1 min
Views64K


На видео показан угон сессии вконтакте.ру, который почему-то до сих пор не использует авторизацию с https и передает пароли открытым текстом.
Дамп трафика собирается программой kismac в формате libpcap и параллельно парсится grep-ом с использованием регулярных выражений, что позволяет в реальном времени выводить на экран все интересующие куки и пароли. При этом не используется никаких анализаторов пакетов.

regexp для перехвата вконтакте.ру:

tail -F pcap.файл | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+»

для фейсбука:

c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}

Аналогичная конструкция будет работать и с дампом собранным с помощью airdump-ng.
Total votes 173: ↑158 and ↓15+143
Comments162

UART и с чем его едят

Reading time10 min
Views856K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image
Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту


Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

Надо сказать, что изначально интерфейс УАПП появился в США как средство для передачи телеграфных сообщений, и рабочих бит там было пять (как в азбуке Морзе). Для передачи использовались механические устройства. Потом появились компьютеры, и коды ASCII, которые потребовали семь бит. В начале 60-х на смену пришла всем известная 8-битная таблица ASCII, и тогда формат передачи стал занимать полноценный байт, плюс управляющие три бита.
Читать дальше →
Total votes 198: ↑192 and ↓6+186
Comments97

Майкл Махемофф: «Вы не можете учиться, только читая или слушая»

Reading time8 min
Views1.3K
Майкл Махемофф — авcтралиец, закончил Мельбурнский университет, сейчас работает в лондонском офисе Гугл. По словам Майка, его дальние предки были родом из России и Польши, но родители появились на свет уже в Австралии. На недавнем GDD Майкл произвел яркое впечатление. Харизматичный и эмоциональный, он выделялся даже на фоне традиционно сильных спикеров гугловской команды. Особенно это было заметно на хакатонах, где он был самым заинтересованным и активным участником из десятка присутствовавших гуглеров. Как мне кажется, Майкл Махемофф — одна из восходящих звезд нового поколения Google inc.
Интервью записано чешским блоггером Мартином Хассманом уже после GDDru
elgephest координатор Kyiv GTUG Center (за помощь в украинском переводе спасибо @MsCentaurea)

Майкл Махемофф работает в Google в качестве Chrome Developer Advocate. Он уже много лет пишет для Ajaxian, а также в 2006 году написал книгу Ajax Design Patterns, которая вышла в издательстве O'Reilly. Он автор таких полезных инструментов как ListOfTweets.com, а также забавного проекта IE6IsOlderThanYourGrandpa.com. Он ведет блог на Softwareas.com и активен в твиттере под ником @ mahemoff.

image
Майкл Махемов на JSConf2010
Ты уже пять лет пишешь для Ajaxian, т.е. ты внимательно следишь за развитием в этой сфере. Какие, по твоему мнению, самые важные изменения в JavaScript и AJAX произошли за последние пять лет?
Произошло много изменений, как в нашем понимании JavaScript, которые постепенно совершенствовались, появились, например, библиотеки и такие инструменты как jQuery и Firebug, существенно упростившие жизнь разработчиков. Еще одним преимуществом стало
Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments27

Запустили первую в мире коммерческую магистраль на 100 Гбит/сек

Reading time2 min
Views950
Университет штата Индиана из США и несколько партнерских организаций смогли создать и запустить в работу коммерческую сетевую магистраль с передачей данных со скоростью в 100 гигабит/сек. Стоит отметить, что испытания велись не в США, а в Германии. Кроме того, в настоящее время на основе этой сети ведется испытание в «стрессовых» условиях, если так можно выразиться, файловой системы Люстре (Lustre) (кластерная файловая система). Пока что система показывает себя отлично.

Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments58

Будущий дизайн OpenSIPS

Reading time9 min
Views15K
Предисловие

OpenSIPS — это сигнальный SIP-коммутатор. Если вы хотите обрабатывать реально много SIP-звонков, то, скорее всего, мимо OpenSIPS не пройдете.
Система реально «mature», проверенная в бою и, со временем, обросшая множеством полезных (и не очень) модулей.

Вместе с этим, очевидно, что архитектура, заложеннная еще в 2001 году не отвечает современным требованиям.
Поэтому разработчики OpenSIPS заявили, что версия 2.0 будет вестись «с чистого листа».

Ниже приведен перевод документа OpenSIPS 2.0 Design. Интересно, что думает хабрасообщество по этому поводу.

Комментарии по существу я постараюсь передать разработчикам.

Зачем нужна новая архитектура

Текущая архитектура OpenSIPS (до версии 2.0) основана на концепциях, которым более 7 лет. В то время требования были простыми (простой stateless SIP-прокси, только UDP) и решения принимались в соответствии с этими требованиями. Но со всеми дополнениями, как в SIP так и функционале (таком как TCP/TLS, манипуляции в скрипте, поддержка диалогов, интеграция с внешними системами и т.д.), существующая архитектура больше не может удовлетворять требованиям и реальным сценариям использования.

Внимание! Внутри большой и структурированный текст с картинками.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments22

Nano: И всё-таки его придётся выучить [1]

Reading time2 min
Views108K
            Речь идёт о текстовом редакторе nano в Linux.
Я не люблю nano и предпочитаю vim. Однако, в отсутствии vim, выбирая между vi и nano, я всё-таки предпочту nano, ибо как говорится в старой поговорке, «у vi есть два режима: бибикать и всё портить».

Кроме того, идёт активная замена vi на nano во многих дистрибутивах. Например, в новых версиях Debian и Ubuntu по-умолчанию vi устанавливается в самом куцем виде. А главное, его больше нет в busybox install/initrd этих ОС, что однозначно заставляет задуматься об изучении nano, не из любви к нему, а по необходимости.

Я понимаю, что сидеть и зубрить список комбинаций кнопок бесполезно, так что вместо этого я думаю сделать маленькие nano-уроки — по 8 комбинаций или фич за урок (я и сам их планирую изучать по мере публикации).

Nano не имеет «режима команд» как vim, и этим похож на oldschool-редакторы из консоли DOS/Windows (NC, Far Manager, DN, hiew/biew, внезапно втесавшегося в список mcedit и т.д.). Все команды отдаются нажатием комбинаций клавиш — функциональными кнопками или комбинацией Ctrl-буква, Alt-буква.

Важное отличие от 'generic editor' — это поддержка эмуляции Ctrl'а и Alt'а.

Читать дальше →
Total votes 155: ↑124 and ↓31+93
Comments295

Как уместить полный рабочий день в 3 часа

Reading time3 min
Views9.5K

Вступление


C системой Аллена меня познакомили около двух лет назад. Начинал пользоваться вариантом Васи Кислого с помощью HTC Touch Pro, но глючность девайса сильно мешала освоить систему, а сам «Успеватель» не давал необходимого уровня понимания. С GTD пришлось на время расстаться.

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

Попытки вести мобильную версию системы в Nokia E63 с помощью «Активных заметок» привели к покупке книги Дэвида Аллена, переработке статьи В. Кислого, приобретению стабильно работающего, хоть и старенького HTC P3400 (а потом и более современного продукта от HTC) и введению бумажной, физически ощутимой части этой системы.

Итогом переработки стала строгая вариация за моим авторством на тему Дэвида Аллена в обработке Васи Кислого. Благодаря ей, работа стала занимать не больше 3-х часов в день. Но за это время я успеваю сделать действительно много.

Следуя этим принципам, я прихожу на работу к 11-12 часам, работаю плотно и не отвлекаясь до 15 часов. В 15 часов ухожу в зал потаскать железки, прихожу в офис к 17-30, прорабатываю за полчаса все накопившееся с 15 часов. И еду домой.

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

Кому интересно, прошу под кат.
Читать дальше →
Total votes 204: ↑150 and ↓54+96
Comments155

Об управлении временем, саморазвитии и деньгах

Reading time8 min
Views13K
Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

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

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

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

Или с деньгами.
Читать дальше →
Total votes 136: ↑117 and ↓19+98
Comments86

Гадание на информационном шуме

Reading time4 min
Views7.1K
Есть довольно обоснованное мнение, что в будущем человечество рискует захлебнуться в лавине информации, которую само же и производит ударными темпами. И что для дальнейшего нашего развития все большую и большую роль будет играть алкоголь умение управлять этой лавиной. И речь здесь идет не только о разделении потока информации на нужное и ненужное, но и о способах заставить даже «белый шум» приносить пользу.

Шаги в эту сторону делают и ученые из HP Social Computing Laboratory в Пало-Альто, Калифорния. Например, на днях ее сотрудники Ситарам Азур (Sitaram Asur) и Бернардо Хуберман (Bernardo A. Huberman) опубликовали интересную работу. В ее рамках они взялись использовать всем известный Twitter для… предсказания будущего. Правда, недалекого.

А если все же отказаться от туманных цепляющих фраз в стиле желтой прессы, то в работе говорится о прогнозировании кассовых сборов кинофильмов до их выхода в прокат. Точность прогноза, основанного на анализе обсуждения фильма в твиттере, оказывается выше, чем у принятого в качестве «золотого стандарта» в киноиндустрии рейтинга Hollywood Stock Exchange. Который, в свою очередь, представляет собой побочный продукт онлайн-игры, участники которой могут за игровые деньги покупать и продавать виртуальные «акции» актеров, режиссеров, фильмов и т.д. В свое время этот рейтинг также стал настоящим прорывом.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments8

Начинающим Java программистам

Reading time2 min
Views1.2M
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →
Total votes 120: ↑113 and ↓7+106
Comments58

WiMax ≠ 4G, LTE ≠ 4G, 4G просто не существует

Reading time2 min
Views14K
Несмотря на большие буквы 4G на рекламных бигбордах с задранной юбкой (а именно задраной юбкой привлекает внимания один из украинских WiMax-операторов), ни мобильный WiMax ни LTE не является «технологией четвертого поколения», и цель заметки провести небольшой «ликбез» на эту тему.

Для начала опредилимся, что такое 3G и 4G.

То что нам известно как 3G описывается в International Mobile Telecommunications-2000 (IMT-2000) — спецификации утвержденной Международным телекоммуникационным союзом (International Telecommunication Union, далее ITU), и радиоинтерфейсы, включенные в «третье поколение» описаны в рекомендации ITU-R M.1457, первая редакция которой была согласована еще в 1999 году.

Изначально рекомендация описывала пять технологий, которые относятся к 3G, однако в 2007 году список был дополнен стандартом IEEE802.16 [1], следовательно WiMax стал третьим поколением мобильной связи.
Читать дальше →
Total votes 175: ↑165 and ↓10+155
Comments84

Ультралегкие стартапы в Рунете: уже можно… но лень?

Reading time5 min
Views1.1K
Прочитав статью об основателе ooShirts.com Ричарде Лэе и его бизнесе, опубликованную на Хабре 9 сентября, я очень обрадовался: наконец-то об ультралегких стартапах, которые прекрасно себя чувствуют в “западных интернетах”, заговорили по-русски.

Однако комментарии к посту оптимизма поубавили, и в то же время заставили задуматься: почему отечественный “интернет-деятель” ищет десятки причин, вроде бы объясняющих нереальность повторения успеха Лэя в Рунете (под повторением имею в виду не копирование идеи, а воспроизведение модели ультралегкого стартапа, а уж продукт или услуга могут быть какими угодно), вместо того, чтобы использовать возможности, которые уже есть… или создать новую бизнес-модель, но на базе существующих сервисов?

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

А уж как именно почковаться — зависит от специфики бизнеса. Компания Лэя доверяет печать и отправку заказов стороннему производителю; разработчики приложений в социальных сетях адресуют их многомиллионной аудитории ВКонтакте или Фейсбука; сервисы коротких ссылок обрели популярность благодаря Твиттеру и прочим микроблогам и т.д.

Но если всё так просто — что делает отдельные министартапы звёздами, о которых пишут газеты и блоги? Почему на фотографии именно Ричард Лэй, а те, кто громко кричит о том, что “у нас такое невозможно” — лишь в комментариях? Попробую, не претендуя на истину в последней инстанции, изложить свою версию ответа на этот вопрос, тем более, что получил я его благодаря другой публикации на Хабре… впрочем, обо всем по порядку.

Читать дальше →
Total votes 147: ↑131 and ↓16+115
Comments124

Непрерывное wavelet преобразование

Reading time5 min
Views55K
Здравствуйте, уважаемое хабрасообщество.
В последнее время на хабре стали появляться статьи, так или иначе связанные с анализом и обработкой сигналов и изображений (например Обнаружение устойчивых признаков изображения: метод SURF, Интегральное представление изображений от BigObfuscator), в связи с чем я хотел бы вкратце осветить такой инструмент для анализа сигналов, как wavelet-преобразование.

Для того, чтобы понять смысл вейвлет анализа начнем довольно издалека. В данной статье описывается математический смысл (простыми словами) вейвлет-преобразований, о применимости и его дискретной версии я расскажу позднее.

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

Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments55

Внутри MP3. А как оно всё устроено?

Reading time5 min
Views104K


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →
Total votes 230: ↑219 and ↓11+208
Comments55

Обработка звука через Audio Data API

Reading time1 min
Views6.8K
Группа энтузиастов из числа разработчиков Firefox завершили эксперимент по обработке средствами JavaScript звуковых потоков из элементов audio и video. Пару дней назад результаты их труда опубликованы на портале Mozilla Central в разделе Audio_Data_API . Там есть несколько действительно замечательных демок. Эта разработка, скорее всего, будет включена в версию Firefox 4.

Рабочие демки


Визуализация БПФ (средствами JavaScript)

Наложение аудиоэффектов в реальном времени


Фильтр JS IIR

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments5

Information

Rating
Does not participate
Location
Биробиджан, Еврейская обл., Россия
Date of birth
Registered
Activity