Bobos @Bobos
Пользователь
Анонимные сети и timing атаки: малозатратная атака на Tarzan и Morphmix
5 min
1.6KTranslation
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)
Для проверки на Tarzan и MorphMix мы взяли ту же модель атаки которая использовалась в Tor. Нападающему нужно две вещи: вредоносный узел и вредоносный сервер. В качестве вредоносного узла в обоих сетях (Tarzan и MorphMix) будет выступать отправитель. В терминологии Tarzan он называется Tarzan-клиент, в MorphMix — узел-инициатор.
Далее, вредоносный узел должен получить список всех других узлов сети. Затем, он устанавливает соединение с каждым из них и отслеживает возникающие в соединениях задержки. Наблюдение должно вестись некоторое время. На протяжении всего периода наблюдения вредоносный сервер не прекращая шлет свой трафик в систему. По окончанию периода наблюдения, результаты замеров задержек в каждом соединении используются для оценки объемов трафиков соответствующих узлов. Затем нагрузки узлов сравниваются с трафиком сервера. Если выявляются совпадения значит узел входит в анонимизирующую цепочку. Проведя сравнение для всех узлов можно выявить всю цепочку.
Для проверки на Tarzan и MorphMix мы взяли ту же модель атаки которая использовалась в Tor. Нападающему нужно две вещи: вредоносный узел и вредоносный сервер. В качестве вредоносного узла в обоих сетях (Tarzan и MorphMix) будет выступать отправитель. В терминологии Tarzan он называется Tarzan-клиент, в MorphMix — узел-инициатор.
Далее, вредоносный узел должен получить список всех других узлов сети. Затем, он устанавливает соединение с каждым из них и отслеживает возникающие в соединениях задержки. Наблюдение должно вестись некоторое время. На протяжении всего периода наблюдения вредоносный сервер не прекращая шлет свой трафик в систему. По окончанию периода наблюдения, результаты замеров задержек в каждом соединении используются для оценки объемов трафиков соответствующих узлов. Затем нагрузки узлов сравниваются с трафиком сервера. Если выявляются совпадения значит узел входит в анонимизирующую цепочку. Проведя сравнение для всех узлов можно выявить всю цепочку.
+20
Lightcycle demo using WebGL (part 0)
17 min
4.3KВступление
Мне нравится осваивать новые технологии, делая то, чем раньше вообще не занимался. А еще мне нравится TRON. Оба фильма, кстати. Помню, еще до того, как я их посмотрел, в студенческие дремучие времена, я играл в Armagetron и фанател от гонок на светоциклах. После просмотра TRON: Legacy мне внезапно захотелось сделать свой Tron с гридом и изоморфами. Недолго думая, я запустил любимую Visual Studio Express и задумался — а чем это мое творение будет отличаться от свалки клонов «Трона»? Студия плавно закрылась, а мой энтузиазм несколько поутих. Ровно до того момента, как мне на глаза попалась какая-то статья о WebGL. Глаза снова загорелись, а руки сами потянулись к редактору. В голову как-то не приходила мысль, что последний раз я на JavaScript делал обработчик нажатия кнопки на зачет по какому-то предмету.
Итак, сегодня в программе:
- Низкоуровневое программирование WebGL.
- Рендеринг простого трехмерного объекта.
- Подробные комментарии процесса разработки.
- Много букв и код на JavaScript.
- Бесплатная выпивка и приятная музыка.

Статья предназначена для тех, кому просто нечего делать и хочется почитать про то, как другие тратят свое время за компьютером вместо прогулок под теплым летним солнцем.
+77
Описание SkypeKit (headless Skype)
2 min
5.5KSkypeKit – это Skype без GUI, управляемый по API и имеющий много интересных функций, которых нет в обычном Skype.
Как оказалось, достаточно сложно получить доступ к SkypeKit. Попробую заполнить этот пробел. Материала очень много, потому начну с общего обзора. Если какие-то моменты потребуют прояснения, спрашивайте — либо дополню, либо напишу другую статью (как я понял, много информации о SkypeKit есть в открытых источниках, так что пока содержание не очень уникально).
Как оказалось, достаточно сложно получить доступ к SkypeKit. Попробую заполнить этот пробел. Материала очень много, потому начну с общего обзора. Если какие-то моменты потребуют прояснения, спрашивайте — либо дополню, либо напишу другую статью (как я понял, много информации о SkypeKit есть в открытых источниках, так что пока содержание не очень уникально).
+34
Push + ActiveMQ — ZendFramework =… или история одного драйвового проекта
11 min
5.9K
Одним прекрасным утром к нам в офис забежал молодой парень, с амбициозной идеей и “средствами для реализации” в кармане. “Заходишь на сайт, а там — телевизор. К нему можно подключиться через свою web-камеру. Одновременно может вещать только один человек, остальные — ждут своей очереди (но можно посмотреть скриншоты с их вебкамер). Задача каждого — удержаться в эфире, как можно дольше. Если выступающий нравится публике — все жмут “Cool!”, если подкачал — “Go away!”. И человек заменяется на следующего в очереди. Ну и можно в чат писать”.
Хорошая идея — драйвовый проект. Рисуем прототип, решаем реализовать обновление чата, списка пользователей, рейтинга и т.д. с помощью push-технологии. Это когда после загрузки страницы соединение между клиентом и сервером не закрывается, а продолжает использоваться для отправки сервером каких-либо событий на клиента.
Осторожно! Эта шняга может убить ваш сервер! Кстати, если вы вдруг решите написать высконагруженный скандинавский аукцион – истина и веселые картинки где-то рядом, под катом.
+118
Как доделать игру
9 min
28KTranslation
На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.

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

Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.
+128
Эмулятор компьютера с linux на JavaScript
2 min
46KНикакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.
bellard.org/jslinux
(внимание, только хром и FF4)
Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.

dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).
Я никогда не думал, что мы доживём до подобного.
… А теперь начинается оргия:
* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.
(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).
Я это пишу как хохму, но в реальности, если у вас есть линукс и есть — у вас есть все возможности для работы чего угодно. Любые сетевые приложения, любые системы синхронизации и управления.
Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…
Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.
Итак, эмуляция дошла до браузеров…
bellard.org/jslinux
(внимание, только хром и FF4)
Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.

dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).
Я никогда не думал, что мы доживём до подобного.
… А теперь начинается оргия:
* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.
(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).
Я это пишу как хохму, но в реальности, если у вас есть линукс и есть — у вас есть все возможности для работы чего угодно. Любые сетевые приложения, любые системы синхронизации и управления.
Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…
Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.
Итак, эмуляция дошла до браузеров…
+304
Домашний роутер, медиасервер и лаба в одном HP Microserver (часть1)
3 min
20KTutorial
Подарили мне на работе на день рождения HP N36L Microserver за непонятные заслуги, чем весьма меня озадачили вопросом о наилучшем его применении. Так-то я давно мечтал заменить старенький HP DC4200 на что-то более компактное и, главное, с большим количеством места под жёсткие диски. Но больше смотрел на башенные корпуса, в которые можно было бы насовать пару-тройку корзин на пять 3.5”HDD. А тут такая оказия.
Прошерстил интернеты, почитал умных и не очень людей и, как водится у настоящих комсомольцев, решил идти своим путём.
Прошерстил интернеты, почитал умных и не очень людей и, как водится у настоящих комсомольцев, решил идти своим путём.
+33
Домашний роутер, медиасервер и лаба в одном HP Microserver (часть2)
6 min
41KTutorial
Вторая часть краткой, но познавательной повести о комсомольском пути установки и настройки домашнего сервера для различных нужд.
Первая часть тут.
Первая часть тут.
+44
In-app purchasing или внутренние платежи в приложениях для Android
7 min
57KО чем это вообще?
С версией приложения Android Market 2.3.0 для разработчиков приложений для платформы Android открылась возможность предоставлять пользователям платежи внутри самих приложений. Теперь можно продавать уровни и артефакты, видео, музыку, плагины и прочее, пользуясь лишь встроенными средствами платформы. Давайте увидим, как это можно сделать.
Что нам понадобится?
Как обычно, любимая IDE, Android SDK и пример приложения.
Так же будет полезным представлять себе, что такое Service, BroadcastReceiver и, конечно, Activity.
Так же нам понадобится разрешение в файле манифеста —
<uses-permission android:name="com.android.vending.BILLING"/>
, без него ничего не заработает.Как это в принципе работает?
+36
А MVC ли это?
6 min
25KДобрый день!
Сегодня я хочу поделиться с Вами мыслями относительно архитектуры информационных систем, в частности, разнообразных подходов к распределению логики, данных и отображения, традиционно причисляемых к MVC.
За последние две недели, в беседах с десятком знакомых программистов я выяснил, что все представляют себе MVC совершенно по-разному. Доходит до диаметрально противоположных взглядов, но по какой-то причине, все настаивают, что это MVC и что он должен выглядеть именно так, и находятся в полной уверенности, что все его так и видят.
Сегодня я хочу поделиться с Вами мыслями относительно архитектуры информационных систем, в частности, разнообразных подходов к распределению логики, данных и отображения, традиционно причисляемых к MVC.
За последние две недели, в беседах с десятком знакомых программистов я выяснил, что все представляют себе MVC совершенно по-разному. Доходит до диаметрально противоположных взглядов, но по какой-то причине, все настаивают, что это MVC и что он должен выглядеть именно так, и находятся в полной уверенности, что все его так и видят.
+67
Эргономика компьютерных игр
5 min
19KTranslation

Некоторые игры можно считать своеобразными произведениями искусства, в которых пользователь одновременно выступает в качестве актера и режиссера. Разработка интерфейсов игровых программ предполагает не только решение сугубо утилитарных задач, связанных с обеспечением простоты и удобства управления игрой, но еще и создание у пользователя определенного эмоционального настроя. Хорошая игра должна, во-первых, увлекать и всецело затягивать, а во-вторых — вызывать чувство эстетического удовлетворения. Как сделать игру увлекательной, красивой и удобной? Есть ли какие-то отличия между интерфейсами игр и интерфейсами прочего ПО? Какие моменты следует учитывать при проектировании игровых приложений? Приглашаем к обсуждению этих вопросов на материале приводимой статьи.
+11
Cisco Router + 2ISP + NAT. Доступность сервиса через 2ух провайдеров
9 min
47K
Толчок. За ним ещё один, сильнее. Вот и всё. Перед глазами проносились альпийские луга, и девушка в бежевом сарафане, игриво крутя в точёных ручках кружевной зонтик проносилась мимо тоже. Проносилась, не сбавляя скорости, несмотря на то, что я тянул к ней свои менее точенные, но крепкие ручонки, а также жестами и мимикой изображал, в меру сил своих, какой всесторонний кундюшок её может ожидать, раскинь она мне руки навстречу (ну или ещё что раскинь).
Но случилось что случилось, и лишь ловко выхваченный зонтик из её, кстати, не только точённых но и цепких рук, немного оттенял розовыми тонами последние секунды моего пробуждения и согревал разбитое сердце (без зонтика, закрывающего её шевелюру, девушка оказалась на поверку немного, мягко говоря, плешиватой). Открыв глаза я, как то не странно, увидел себя не посреди развалин Ниигаты, и сразу отринул сейсмическую природу толчков. Немного отлегло. Перестал кричать – «Покинуть корабль!». С укором взглянул на начальника отдела трясущего меня за плечо. Который, вместо извинений принёс мне весть, что нас с ним ожидают у директора, для постановки одного маленького, но очень ответственного задания. Не приняв его слова близко к сердцу, я несколько раз пытался вернуться к своей плешивой искусительнице, но начальник продолжал проявлять чудеса настойчивости. Пришлось идти.
+20
IT в медицине в Клубе Инноваторов
3 min
6.8K26 марта 2011 года прошла 18-ая встреча Клуба Инноваторов. Она была посвящена информационным технологиям в медицине.

Об опыте внедрения информационных систем в российских медицинских учреждениях, о правовых и этических сложностях таких систем в России и неприменимости зарубежного опыта к отечественным реалиям публике поведала заместитель генерального директора компании КОРУС Консалтинг Инна Викторовна Ашенбреннер.
В противовес отечественным сложностям с информатизацией медицинских услуг Максим Игнатов, руководитель проектов из компании e-Legion, рассказал собравшимся об опыте работы с несколькими крупнейшими госпиталями Соединенных Штатов Америки. Там система здравоохранения и оказание медицинской помощи построены совсем по другому принципу, нежели в России.

Об опыте внедрения информационных систем в российских медицинских учреждениях, о правовых и этических сложностях таких систем в России и неприменимости зарубежного опыта к отечественным реалиям публике поведала заместитель генерального директора компании КОРУС Консалтинг Инна Викторовна Ашенбреннер.
В противовес отечественным сложностям с информатизацией медицинских услуг Максим Игнатов, руководитель проектов из компании e-Legion, рассказал собравшимся об опыте работы с несколькими крупнейшими госпиталями Соединенных Штатов Америки. Там система здравоохранения и оказание медицинской помощи построены совсем по другому принципу, нежели в России.
+20
Текстурирование спрайтов с помощью (dis)placement map
3 min
5.1K
Недавно, ковыряя с целью исследования один чужой проект, наткнулся на весьма любопытную и в то же время — очень простую технологию. Сразу скажу, что ковырял я флэшку, но данная технология может быть использована не только во флэше, а вообще — где угодно.
Если коротко, то технология позволяет иметь одну отрендеренную анимацию и накладывать на нее разнообразные скины, тем самым получая внешне различные объекты.
Суть в том, что в изучаемой мной игре есть большое количество анимированных спрайтов человечков (как я изначально считал — заранее отрендеренных). Человечки разные (по-разному одетые, разных цветов и т.п.).
+181
Приобщение к миру USB-устройств на примере микроконтроллеров от Silicon Laboratories
10 min
62KУстройства от Silicon Laboratories не пользуются широкой популярностью в любительских кругах, им далеко до таких флагманов, как Atmel. Однако у них есть и вполне доступные простому смертному микроконтроллеры основных линеек в корпусе TQFP, и стартовые комплекты USB ToolStick (о чем совсем недавно упоминалось на хабре). Я сам начал свое знакомство с микропроцессорной техникой, работая с «силабсами», и вполне успешно.
В данной статье я расскажу, каким образом можно организовать связь компьютера с МК, используя USB-интерфейс, и как Silabs попытались сделать это простым для разработчика.
В качестве испытуемого будем использовать плату С8051F320DK, с микроконтроллером соответственно F32x серии, поддерживающей USB аппаратно, и Keil'овскую среду разработки uVision4.
В данной статье я расскажу, каким образом можно организовать связь компьютера с МК, используя USB-интерфейс, и как Silabs попытались сделать это простым для разработчика.
В качестве испытуемого будем использовать плату С8051F320DK, с микроконтроллером соответственно F32x серии, поддерживающей USB аппаратно, и Keil'овскую среду разработки uVision4.
+56
Мысли о свободном ПО в области систем учета
3 min
17KНедавно пробегала тема про существующие открытые продукты в области учетных систем (CRM, ERP, автоматизация бух. учета и прочее). Не участвовал в дискуссии, которая местами была жаркой, но разные мысли в голове крутились. В итоге всех размышлений родился этот топик. Чтоб не утруждать читателей ходом размышлений вынесу до ката их резюме:
Дайте нам(разработчикам систем учета) удобный инструмент (платформу, framework) — и открытые учетные системы (в т.ч. и системы автоматизации российского бух. учета) появятся!
Тема и рассуждения касаются систем автоматизации малого и среднего бизнеса. Корпорации-гиганты и их системы автоматизации (SAP и прочие) я не обсуждаю (это отдельная большая тема, с отдельными вопросами, подходами и проблемами)
Дайте нам(разработчикам систем учета) удобный инструмент (платформу, framework) — и открытые учетные системы (в т.ч. и системы автоматизации российского бух. учета) появятся!
Тема и рассуждения касаются систем автоматизации малого и среднего бизнеса. Корпорации-гиганты и их системы автоматизации (SAP и прочие) я не обсуждаю (это отдельная большая тема, с отдельными вопросами, подходами и проблемами)
+37
Скорость и стоимость работы с данными Google App Engine в таблицах
5 min
2.6KСтолкнувшись с вопросом выбора базы данных для проекта, провел небольшое исследование Google App Engine на предмет скорости работы с данными. Результаты исследования оформил в виде таблиц.
Эти подсчеты сэкономят время тем, кто ищет площадку для размещения своего проекта, но не уверен подходит ли ему Google App Engine. Кроме того эти таблицы можно использовать как некую «шпаргалку», чтобы примерно ориентироваться сколько времени займет обработка запроса и как его лучше оптимизировать.

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

+57
2000 из 3000 иконок готово — стань соавтором! (стол заказов)
1 min
15KНе так давно на хабре был топик, который привел на наш сайт 17 тысяч посетителей за два дня (11,828+5,100 on October 21, 2010). С 2009го года эта уже не первая волна, а последние иконки будут нарисованы в первой четверти 2012го года. Best reseller hosting providers.

Не хватает еще 1000 иконок для best email hosting. Готовы ли вы предложить метафоры, которых у нас еще не хватает? Тогда follow me…

Не хватает еще 1000 иконок для best email hosting. Готовы ли вы предложить метафоры, которых у нас еще не хватает? Тогда follow me…
+206
Инструменты кросскомпиляции для ARM
3 min
30KВ сети есть достаточно много источников на тему сборки приложений под архитектуру ARM, но когда я впервые столкнулся с такой задачей, то набил не одну шишку. Этот топик будет про самые начала кросскомпиляции и различные подходы к этому вопросу.
Моё устройство принадлежит к архитектуре ARMv5TE и разработка велась на x86 машине с Ubuntu Linux.
Так как это введение, то собирать будем простую программу для высчитывания факториала числа.
Подход 1. Коммерческий.
Моё устройство принадлежит к архитектуре ARMv5TE и разработка велась на x86 машине с Ubuntu Linux.
Так как это введение, то собирать будем простую программу для высчитывания факториала числа.
Подход 1. Коммерческий.
+24
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity