Читать дальше →
Михаил @mshakhanread-only
User
Distributed Network Messaging Protocol — хорошо забытый FTN
4 min
3.7KЖила-была технология FTN aka FidoNet. Она и сейчас живет где-то на пыльных системниках, но когда интернеты в России были маленькими, это была весьма популярная технология обмена сообщениями.
Короче говоря, я решил скрестить технологии FTN и IRC, но при этом автоматизировать все возможные настройки, сведя участие рядового пользователя к указанию стартового узла для подключения, а оператора узла к подтверждению приема подключившегося в сеть. Все остальное делает компьютер. При этом никаких паролей, никаких таблиц маршрутизации, списков узлов и прочего гимора. Вернее, можно и вручную настроить, но не обязательно.

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

+28
AndroidDev #1. Создаем файловый менеджер
10 min
71K
Android — перспективная и динамично развивающаяся операционная система. И многие программисты хотят научиться программировать приложения для OS Android, но беглый поиск структурированных материалов в сети Интернет и, в частности, Рунете, приводит их в ступор. Действительно, до сих пор существует проблема поиска обучающих статей (особенно на русском языке) по разработке приложений для этой весьма популярной операционной системы.
Ну, что ж, будем потихоньку улучшать данную ситуацию при помощи Хабра.
Сразу предупрежу, что материалы предназначены для тех, кто не имеет опыта разработки приложений для Android, но очень-очень хочет этот опыт приобрести.
+81
HTML5 — взгляд через призму безопасности
10 min
26KHTML5 — будущий стандарт языка разметки Интернет. Пока он находится в стадии черновика, но все больше и больше его возможностей реализуются в популярных веб-браузерах. Но как это обычно бывает, новые технологии несут в себе и новые опасности, которые могут быть успешно проэксплоитованы.
+140
Используем транспорт разумно!?
3 min
1K
Хочется просто сказать рекламным слоганом типа: “поиск попутчиков — это podorozhniki.com”. Но за такой обзор нашего стартапа, вероятно, получил бы бан поста. Рисковать не стану и расскажу обо всем по порядку, стараясь не отнять у вас слишком много времени.
Мы запустили наш стартап, который вскармливался почти полгода нашими нервами, бессонными ночами, знаниями и конечно же вдохновением и мыслями о прекрасном и светлом будущем. Пост о проекте уже был на lifehacker.ru. Предлагаю вам расширенный обзор.
Podorozhniki.com — это глобальный и удобный carpool (carsharing) сервис, который позволяет рационально и разумно использовать транспорт, объединяя водителей и пассажиров, которым по пути. Сервис отлично подходит как для поездок по городу, так и для поездок между городами, странами. Работает везде где есть покрытие Google Maps (в дальнейшем будут и Yandex карты).
+31
Алгоритм поведения привидений в игре Pac-Man
13 min
69KTranslation
Попробовал сделать перевод вчерашнего топика-ссылки на хабре. Заранее извиняюсь, если формулировки покажутся вам кривыми, я с удовольствием приму конструктивную критику. Поехали…
Мне кажется правильным начать этот блог с темы, которая вдохновила меня в первую очередь. Не так давно я наткнулся на статью Jamey Pittman «Pac-Man Dossier», в которой приводилось очень детальное описание механики игры Pac-Man. Она показалась мне очень интересной, поэтому этот сайт — попытка собрать такую же детальную информацию об остальных играх. Но в дань уважения я все же начну с Pac-Man, а в частности, с описания алгоритма поведения привидений. Это очень интересная тема и, надеюсь, мое объяснение будет немного более понятным и доступным, чем у Джейми, потому что я сосредоточусь лишь на поведении.
Об игре:
Мне кажется правильным начать этот блог с темы, которая вдохновила меня в первую очередь. Не так давно я наткнулся на статью Jamey Pittman «Pac-Man Dossier», в которой приводилось очень детальное описание механики игры Pac-Man. Она показалась мне очень интересной, поэтому этот сайт — попытка собрать такую же детальную информацию об остальных играх. Но в дань уважения я все же начну с Pac-Man, а в частности, с описания алгоритма поведения привидений. Это очень интересная тема и, надеюсь, мое объяснение будет немного более понятным и доступным, чем у Джейми, потому что я сосредоточусь лишь на поведении.
Об игре:
«В то время все доступные игры были очень жестокими — игры о войне и космических захватчиках. Не было ни одной игры для всех сразу, а особенно, которые понравились бы девушкам. Я хотел придумать «комическую» игру, которой могли бы наслаждаться даже девушки»
— Toru Iwatani, создатель Pac-Man
+200
Objective-C для C# разработчиков
5 min
20KTutorial
«Если единственный язык, который вы знаете — это Java или C#, я не думаю, что вы профессиональный программист — вы как молодой плотник, который пока работал только с одним видом дерева.»
Дядя Боб
Несколько месяцев назад я начал разрабатывать приложения для iPhone. Переключение с платформы .NET и C# на Cocoa и Objective-C проходило не без приключений, но было достаточно интересным и познавательным. Скоро мне предстоит помогать осваивать новую платформу и другим разработчикам нашей компании. Поэтому решил написать серию вводных заметок, которые, надеюсь, сделают этот переход более плавным.
Дядя Боб
Несколько месяцев назад я начал разрабатывать приложения для iPhone. Переключение с платформы .NET и C# на Cocoa и Objective-C проходило не без приключений, но было достаточно интересным и познавательным. Скоро мне предстоит помогать осваивать новую платформу и другим разработчикам нашей компании. Поэтому решил написать серию вводных заметок, которые, надеюсь, сделают этот переход более плавным.
+68
Работа со звуком на практике
5 min
25K
В свое время я не без удовольствия прочитал замечательную статью «Гитаризм для линуксоида — why not?». И решил написать небольшое продолжение этой статьи и рассказать о некоторых вещах более практического плана, а именно создать небольшое руководство для тех, кто, скажем, неожиданно решил увековечить свое творчество путем записи относительно непростого гитарного произведения. :)
Итак, поехали.
+62
Быстрый поиск терминальных ошибок в Google
1 min
954Сколько раз вам приходилось копировать, вставлять, а затем гуглить непонятную ошибку, которую вам выдал терминал? Наверняка немало.
TualatriX — разработчик программы Ubuntu Tweak — добавил в GNOME Terminal поддержку поиска в Google. Теперь, когда вы видите что-то непонятное, вы можете просто выделить нужный фрагмент правой кнопкой мыши и найти его в Google.

