Search
Write a publication
Pull to refresh
51
0
Глеб Арестов @arestov

User

Send message

Опубликован весь архив Computer Science клуб при ПОМИ РАН

Reading time2 min
Views6.2K
Добрый день!

Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.


Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.

UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.

Под катом перечень курсов и несколько вопросов касательно вебинаров.
Читать дальше →

Криптоанализ шифра Виженера

Reading time4 min
Views20K
Прежде всего предположим, что противник уверен в том, что шифрованный текст был получен либо с помощью моноалфавитной подстановки, либо с помо¬щью шифра Виженера. Чтобы выяснить, какой именно из этих двух методов был использован, можно провести простой тест. Если использовалась моноалфа¬витная подстановка, статистические показатели шифрованного текста не будут отличаться от соответствующих показателей языка, на котором написан откры¬тый текст. Если для анализа имеется лишь одно сообщение, точного совпадения статистиче¬ских показателей можно и не получить. Но если статистика достаточно точно повторяет статистику обычного открытого текста, можно предположить, что использовалась моноалфавитная подстановка.

Если же, наоборот, все указывает на то, что был применен шифр Виженера, то, как мы увидим несколько позже, успех дальнейшего анализа текста зависит от того, удастся ли определить длину ключевого слова. Решение этой задачи ос¬новано на следующей особенности данного шифра: если начальные символы двух одинаковых последовательностей открытого текста находятся друг от друга на расстоянии, кратном длине ключа, эти последовательности будут представлены одинаковыми последовательностями и в шифрованном тексте. Например, пусть в открытом тексте имеются две одинаковые последовательности символов (слово или их сочетание), тогда если они будут зашифрованы при с использованием одного и того же фрагмента ключа, мы получим одинаковые последовательности символов шифротекста. Аналитик, имеющий в своем распоряжении только шифрованный текст, обнаружит повторяющуюся последовательность символов со смещением в К (кратное длине ключа) символов.
Читать дальше →

Использование коэффициента Танимото для поиска людей с одинаковыми предпочтениями

Reading time3 min
Views13K
Решая упражнения к книге «Программируем коллективный разум», я решил поделиться реализацией одного из алгоритмов упомянутого в этой книге (Глава 2 — Упражнение 1).

Исходные условия следующие: пусть мы имеем словарь с оценками критиков:

critics={'Lisa Rose'{'Superman Returns'3.5'You, Me and Dupree'2.5'The Night Listener'3.0}
           'Gene Seymour'
{'Superman Returns'5.0'The Night Listener'3.5'You, Me and Dupree'3.5}}

Чем выше оценка, тем больше нравится фильм.
Надо вычислить: насколько схожи интересы критиков для того, например, чтобы можно было на основе оценок одного рекомендовать фильмы другому?

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

Canvas-трансформации доступным языком

Reading time3 min
Views53K
Доброго времени суток, хабравчане! В этой статье я подробно расскажу вам о трансформации и вращении в javascripte. Матрица трансформаций, на первый взгляд, штука непонятная и многие ею пользуются даже не осознавая, что она делает на самом деле, используя готовые значения из интернета. На MDC об этом рассказано скудненько, а информацию в английской Википедии тяжело назвать общедоступной. Постараемся разобраться в этом вместе.
Читать дальше →

Новая версия Last.fm free music player для Google Chrome

Reading time2 min
Views2.1K
Прошел месяц с выпуска прошлой версии плагина для Google Chrome, расширяющего возможности всеми любимого Last.fm (предыдущий хабратопик), и за это время он обзавелся большим количеством новых возможностей.


Ссылка на плагин:http://goo.gl/zLP0
Читать дальше

Как работают алгоритмы сортировки

Reading time1 min
Views22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».

Несколько советов для PHP-разработчиков

Reading time4 min
Views8K
image Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
Читать дальше →

Студенческие стартапы: минимум финансирования, один компьютер

Reading time2 min
Views1.4K
Если есть хорошая идея и безудержное желание работать, то начинающему предпринимателю не нужен стартовый капитал. Даже в американском интернет-бизнесе, где нет проблем с инвесторами, всё чаще появляются так называемые сверхлёгкие стартапы (ultralight startups), созданные без венчурного финансирования, одним человеком с минимальным вложением средств.



Парень на фотографии — 19-летний студент Рэймонд Лэй (Raymond Lei) из Беркли. В августе его сайт ooShirts.com по дизайну индивидуальных футболок имел оборот $60 000, а по итогам года он рассчитывает на $700 000. При этом все вложения в бизнес не превысили $2200 на работу индийского программиста и раскрутку сайта в поисковиках по ключевым словам вроде [custom T-shirts].
Читать дальше →

Почему текст, набранный заглавными буквами, трудно читать

Reading time2 min
Views65K
image
Неизвестно откуда пошла мода на оформление текста заглавными буквами, но факт остается фактом – использование заглавных букв окружает нас повсеместно. Если вы напишете в интернете текст прописными, люди решат, что вы кричите, или усомнятся в вашем психическом здоровье. Но чаще всего все прописные раздражают людей, а текст написанный таким образом очень трудно быстро прочесть.
Читать дальше →

Скотт Макнили взялся за учебники

Reading time1 min
Views1.1K
К несчастью для книгоиздателей, у сооснователя Sun Скотта Макнили появилось много свободного времени после того, как Oracle купила его компанию. Макнили решил вложить время и деньги в свой старый проект Curriki, где выкладываются в свободный доступ учебники и лекции. Это реальная угроза для издательского бизнеса, который зарабатывает на продаже учебников от $8 млрд до $15 млрд в год, с каждым годом повышая цены, пишет NY Times.


Скотт Макнили со своим 12-летним сыном.
Читать дальше →

Из России с торрентом: онлайн просмотр торрентов и не только

Reading time1 min
Views1.7K
Добрый день!
Представляю сообществу храбра детище нашей команды разработчиков.
Встречайте MediaGet! media-get.ru
image
Его ранняя сыренькая версия уже была упомянута на хабре.
Сейчас уже программа претерпела множество доработок и в нее были добавлены новые фичи.
Наша задача была сделать торрент-клиент ориентированный как на опытных пользователей торрентов, так и на людей вообще не знакомых с p2p.
Читать дальше →

Ресайзинг изображений со скоростью 180 штук в секунду

Reading time3 min
Views4K
Программисты с Etsy.com поделились опытом, как им удалось эффективно решить задачу по пакетному ресайзингу фотографий с 1,5 МБ до 3 КБ (после смены дизайна оказалось, что старые превью-окошки не вписываются в новые шаблоны страниц). Задача не такая банальная, как кажется. Дело в том, что Etsy.com — крупный интернет-аукцион, и количество изображений различных товаров превышает 135 млн штук.

Ради шутки они прикинули, сколько займёт эта работа вручную в «Фотошопе». Если на каждую фотографию отдать по 40 секунд, то выходит 170 лет непрерывного труда. Затем они начали считать, можно ли отдать пакет в облако EC2 и во сколько это встанет. Посмотрев на получившуюся сумму, программисты решили поискать другой способ.

В итоге им удалось завершить обработку 135 млн фотографий всего за 9 дней, задействуя четыре 16-ядерных сервера. Средняя скорость обработки составила 180 изображений в секунду.
Читать дальше →

Bitcoin (฿): пиринговая криптовалюта

Reading time1 min
Views49K
Неделю назад вышел релиз Bitcoin 0.3.0, единственной в мире полностью децентрализованной анонимной платёжной криптосистемы, которая создаётся по принципам open source. Это уникальная в своём роде валюта уже доказала, что эмиссия платёжных инструментов и контроль за их обращением возможен исключительно на основе P2P-отношений и системы криптографических ключей, без какого-либо эмиссионного центра. Таким образом, Bitcoin (฿) не может обесцениться из-за политики Центробанка какой-либо страны, как в случае с долларом, евро или любой другой «национальной» валютой.


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

Как примирить файлообмен и авторское право

Reading time9 min
Views1.5K
p2market is p2p and copyright
Однажды в далеком 2003 я задумался о возможности легализовать файлообмен в p2p сетях. Хотелось найти решение, которое устроило бы и файлообменщиков и правообладателей. Понятно что для этого потребуется компромисс и обе стороны должны будут пойти на некоторые уступки.

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

Если мы говорим о деньгах, то нам придется в основном принципе файлообмена заменить слова «получать и отдавать», на «покупать и продавать». Получим новое правило уже для файлообменного рынка: каждый может покупать, каждый может продавать. Такой видоизмененный принцип послужил основой для построения системы P2Market, о которой я и хотел бы рассказать уважаемому собранию в этой статье.
Читать дальше →

VirtualBox 3.2: теперь можно запускать MacOS X в виртуальной машине. Под windows и linux

Reading time2 min
Views73K
logoНеожиданно тихо прошел релиз новой версии virtualbox, в котором впервые появилась возможность запускать в виртуальной машине MacOS X. Официально. С оригинального диска. Не хакинтош.

Почитать что получилось а что нет

Vkontakte Open Media Player

Reading time2 min
Views1.2K

Вступление


Хочу представить вам свою опенсорс разработку — Vkontakte Open Media Player, которая позволяет удобно смотреть кино и сериальчики из вконтакта с выбором качества (имеется ввиду разрешение видео, а не качество рипа, хотя и оно часто указано :) ).
Немного подробностей внутри.
Тут будут подробности.

Кеширование блоков с помощью nginx

Reading time6 min
Views15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Объединение браузеров в непотопляемый трекер

Reading time6 min
Views4.2K
vseisk-p2p Одноранговые сети стали мощнейшей силой в современном интернете. Клиентские программы p2p-сетей объединяют компьютеры в гигантские сетевые «организмы», причем создают, поддерживают и контролируют эти сети сами конечные пользователи. Сегодня на каждом компьютере практически всегда открыт браузер. Объединяя браузеры в p2p-сеть получаем распределенную систему, которая всегда под рукой и которая может быть полезна для решения многих насущных задач.

Недавно я рассказывал о расширении Firefox, которое объединяет браузеры в p2p-поисковую сеть Всеиск. Теперь эта сеть освоила дополнительные функции: публикация/поиск торрентов и трекер для BitTorrent. Прежде чем перейти к подробному описанию, я в двух словах поясню постановку задачи.

Важнейшими узлами p2p-сети BitTorrent являются торрент-сайты. Через них пользователи находят раздачи, через них осуществляется координация текущих раздач. Однако торрент-сайты оказываются не только важнейшими, но и самыми слабыми точками BitTorrent. Уязвимость заключается прежде всего в том, что соответствующий сервер можно заблокировать, запретить, отобрать и т.п.

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

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

Express — Sinatra для Node

Reading time1 min
Views3K
require.paths.unshift('path/to/express/lib');
require('express');

get('/', function(){
 this.redirect('/hello/world')
});

get('/hello/world', function(){
 return 'Hello World'
});

get('/bye/world', function(){
 this.render('title.html.haml', {
  layout: false,
  locals: {
   title: 'Bye World'
  }
 });
});

run();

В стремлении сделать серверный JavaScript похожим на Rails или Sinatra мы получили Express. Чистый и простой. Простой и чистый.

На наших глазах рождается новый вид спорта: воздушные гонки на реактивных самолётах в геопривязанной дополненной реальности

Reading time2 min
Views3.3K
Обратите внимание на вот эту видеозапись, взятую из статьи на Membrana.Ru от 27 апреля:



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

Пилот наблюдает дополненную реальность через наголовный шлем, а зрители — при помощи большого компьютерного экрана или (как сообщил закадровый голос диктора видеоролика) при помощи собственных iPhone и iPad.

Всё это очень напоминает компьютерную игру, вот только происходит в реальности — правда, дополненной. А создатель этих гонок вдохновлялся татуинскими подрэйсерами из первого эпизода «Звёздных Войн».

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

Information

Rating
Does not participate
Date of birth
Registered
Activity