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

User

Send message

Проходим сквозь стены NAT-ов

Reading time2 min
Views2.6K
image Повсеместное распространение NAT казалось препятствует свободному обмену трафиком между компьютерами, находящимися за одним из них, и практически делает это невозможным, если оба компьютера скрыты за разными NAT серверами, естественно если вы не администратор обоих NAT серверов. Однако Samy Kamkar легко и непринужденно не только преодолел это, но и сделал программу которая позволяет преодолевать подобные препятствия. В настоящее время данная программа доступна только пользователям *nix подобных систем.

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

Клиент может подключаться через такой сервер к любым ресурсам, либо только тем что ограничены сервером pwnat. Данный инструмент основан на построении UDP-тоннеля. Принцип работы весьма оригинальный и прекрасно описан автором, рекомендую ознакомиться, ибо решение данного вопроса оказалось весьма интересным и неожиданным. Давно не встречал ничего подобного.

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

Как запретить браузеру выделять текст

Reading time4 min
Views180K
Если Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
Читать дальше →

Как обойти URL-фильтры с помощью математики

Reading time1 min
Views5.2K
Может быть для кого-то станет открытием, но современные браузеры могут воспринимать URL не только в десятичной системе, но также в 8-ричной и 16-ричной, и даже единым 32-битным числом. То есть URL типа 66.102.13.19 можно представить несколькими разными способами.

0x42.0x66.0x0d.0x63
0x42660d63
1113984355
00000102.00000146.00000015.00000143

Щёлкаете по любому из вариантов — и попадаете на google.com.
Читать дальше →

Дата-центры охлаждают ветром

Reading time2 min
Views1.4K
На северо-востоке Англии, возле городка Биллингем, введён в строй дата-центр с уникальной системой охлаждения, которая использует ледяной ветер с Северного моря. Климатические условия таковы, что ветер дует стабильно и постоянно, причём всегда почти в одном направлении. Для системы вентиляции дата-центра это идеальные условия.

Воздушные потоки из атмосферы сначала пропускают через фильтры (интересно, как они фильтруют солёный воздух?), а потом через восемь 2,2-метровых вентиляторов они поступают прямо на серверные стойки: см. виртуальный тур по зданию. Таким образом, в рабочем помещении дата-центра поддерживается постоянная температура 24°C. Когда ветер становится слишком холодным, то в системе вентиляции его слегка подогревают от теплообменников, которые снимают тепло с серверов.

Дата-центр Wynyard построен подрядчиком EDS для компании HP.
Читать дальше →

OCR и нейронная сеть на Javascript

Reading time1 min
Views7.4K
Некий Shaun Friedle написал любопытный javascript который автоматизирует распознавание captcha на megaupload.

Пара любопытных особенностей скрипта:
  1. используется HTML 5 функция javascript getImageData для работы с пикселями;
  2. используется искусственная нейронная сеть для распознавания и работает довольно точно.

Пример работы: herecomethelizards.co.uk/mu_captcha
Исходник: userscripts.org/scripts/review/38736

Sikuli — program ANYTHING using GUI screenshoots

Reading time5 min
Views15K

Сказка


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

К счастью, транспортная компания (которая не удосужилась составить четкого расписание) содержит сайт, на котором в реальном времени с помощью Google Maps можно узнать, где сейчас находится тот или иной автобус. И вот в один прекрасный день Ваше терпение лопается и Вы садитесь писать скрипт, который будет отправлять ту желанную SMS-ку. Но все не так просто. Придется долго повозиться, чтобы по карте и маленькому кружочку на ней оценить скорость и время прибытия реального транспортного средства на Вашу остановку. Вы ведь не можете просто написать: «хочу получать SMS, когда вот эта точка попадет вот в этот прямоугольник на карте». Или все-таки можете?

Проходя, не проходите мимо

Эффективная сегментация изображений на графах

Reading time10 min
Views41K

Сегментация изображений и выделение границ объектов (edge detection) играют важную роль в системах Computer Vision и применяются для задач распознавания сцен и выделения (определения) объектов. По большому счету, это такой же инструмент, как, например, сортировка, предназначенный для решения более высокоуровневых задач. И поэтому понимание устройства данного класса алгоритмов не будет лишним при построении подобных систем с учетом предъявляемых требований (в плане качество/производительность) и специфики поставленных задач.

В данной статье кратко описан алгоритм «Efficient Graph-Based Image Segmentation» авторов Pedro F. Felzenszwalb (MIT) и Daniel P. Huttenlocher (Cornell University), опубликованный в 2004 году. Да, алгоритм относительно старенький, но, несмотря на это, он до сих пор остается весьма популярным, демонстрируя неплохие результаты в плане производительности.

Под катом – большая смесь картинок и текста, не требовательная к текущему уровню знаний тематики. Любопытство приветствуется.

Мсье хочет знать толк в сегментации

Некоторые финансовые результаты SaaS-вендоров

Reading time1 min
Views769
Ничто так не проясняет мозг, как простые сопоставления чисел.
Посмотрели на результаты третьего финансового квартала 2009 года по традиционным вендорам бизнес-приложений и компаниям SaaS.
Собственно, из таблиц все очевидно. Особенно показательна колонка доходов от лицензий — у традиционных вендоров провал катастрофический, концы с концами сводят только благодаря продажам поддержки, да жесткому сокращению затрат.
SaaS деятели тоже немного замедлились по сравнению с докризисными временами, но практически все в плюсе, и неплохом.
В общем, деньги уже явно повернулись и бегут в сторону SaaS.

Что еще интересно — раньше казалось, что SaaS-вендоры по оборотам сильно уступают традиционным, IDC с Gartner этот рынок считают микроскопическим, кажется, лишь 3% от всей индустрии корпоративного софта. Но судя по этой табличке, SaaS-вендоры уже начинают догонять середнячков с рынка традиционных бизнес-приложений.

Закончен предварительный перевод книги «Волшебство Git»

Reading time1 min
Views27K
Я, как и многие программисты, после знаменитого выступления Линуса Торвальдса о Git на Google Talks заинтересовался распределенными системами управления версиями, а в особенно Git.

Я довольно таки свободно читаю на английском, но мне приятнее читать на русском языке, при условии нормального перевода.
Существует замечательная книга «Git Magic» Бена Лина (Ben Lynn).
Благодаря труду многих людей вышел первый черновой вариант этой книги. Всех желающих улучшить перевод — приглашаю под кат.
Читать дальше →

Двунаправленный асинхронный обмен данными в веб-приложениях

Reading time4 min
Views21K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →

OperaTor обновился до 3.5

Reading time1 min
Views6.1K
Обновился portable пакет для анонимного серфинга в сети — OperaTor. Он состоит из Opera, Tor и Polipo.
При использовании OperaTor не остается никакой информации, на компьютере в который вы втыкаете флешку.

Изменения в релизе:

— Opera 10.10
— Tor 0.2.1.21

Скачать OperaTor и прочитать в оригинале.

WAZE: навигатор + социальная сеть для водителей

Reading time2 min
Views20K
image
Вчера увидел в фиде Компьютерры новость о том, что некий Waze приходит в Россию. Решил посмотреть — что за зверь такой.

Waze — это программа навигации с учетом дорожной ситуации, карты для которой отрисованы самими пользователями.
Читать дальше →

Getters & Setters в IE5+

Reading time2 min
Views2.4K
Вот этим навеяло habrahabr.ru/blogs/javascript/66242

Вопреки расхожему мнению ИЕ все таки умеет назначать аксессоры, правда только в VB, чего для некоторых задач вполне достаточно.

<script language="vbscript">
' Объявляем класс, экземпляр которого в последствии будем использовать из яваскрипта
Class Accessor
  Public Property Let hook(val)  ' объявляем сеттер для свойства hook класса Accessor
   MsgBox val
  End Property
End Class

Dim access ' объявление переменных в VB обязательно
Set access = New Accessor  ' создаем экземпляр класса Accessor
</script>

<script language="jscript">
// т.к. у VB и JS общее пространство имен, можно вполне использовать созданный ранее access
access.hook = 'ololo';
</script>


* This source code was highlighted with Source Code Highlighter.


Другими словами аксессоры есть в VB, VB есть во всех IE и пространство имен VB и JS общее, можно пользовать.
Кроссбраузерный пример

Ubuntu Server на домашнем компьютере. Раздадим интернет, скачаем torrent

Reading time4 min
Views50K
В последнее время все больше и больше входят в моду домашние сервера, используемые для хранения контента, закачки торрентов, да и просто для раздачи интернета. Не так давно, воодушевившись обзорами домашних серверов, из подручных средств был собран домашний сервер:

Жесткий диск: 500Gb
Материнская плата на 478 сокете
Процессор: Pentium 4 — 2.6Ghz HT
Все это в стареньком корпусе…
image
Итак, что мы имеем:
•Домашний сервер
•Городскую локальную сеть, выдающую интернет посредством VPN соединения

Задачи:


Использовать сервер как средство хранения контента
Возможность скачки торрентов
Раздача интернета всей семье посредством VPN

Итак...поехали!

RTM Context Autocomplete Menu

Reading time5 min
Views2K
Однажды я зашел на rememberthemilk.com и понял, что хочу такое же контекстное autocomplete меню в свой проект. В результате получился небольшой jquery плагин, который хочу презентовать в этом посте. Работает в ie6+, opera, safari, firefox, chrome (тестировал в последних версиях). В кратце расскажу в чем суть «контекстного» меню в RTM-стиле.

Это меню присоединяется к input-элементу, но, в отличие от обычных autocomplete меню, оно «всплывает» не для ввода всего значения элемента, а для какой-то логической части поля ввода. При этом меню позиционируется непосредственно под автодополняемым текстом. Вот как это выглядит:

image

Лицензия проекта — MIT / beerware.
Скачать библиотеку с примерами можно тут: js-context-autocomplete.googlecode.com/files/js-autocomplete-v5.tar
Последнюю ревизию забираем тут: svn checkout js-context-autocomplete.googlecode.com/svn/trunk js-context-autocomplete-read-only
Кому интересно поучаствовать в проекте — пишите в личку.
Временное online-demo (upd)

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

Теперь любой может заплатить вам по своей карте Visa или MasterCard

Reading time1 min
Views3.5K
image
Ни для кого не секрет, что есть такая замечательная система Payoneer. Для тех, кто не знает, скажу: замечательна она тем, что вы можете заказать выпуск дебетовой карты Payoneer PrePaid MasterCard, получать деньги на неё (фрилансерство на зарубежных сайтах, электронная коммерция и др.) от ваших клиентов и снимать в любом банкомате, который работает с MasterCard. Теперь любой человек может перевести вам деньги на вашу карту со своей карты Visa или MasterCard! Как это сделать, читайте дальше!
Читать дальше →

Социальная сеть по аренде-съему квартир «Живая база»

Reading time2 min
Views12K
image

Разрешите представить вашему вниманию новый проект (стартап) www.livebase.ru — социальную сеть по аренде квартир «Живая база».
Главная страница сайта www.livebase.ru (регистрация не обязательна)
Страница базы данных по аренде квартир — www.livebase.ru/estates

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

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

jQuery.keyboard v0.2.0

Reading time4 min
Views5.7K

Снова приветствую Хабрасообщество. Недельку назад я выкладывал свою либу jQuery.keyboard. Там было несколько недостатков, нереализованных идей, да и огромное количество предложений и положительных отзывов побудили меня к быстрому написанию новой версии
Читать дальше →

ХХ полезных советов для пользователей Git среднего уровня. Часть 2

Reading time4 min
Views26K
Это продолжение статьи ХХ полезных советов для пользователей Git среднего уровня

Про reset, незапланированно снова про альясы, про замечательный filter-branch, про мерджи и разрешение конфликтов с помощью rerere, про rebase (интерактивный и не очень) и, в завершение, про обслуживание своей гитницы.

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

ХХ полезных советов для пользователей Git среднего уровня. Часть 1

Reading time4 min
Views26K
Вообще-то изначально я планировал перевести статью Энди Джеффриса (Andy Jeffries) 25 Tips for Intermediate Git Users, но в процессе я отбросил бестолковые, общеизвестные или самые простые советы вроде «настройте первым делом user.name и user.email», которые явно не подходят людям, уже более-менее плотно знакомым с Git.
Взамен я дополню статью моментами из личной практики («Своя практика»! Звучит здорово, будто я частный врач или адвокат! :-] )

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

Information

Rating
Does not participate
Date of birth
Registered
Activity