TualatriX — разработчик программы Ubuntu Tweak — добавил в GNOME Terminal поддержку поиска в Google. Теперь, когда вы видите что-то непонятное, вы можете просто выделить нужный фрагмент правой кнопкой мыши и найти его в Google.

+39
Еще раз об архитектуре сетевых демонов
13 min
20KВо многих статьях, в том числе на хабре, упоминаются и даже описываются разные способы построения архитектуры сетевых сервисов (демонов). При этом мало у кого из авторов есть реальный опыт создания и оптимизации демонов, работающих с десятками тысяч одновременных соединений и/или гигабитным трафиком.
Так как большинство авторов не удосуживается хотя бы залезть в документацию, то обычно в таких статьях вся информация базируется на неких слухах и пересказах слухов. Эти слухи бродят по сети и поражают википедию, хабрахабр и другие уважаемые ресурсы. В результате получаются опусы вроде "Вы наверное шутите, мистер Дал, или почему Node.js" (пунктуация автора сохранена): она, в основном, верная по сути, но изобилует неточностями, содержит ряд фактических ошибок и изображает предмет с какого-то непонятного ракурса.
Мне было сложно пройти мимо статьи, изобилующей фразами вроде «эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах» (как будто poll() есть где-то, кроме некоторых *nix). Этот пост начинался как комментарий, разъясняющий уважаемому inikulin ошибки в его статье. В процессе написания оказалось, что проще изложить предмет с самого начала, что я собственно и делаю отдельным постом.
В моем очерке нет срыва покровов или каких-то неизвестных трюков, здесь просто описываются преимущества и недостатки разных подходов человеком, который проверял, как всё это работает на практике в разных операционных системах.
Для желающих просветиться — добро пожаловать под кат.
Так как большинство авторов не удосуживается хотя бы залезть в документацию, то обычно в таких статьях вся информация базируется на неких слухах и пересказах слухов. Эти слухи бродят по сети и поражают википедию, хабрахабр и другие уважаемые ресурсы. В результате получаются опусы вроде "Вы наверное шутите, мистер Дал, или почему Node.js" (пунктуация автора сохранена): она, в основном, верная по сути, но изобилует неточностями, содержит ряд фактических ошибок и изображает предмет с какого-то непонятного ракурса.
Мне было сложно пройти мимо статьи, изобилующей фразами вроде «эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах» (как будто poll() есть где-то, кроме некоторых *nix). Этот пост начинался как комментарий, разъясняющий уважаемому inikulin ошибки в его статье. В процессе написания оказалось, что проще изложить предмет с самого начала, что я собственно и делаю отдельным постом.
В моем очерке нет срыва покровов или каких-то неизвестных трюков, здесь просто описываются преимущества и недостатки разных подходов человеком, который проверял, как всё это работает на практике в разных операционных системах.
Для желающих просветиться — добро пожаловать под кат.
+156
Доступна специальная сборка Ubuntu 10.04 для преподавателей
1 min
2.6KСегодня стала доступна для широкой публики сборка Ubuntu 10.04 для преподавателей.
Сборка подготовлена Нижегородской LUG при поддержке НРТК и представляет из себя Ubuntu 10.04 с полной русской локализацией и набором дополнительных программ, соответствующим СБППО.
Сборка подготовлена Нижегородской LUG при поддержке НРТК и представляет из себя Ubuntu 10.04 с полной русской локализацией и набором дополнительных программ, соответствующим СБППО.
+48
Чуть больше о загрузке самодельных ОС — пишем bootloader
9 min
14KНе так давно решил чуть получше изучить архитектуру IA-32. А что лучше всего для запоминания? Конечно же практика. Но программируя в ОС мы врядли получим самый низкий уровень доступ к железу без помех. Поэтому для этих целей будем писать собственное подобие операционной системы. То есть проще говоря будем выполнять свой код, сразу после загрузки BIOS'а.
Первой проблемой с которой столкнется желающий программировать на низком уровне — как же загрузить свой код?
Первой проблемой с которой столкнется желающий программировать на низком уровне — как же загрузить свой код?
+109
Удачная модель ветвления для Git
10 min
1MTranslation
Перевод статьи Vincent Driessen: A successful Git branching model
В этой статье я представляю модель разработки, которую использую для всех моих проектов (как рабочих, так и частных) уже в течение года, и которая показала себя с хорошей стороны. Я давно собирался написать о ней, но до сих пор не находил свободного времени. Не буду рассказывать обо всех деталях проекта, коснусь лишь стратегии ветвления и управления релизами.

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

В качестве инструмента управления версиями всего исходного кода она использует Git.
+162
Как уместить полный рабочий день в 3 часа
3 min
9.7KВступление
C системой Аллена меня познакомили около двух лет назад. Начинал пользоваться вариантом Васи Кислого с помощью HTC Touch Pro, но глючность девайса сильно мешала освоить систему, а сам «Успеватель» не давал необходимого уровня понимания. С GTD пришлось на время расстаться.
С того момента многое изменилось. Количество дел и задач, требовавших внимания, значительно увеличилось. Как и уровень ответственности за неудачные или запоздалые решения. Необходимость в помощнике стала настолько значительной, что приводила к реальному эмоциональному дискомфорту.
Попытки вести мобильную версию системы в Nokia E63 с помощью «Активных заметок» привели к покупке книги Дэвида Аллена, переработке статьи В. Кислого, приобретению стабильно работающего, хоть и старенького HTC P3400 (а потом и более современного продукта от HTC) и введению бумажной, физически ощутимой части этой системы.
Итогом переработки стала строгая вариация за моим авторством на тему Дэвида Аллена в обработке Васи Кислого. Благодаря ей, работа стала занимать не больше 3-х часов в день. Но за это время я успеваю сделать действительно много.
Следуя этим принципам, я прихожу на работу к 11-12 часам, работаю плотно и не отвлекаясь до 15 часов. В 15 часов ухожу в зал потаскать железки, прихожу в офис к 17-30, прорабатываю за полчаса все накопившееся с 15 часов. И еду домой.
Пока я не разобрался и не адаптировал под себя систему Аллена, мой рабочий день не ограничивался 8 часами в офисе. Приходилось работать еще вечером дома.
Кому интересно, прошу под кат.
+96
Пуск приложеньица
3 min
6.4KЕкатерина Лажинцева занимается русификацией продуктов Microsoft ещё со времён Windows for Workgroups. Некоторое время она публиковала в своём ЖЖ занятные случаи из прошлых локализаций, включая историю приснопамятного «приложеньица» в IE 4.0.
В настройках JVM необычные переводы отыскиваются до сих пор:
И он отчасти от неопытности, отчасти в пылу молодого задора переводил не совсем обычным образом. Много чего мы все-таки вернули в более привычный вид, но вот «приложеньице запущено» было замечено слишком поздно, когда строка уже ушла из Ирландии в Редмонд для включения в Java-машину, и исправить это нам уже не дали. (из других интересных переводов: Access denied «В притязаниях отказано».)
В настройках JVM необычные переводы отыскиваются до сих пор:

+87
Опубликован весь архив Computer Science клуб при ПОМИ РАН
2 min
6.2KДобрый день!
Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.

Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.
UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.
Под катом перечень курсов и несколько вопросов касательно вебинаров.
Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.

Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.
UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.
Под катом перечень курсов и несколько вопросов касательно вебинаров.
+223
Организация работы с git submodules
2 min
86K
Под катом маленький workflow по работе с проектом на Symfony2.
+19
Искусство программирования под Unix (и не только). Часть шестая, «правило кодоэкономии»
6 min
1.1KЯ продолжаю цикл статей, посвященных некоторым простым правилам разработки под Unix «по версии Эрика Реймонда», которые, по моему глубочайшему убеждению, могут быть распространены на любые другие операционные системы. Я уже рассказывал в первых трех частях о правилах модульности, ясности, композиции, разделения и простоты. Сегодня дело дошло до шестого правила —
Правило кодоэкономии: разрабатывайте большие программы только при наличии объективных причин это делать
Правило кодоэкономии: разрабатывайте большие программы только при наличии объективных причин это делать
+37
Непрерывное wavelet преобразование
5 min
57KЗдравствуйте, уважаемое хабрасообщество.
В последнее время на хабре стали появляться статьи, так или иначе связанные с анализом и обработкой сигналов и изображений (например Обнаружение устойчивых признаков изображения: метод SURF, Интегральное представление изображений от BigObfuscator), в связи с чем я хотел бы вкратце осветить такой инструмент для анализа сигналов, как wavelet-преобразование.
Для того, чтобы понять смысл вейвлет анализа начнем довольно издалека. В данной статье описывается математический смысл (простыми словами) вейвлет-преобразований, о применимости и его дискретной версии я расскажу позднее.
Спектральный анализ — это один из методов обработки сигналов, который позволяет характеризовать частотную составляющую измеряемого сигнала.
В последнее время на хабре стали появляться статьи, так или иначе связанные с анализом и обработкой сигналов и изображений (например Обнаружение устойчивых признаков изображения: метод SURF, Интегральное представление изображений от BigObfuscator), в связи с чем я хотел бы вкратце осветить такой инструмент для анализа сигналов, как wavelet-преобразование.
Для того, чтобы понять смысл вейвлет анализа начнем довольно издалека. В данной статье описывается математический смысл (простыми словами) вейвлет-преобразований, о применимости и его дискретной версии я расскажу позднее.
Спектральный анализ — это один из методов обработки сигналов, который позволяет характеризовать частотную составляющую измеряемого сигнала.
+59
Десять вещей, которые вы не ожидали от HTML/Javascript
1 min
4.7KTranslation
Пятнадцать лет назад трудно было представить, что когда-нибудь HTTP, HTML, CSS и Javascript станут основными технологиями для доступа к информации и заменят целые классы десктопных приложений. Например, вот десять примеров того, что сложно было ожидать от веб-технологий в 2010 году, но они это делают.
1. Интерактивный рендеринг физики ткани

2. Распознавание объектов на видео в реальном времени

1. Интерактивный рендеринг физики ткани

2. Распознавание объектов на видео в реальном времени

+58
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity