Emacs. Большая и сложная программа. Ему как ничему другому подходит это определение. Эмакс был создан очень давно в лаборатории искуственного интллекта MIT, он несет в себе гены очень своеобразной культуры лисп-хакеров былых времен. С тех пор он не раз переписывался, улучшался, дополнялся и обрастал тысячами расширений в течение десятков лет. Эмакс, если и был когда-то мощным текстовым редактором, сейчас стал некоей универсальной программой, в нём можно делать абсолютно всё что угодно, если это хотя бы немного затрагивает собой задачу отображения или редактирования текста, и даже больше. Людям знающим универсальность играет на руку, ведь одной программой можно делать тысячу разных дел, при этом не прилагая усилий для переучивания к разным интерфейсам. Людей, впервые запустивших эмакс подобная универсальность и непривычный интерфейс поначалу пугает. Научиться пользоваться эмаксом, понять его идею и проникнуться ею задача непростая, трудоемкая и долгая (как говорится, пологая кривая обучаемости).
Serge @snp
Пользователь
Объединение браузеров в непотопляемый трекер
6 min
4.2K
Недавно я рассказывал о расширении Firefox, которое объединяет браузеры в p2p-поисковую сеть Всеиск. Теперь эта сеть освоила дополнительные функции: публикация/поиск торрентов и трекер для BitTorrent. Прежде чем перейти к подробному описанию, я в двух словах поясню постановку задачи.
Важнейшими узлами p2p-сети BitTorrent являются торрент-сайты. Через них пользователи находят раздачи, через них осуществляется координация текущих раздач. Однако торрент-сайты оказываются не только важнейшими, но и самыми слабыми точками BitTorrent. Уязвимость заключается прежде всего в том, что соответствующий сервер можно заблокировать, запретить, отобрать и т.п.
Если распределить диспетчерские функции по принципу p2p-сети, то это разом сделает координационный сервис неподвластным ни техническим, ни административным угрозам. Я решил сделать p2p-сервис, который будет реализовывать обычные функции торрент-сайта (поиск торрентов и диспетчер раздач), причем, при взаимодействии с клиентской программой, сервис будет выглядеть как обыкновенный трекер.
В этой статье я сначала коротко расскажу уважаемому собранию как все это работает технически, затем более развернуто покажу на картинках как пользоваться сервисом.
+110
Отложенный перезапуск Firefox: интерактивный и автоматические способы
4 min
3.2KБывают случаи, когда Firefox приходится оставлять надолго без присмотра (например, в нём работает расширение, собирающее критические новости, или встроенный торрент-клиент, или даже мини-сервер). Не секрет, что со временем работы браузера растёт потребление памяти. Рано или поздно система может почувствовать дискомфорт. Поэтому хорошо бы иметь возможность задавать браузеру отложенные задания на перезапуск. Возможны как минимум три вида таких заданий.
+17
HabraRate — расширение для фильтра комментариев Хабра
2 min
829Задумывались как вы читаете комментарии к топикам на Хабре? У топиков, способных меня научить чему-то новому я читаю все комментарии. Если топик развлекательный или не очень нуждается в комментировании, то чтению подлежат первые 10-20 комментариев, затем взгляд начинает искать заплюсованные и заминусованные комментарии. Их и дискуссию вокруг них я обычно и читаю.
Чтобы это было легче делать, я написал расширение к Google Chrome — HabraRate. Оно позволяет с помощью двух ползунков задать фильтр комментариев по рейтингу.
Пол катом линк и скрины работы расширения.
Чтобы это было легче делать, я написал расширение к Google Chrome — HabraRate. Оно позволяет с помощью двух ползунков задать фильтр комментариев по рейтингу.
Пол катом линк и скрины работы расширения.
+38
Прекратите спрашивать с меня подтверждение
3 min
9.9K
Задрало.
Настолько плотно прижилась кругом эта дрянь, что и не встретить уже человеческого отношения к себе, как к пользователю.
+212
Привычки полезные каждому веб-программисту
2 min
1.7KУ веб-программистов со временем вырабатываются привычки, которые въедаются в рабочий процесс на уровне рефлексов. Взять хотя бы данные из формы — каждый толковый программист, как только встречает их, тут же обрабатывает на предмет корректности. Порою даже сам не замечает.
Я хочу уделить внимание нескольким приемам, которые, к моему сожалению, еще не являются повсеместными привычками. Очень хочу оказаться банальным и неуместным.

Я хочу уделить внимание нескольким приемам, которые, к моему сожалению, еще не являются повсеместными привычками. Очень хочу оказаться банальным и неуместным.
Количество элементов на одной странице
Разбиваете список на страницы? Как будет выглядеть вторая страница для списка из 101 элемента, если ваше волшебное число 100?
+130
Экономим деньги — покупаем в США
5 min
54KЭто первый наш пост в новоиспечённом корпоративном блоге компании Ebaytoday, так что ежели где что не так – милостиво просим, как говорится «не пинать сильно ногами».
Итак – представляем уважаемым читателям Хабра наше детище – проект EbayToday.ru. Этот сервис уже более 2-х лет помогает жителям России и СНГ с лёгкостью совершать покупки не где-нибудь, а в самих Соединённых Штатах Америки.

Чем именно мы занимаемся:
1) помогаем в приобретении товаров на аукционе eBay,
2) помогаем совершать покупки в любых американских интернет-магазинах,
3) предоставляем услуги мейлфорвардинга.
На Хабре мы планируем цикл постов, в которых подробно расскажем обо всех тонкостях работы нашего сервиса, поделимся ценным опытом, дадим полезные советы и рекомендации.
Ну что? Поехали?
Итак – представляем уважаемым читателям Хабра наше детище – проект EbayToday.ru. Этот сервис уже более 2-х лет помогает жителям России и СНГ с лёгкостью совершать покупки не где-нибудь, а в самих Соединённых Штатах Америки.

Чем именно мы занимаемся:
1) помогаем в приобретении товаров на аукционе eBay,
2) помогаем совершать покупки в любых американских интернет-магазинах,
3) предоставляем услуги мейлфорвардинга.
На Хабре мы планируем цикл постов, в которых подробно расскажем обо всех тонкостях работы нашего сервиса, поделимся ценным опытом, дадим полезные советы и рекомендации.
Ну что? Поехали?
+72
Подробнее о Google Maps или о том, как google шпионит за нами
2 min
12K
Пocлe oчepeднoгo cкaндaлa вoкpyг кoмпaнии Google и ee cбopa инфopмaции o тoчкax дocтyпa Wi-Fi и я peшил пocмoтpeть чтo из ceбя пpeдcтaвляeт ee пpoдyкт Google Maps, a кoнкpeтнo мeня зaинтepecoвaли мoбильныe кapты.
Я хотел yзнaть кaкиe имeннo дaнныe пepeдaeт иx пpoгpaммa.
Уcтaнoвил coфт нa cмapтфoн, paбoтaющий пoд Symbian 9.2.
Я помнил что недавно качал карты от гугла, но все же решил удостоверится в том, что у меня установлена последняя версия програмы, и я зашел в Функции — Справка — О программе, и обнаружил там интересную информацию.
Ниже прикладываю скриншот показанной информации.
+65
Практика использования arp-spoofing
4 min
66KВ данной статье я расскажу как, используя пакет утилит arp-sk в операционной системе GNU/Linux реализовать атаку man-in-the-middle на протокол arp.

Для чего вообще нужна такая атака:
На хабре достаточно много статей например для взлома Wi-Fi. Но что делать после того, как ключ взломан? Тут можно увидеть один из вариантов действий.

Для чего вообще нужна такая атака:
На хабре достаточно много статей например для взлома Wi-Fi. Но что делать после того, как ключ взломан? Тут можно увидеть один из вариантов действий.
+45
Практическая атака на беспроводную сеть с WEP шифрованием
7 min
26KТеорию и процесс атаки хорошо описал юзер n3m0 в статьях «Атаки на беспроводные сети». Но практика там описана достаточно слабо.
В данной статье будет описан практический процесс атаки на беспроводную сеть с шифрованием WEP, используя пакет aircrack-ng и операционную систему OpenSuse.

В данной статье будет описан практический процесс атаки на беспроводную сеть с шифрованием WEP, используя пакет aircrack-ng и операционную систему OpenSuse.


+88
Замена шнура у зарядника ноута на компактный аналог
1 min
26KЯ наверное не открою америку, когда скажу, что современный ноут потребляет из розетки энергии не больше чем настольная лампа. Однако производители с маникальным упорством делают у зарядника шнур питания таким, что через него не грех и сварочный трансформатор подключить. Наверное с терроризмом борются, чтобы каждый обладатель ноута мог с легкостью этим шнуром задушить любого попавшегося на его пути террориста, предварительно оглушив его ударом вилки по голове.
Всех это бесит, но ситуация не меняется из года в год.
Решение простое — покупаем в радиотоварах обычный кабель для маломощной аппаратуры. Вот такой:

Критерий выбора прост — штекер должен быть из отлит из мягкой резины (можно и из твердой, но резать будет сложней).
А дальше все просто:
Выгрызаем любым острым ножиком у этого разъема сердцевину. Вставляем его на место родного

И радуемся жизни.
Средний штырь, что висит в воздухе, это заземление. Встречается в розетках редко, а если есть то далеко не всегда подключено. А если и подключено, то далеко не всегда правильно. Так что не критично :)
З.Ы.
А еще я рекомендую перепаять Г-образный выходной штеккер на прямой. Т.к. если рвануть за шнур, то Г-образный зацепится и разворотит разъем/утащит ноут со стола, а прямой просто выскочит. В этом отношении магнитная защелка шнура питальника яблочных ноутов вне конкуренции, но она наглухо запатентована.
Всех это бесит, но ситуация не меняется из года в год.
Решение простое — покупаем в радиотоварах обычный кабель для маломощной аппаратуры. Вот такой:

Критерий выбора прост — штекер должен быть из отлит из мягкой резины (можно и из твердой, но резать будет сложней).
А дальше все просто:
Выгрызаем любым острым ножиком у этого разъема сердцевину. Вставляем его на место родного

И радуемся жизни.
Средний штырь, что висит в воздухе, это заземление. Встречается в розетках редко, а если есть то далеко не всегда подключено. А если и подключено, то далеко не всегда правильно. Так что не критично :)
З.Ы.
А еще я рекомендую перепаять Г-образный выходной штеккер на прямой. Т.к. если рвануть за шнур, то Г-образный зацепится и разворотит разъем/утащит ноут со стола, а прямой просто выскочит. В этом отношении магнитная защелка шнура питальника яблочных ноутов вне конкуренции, но она наглухо запатентована.
+56
10 способов облажаться в программировании
5 min
7.5KTranslation

Недавно по наследству от грязного, вонючего контрактора (который утверждал, что его знания и умения так хороши, чтоб не трогать его пока, он не закончит проект) мне досталось веб-приложение. К сожалению, мы поверили ему на слово. На первый взгляд большинство функционала веб-приложения работало как надо. Однако, как только клиент начал использовать приложение в реальных условиях, –
Я решил описать некоторые из тех ошибок, с которыми столкнулся. Это ошибки, которые, каждый хороший программист давно уже должен уметь избегать… но, очевидно, что некоторым людям нужно о них напоминанать.
+221
10 хитростей Google Analytics
4 min
37KКазалось бы, установка и настройка счетчика Google Analytics — задачи простые. На деле, эта «простота» скрывает за собой множество подводных камней. Мы постоянно сталкиваемся с тонкостями, неочевидными особенностями подсчета и глубоко спрятавшимися ошибками (конечно, обычно виноваты мы сами:).
На базе нашего опыта я сформулировал 10 советов, которые пригодятся большинству пользователей Analytics – когда-то это были и наши грабли! Некоторые темы заслуживают отдельных статей, но пока расскажу о более-менее очевидных и простых технических хитростях.
Проверка регулярных выражений при установке целей
Достаточно часто при указании адреса цели приходится использовать регулярные выражения: например, если искомый фрагмент адреса окружен другими частями. Регулярные выражения – тонкая материя, а ждать обновления данных для проверки правильности написания не хочется. Проверить правильность выражения можно мгновенно, перейдя в раздел «Содержание – Самое популярное содержание» и введя в поле фильтра выражение. Содержимое сразу же отфильтруется, а вы сможете убедиться в корректности кода.
На базе нашего опыта я сформулировал 10 советов, которые пригодятся большинству пользователей Analytics – когда-то это были и наши грабли! Некоторые темы заслуживают отдельных статей, но пока расскажу о более-менее очевидных и простых технических хитростях.
Проверка регулярных выражений при установке целей
Достаточно часто при указании адреса цели приходится использовать регулярные выражения: например, если искомый фрагмент адреса окружен другими частями. Регулярные выражения – тонкая материя, а ждать обновления данных для проверки правильности написания не хочется. Проверить правильность выражения можно мгновенно, перейдя в раздел «Содержание – Самое популярное содержание» и введя в поле фильтра выражение. Содержимое сразу же отфильтруется, а вы сможете убедиться в корректности кода.
+43
Быстрый старт с openID
3 min
15KДобрый день, друзья.
Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»
Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»
+41
Не совсем обычное VPN соединение обычными средствами
8 min
156KИскал интересную тему, заслуживающую внимания, чтобы получить инвайт на Хаброхабре и вот нашёл. Такой особенный случай мне пришлось недавно реализовать.
Здесь мы будем говорить о двух сетях, которые нужно объединить, одну из которых я буду называть «моя офисная сеть», а другую «удалённая сеть».
Системный администратор удалённой сети отказывается вносить наименьшие изменения, для подключения и единственное что можно сделать — это поместить своё оборудование в удалённой сети. Выход в интернет из этой сетиv4 производится через шлюз, который натит в мир. Нужно построить тоннель, между двумя офисами, чтобы узлы моей офисной сети могли получать доступ к узлам удалённой сети, при минимальных изменениях c обеих сторон.
Для выполнения задачи объединения двух сетей и построения виртуального тоннеля нужно использовать Virtual Private Network. В ходе поиска подходящего варианта подключения, для себя разделил VPN на два вида: клиент-серверный вариант и равноправный. В следующих моментах заключается принципиальное отличие:
Примечание1: В обоих вариантах должно соблюдается одно из условий (для клиент-серверного варианта, только для сервера):
Постановка задачи: Получить доступ к узлам удалённой сети.
Здесь мы будем говорить о двух сетях, которые нужно объединить, одну из которых я буду называть «моя офисная сеть», а другую «удалённая сеть».
Системный администратор удалённой сети отказывается вносить наименьшие изменения, для подключения и единственное что можно сделать — это поместить своё оборудование в удалённой сети. Выход в интернет из этой сетиv4 производится через шлюз, который натит в мир. Нужно построить тоннель, между двумя офисами, чтобы узлы моей офисной сети могли получать доступ к узлам удалённой сети, при минимальных изменениях c обеих сторон.
Для выполнения задачи объединения двух сетей и построения виртуального тоннеля нужно использовать Virtual Private Network. В ходе поиска подходящего варианта подключения, для себя разделил VPN на два вида: клиент-серверный вариант и равноправный. В следующих моментах заключается принципиальное отличие:
- В равноправном VPN, использующем глобальную сеть интернет, нужно иметь один реальный IP адрес, для каждого из узлов (минимум 2-ва узла). Здесь соединение может быть инициировано каждой из сторон (именно поэтому я так и обозвал его, равноправный), их может быть больше двух.
- В клиент-серверном варианте, использующем глобальную сеть интернет, нужен только один реальный IP адрес, для сервера. Соединение здесь происходит по требованию клиента, сервер всегда ожидает, клиентов может быть больше одного.
Примечание1: В обоих вариантах должно соблюдается одно из условий (для клиент-серверного варианта, только для сервера):
- A. VPN peer, должен находится непосредственно на шлюзе (должно быть установлено дополнительное ПО, или устройство должно быть способно устанавливать нужный тип VPN соединений).
- B. Если же нет возможности запустить VPN peer непосредственно на шлюзе, нужно его сконфигурировать так, чтобы он смог пропускать порт на другое устройство, настроенное как VPN peer.
+4
collectd — собираем системную и пользовательскую статистику
5 min
13KВопрос номер 0 — зачем?
В посте про pnp4nagios я писал «Nagios/Pnp4Nagios не замена комплексу сбора статистики о состоянии системы». Почему я так думаю? Потому что 1) статистика состояния системы обширна и включает множество показателей 2) не всегда есть смысл их мониторить, точнее генерировать алерты. Например, знать сколько сколько операций ввода-вывода делает диск или происходит переключений контекста неплохо, но почти никогда не критично. Ну и кроме того, Nagios просто не предназначен для этого. В данной статье я не буду делать полное описание системы, ограничусь лишь особенно интересными, с моей точки зрения, моментами.
Вопрос номер 1 — почему collectd?
Основные моменты почему из Munin, Cacti и прочих я выбрал collectd:
- Масштабируемость
- Легковесность
- Концепция — всё есть плагины
- Сбор и запись данных разделены
- Количество собираемых показателей
- Расширяемость
+31
Поднятие терминального сервера на примере LTSP и CentOS 5.4
6 min
30KИнтро
Сейчас стала очень популярна идея использования тонких клиентов, а в частности – для организации учебных классов в ВУЗах и не только. Вот и для моего любимого ВУЗа пришлось потрудиться.
Не так давно мне была поставлена задача выбора и настройки терминального сервера на CentOS 5.4. Почему именно CentOS – ума не приложу, но скорее всего это было предпочтение наших системных администраторов, которые в последствии будут поддерживать терминальный сервер. Ну а мне выбирать права предоставлено не было.
+26
Кластерная LustreFS или с Миру по нитке
2 min
9.2K#include
Зачастую, краеугольным камнем производительности работы сервера является скорость работы файловой системы. Её можно увеличить с помощью создания дисковых массивов RAID0 — запись/чтение побитово производится на оба диска, однако рано или поздно слоты под диски заканчиваются, надёжность RAID0 оставляет желать лучшего — при выходе одного из дисков, рушится вся система. RAID10 опять же упираемся в количество дисков.
Как альтернатива, использование сетевых фс. Наибольшее распространение получила NFS, но для боевых задач с её скоростью и неочевидностью настройки прав доступа практически непригодна.
«Сравнивать GPFS и LustreFS — это как сравнивать IBM и SUN.»
Анонимус из интернетов.
В ТОП-300 суперкомпьютеров Мира половина из первых 50 используют LustreFS, которая очень проста в первоначальной настройке.
+32
Трудности администрирования прокси серверов в больших компаниях (Часть 2)
9 min
9.5KВ предыдущей статье я описал основные проблемы подстерегающие администраторов в больших компаниях.
Сегодня я продолжу данную тему и опишу основные проблемы конфигураций в больших сетях и возможности их решения.
Сегодня я продолжу данную тему и опишу основные проблемы конфигураций в больших сетях и возможности их решения.
+53
Математическая поисковая система с визуальным вводом формул
3 min
2.7KПочти полгода назад я написал на хабре статью о проекте математической поисковой системы uniquation.ru. Тогда была получена конструктивная критика, которая помогла улучшить проект.
С тех пор проект претерпел множество изменений, главное из которых — визуальный ввод формул — теперь, чтобы найти информацию о каком либо математическом объекте, необязательно знать его представление в формате TeX.
С тех пор проект претерпел множество изменений, главное из которых — визуальный ввод формул — теперь, чтобы найти информацию о каком либо математическом объекте, необязательно знать его представление в формате TeX.
+77
Information
- Rating
- Does not participate
- Registered
- Activity