Как стать автором
Обновить
91
0
Александр Русских @oldengremlin

Системный администратор ISP

Отправить сообщение

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Время на прочтение7 мин
Количество просмотров78K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →
Всего голосов 76: ↑56 и ↓20+36
Комментарии78

CSS трюки — пишем сайт без html

Время на прочтение2 мин
Количество просмотров16K
В качестве предисловия к переводу. Открываем Firefox/Opera, переходим по ссылке, смотрим исходный код страницы и удивляемся. Потому что его нет. Под катом рассказ, как такое можно сделать.
Читать дальше →
Всего голосов 197: ↑184 и ↓13+171
Комментарии76

Google Body Browser

Время на прочтение1 мин
Количество просмотров47K

Сегодня наткнулся на Google Body Browser. Имхо просто потрясающая вещь даже для тех, кто не занимается медициной.

Хотя действительно интересно наглядно посмотреть-покрутить где находится желудок, как идут нервы и т.д., но для меня, как веб-разработчика это первый действительно наглядный пример толкового использования WebGL — без установки никакого плагина в Chrome 9+ и FireFox4. Кроме того используется декомпрессия ресурсов на клиенте.

Отдельно отмечу возможности передачи прямых ссылок на определенный вид/орган, например вот так и возможности поиска органов с чем-то похожим на Google Instant (справа сверху — инпутбокс легко можно не заметить).

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

Видео с демонстрации Google Web Browser'a с WebGL Camp'а можно посмотреть тут.
Всего голосов 132: ↑122 и ↓10+112
Комментарии66

Бесплатная open-source CMS под Google App Engine for Java

Время на прочтение2 мин
Количество просмотров7.7K
Здравствуй HabraUser.
Сегодня я хочу рассказать о бесплатной open-source CMS написанной специально под Google App Engine for Java Vosao CMS ™
image

И так приступим...
Всего голосов 83: ↑75 и ↓8+67
Комментарии39

QooxDoo 1.3 — очередной релиз JS-фреймворка

Время на прочтение1 мин
Количество просмотров1.2K
imageНа прошлой неделе вышел очередной релиз QooxDoo. Основная задача фреймворка — предоставить возможность проектировать многофункциональные кросс-браузерные веб-приложения. При этом, как сказано на qooxdoo.org, знания HTML, CSS, DOM не требуются.
Каких-то принципиальных новшеств в новом релизе лично я для себя не отметил. Хотя, безусловно, есть некоторые полезные плюшки, такие как Tri-state CheckBox.
В целом библиотека очень функциональна, хорошо продумана, реализована и задокументирована. Для тех кто впервые слышит о ней — отмечу несколько моментов.
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии27

Краткий обзор ядерного NAT-а в FreeBSD

Время на прочтение5 мин
Количество просмотров36K
Распространенных вариантов NAT-а под FreeBSD есть довольно много. Это и natd, ipnat, pfnat, ng_nat либо как вариант «купи ASA 5550 и не выделывайся».


К сожалению, в последнее время мне попадалось очень мало хороших и главное доступных статей о ipfw nat который появился, если мне не изменяет память еще в 7.0.
Засим рассматривать под лупой сегодня будем мы именно его.

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

Читать дальше →
Всего голосов 48: ↑41 и ↓7+34
Комментарии43

Цветовое оформление консольного вывода

Время на прочтение1 мин
Количество просмотров74K
Кратко о том, как сделать для своей консольной программы или скрипта цветной вывод текста, а также дополнить его другими элементами оформления. Собственно, назначить можно цвет текста, цвет фона под ним, сделать текст жирным, подчеркнутым, невидимым и даже мигающим.
Читать дальше →
Всего голосов 99: ↑80 и ↓19+61
Комментарии46

Не строим с нуля. Теперь у Вас есть шаблон для верстки HTML5

Время на прочтение2 мин
Количество просмотров17K
Любовь к HTML5 продолжает вдохновлять Поля Айриша. Во-первых, он подарил нам Modernizr, а сейчас он объединился с Divya Manian для создания шаблона HTML5, который использует передовые техники, чтобы Вы могли начать использовать его в своей практике.

Он, в сущности, является хорошей отправной точкой, состоящей из HTML и CSS, предлагающим также и структуру папок, которая работает. Но созданным с учётом многих лет передового опыта профессионалов в разработке клиентской части. Загляните в исходные тексты, чтобы почувствовать, что находится внутри. А если вы думаете, что этого слишком много, просто удалите лишнее.
Читать дальше →
Всего голосов 157: ↑146 и ↓11+135
Комментарии48

Искусство программирования под Unix (и не только). Часть первая, «правило модульности»

Время на прочтение4 мин
Количество просмотров13K
Последние лет десять я ищу на рынке программистов, делаю с ними большие и маленькие подвиги, преимущественно в области веб-разработок. Но, к сожалению, все меньше и меньше находится достойных кандидатов. Работают годами над одними и теми же задачами, клонируя имеющиеся решения и их недостатки. Спрашиваешь про то, что достиг — а в ответ рутинные, банальные вещи. Автоматизация окошек — вот то, чем занимается большинство из таких программистов. А на действительно сложные задачи как было мало специалистов, так и остается по сей день.

Unix-программисты выделяются на фоне этих «автоматизаторов окошек». В мире открытого ПО каждый может попробовать свои силы и в разработке системного «софта», и в сложных прикладных решениях. Достижения таких людей в мире открытого ПО доступны всем, и для меня они порой заменяют любые рекомендации. Потому что их работу видно.

Есть ряд книг, которые, на мой взгляд, являются своеобразными «библиями» для тех, кто решил связать свое будущее с разработкой ПО. С одной из них я хотел бы начать цикл статей. Это книга Эрика Рейнмонда, «Искусство программирования под Unix». Я бы рекомендовал эту книгу не только тем, кто выбрал для себя открытые операционные системы. В основе лежит довольно универсальная философия, пригодная абсолютно всем, связавшим свою профессию с программированием.

Эрик Реймонд выделяет 17 правил этой «философии». Я буду посвящать по одной заметке на каждое правило. Я постараюсь изложить эти концепции в максимально понятной, упрощенной и популярной форме, насколько это будет возможно.

Начнем с самого первого правила — Правила модульности. Оно звучит так: «Простые блоки связывайте друг с другом ясными и понятными интерфейсами» (Rule of Modularity: Write simple parts connected by clean interfaces).

Читать дальше →
Всего голосов 114: ↑100 и ↓14+86
Комментарии50

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Время на прочтение3 мин
Количество просмотров50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day
Всего голосов 177: ↑163 и ↓14+149
Комментарии51

Cisco ASA на PC? Это возможно!

Время на прочтение1 мин
Количество просмотров14K
Недавно наткнулся на ресурс (осторожно, в названии сайта нижнее подчеркивание!), создатели которого достаточно успешно перенесли функционал Cisco ASA 5500 на обычный PC.

Не секрет, что Cisco ASA по своей сути linux-based и вполне x86-совместима. Видимо, этот факт вызывал буйные фантазии об открывающихся возможностях у многих гиков, и вот, наконец, в 2008 году группа энтузиастов подарила миру первый установочный образ Cisco ASA. С тех пор проект продолжает существовать и выпускает новые релизы.
Краткое описание возможностей получившегося продукта под катом.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии38

Twitter публикует свой FlockDB

Время на прочтение1 мин
Количество просмотров3K
Приятно, что многие крупные компании продолжают традицию выкладывать серьезные вещи из внутренней разработки в Open Source.
Недавно Twitter выложил FlockDB

" FlockDB это база данных, которая хранит данные о графах. В то же время это не база данных, оптимизированная для операций обхода графа. FlockDB оптимизирован для работы с очень большими списками смежных вершин графов, быстрого чтения и записи и постраничными арифметическими операциями над запросами (page-able set arithmetic queries)."

Основной задачей проекта было решить проблемы Twitter с работой с очень большими графами соц данных пользователей (followers, операции mention, etc.). Миграция завершилась 9 месяцев назад и вроде бы они всем довольны сейчас.



В настоящий момент система хранит 13 миллиардов рёбер графов и поддерживает 20 тыс. операций записи и 100 тыс. операций чтения в сек.
Более детально с продуктом можно ознакомиться по ссылке.
Исходники доступны на github.
Всего голосов 62: ↑60 и ↓2+58
Комментарии16

Поднятие терминального сервера на примере LTSP и CentOS 5.4

Время на прочтение6 мин
Количество просмотров30K

Интро


Сейчас стала очень популярна идея использования тонких клиентов, а в частности – для организации учебных классов в ВУЗах и не только. Вот и для моего любимого ВУЗа пришлось потрудиться.
Не так давно мне была поставлена задача выбора и настройки терминального сервера на CentOS 5.4. Почему именно CentOS – ума не приложу, но скорее всего это было предпочтение наших системных администраторов, которые в последствии будут поддерживать терминальный сервер. Ну а мне выбирать права предоставлено не было.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии28

Хакинг и модинг ASUS WL500G Premium

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

image
Читать дальше →
Всего голосов 170: ↑166 и ↓4+162
Комментарии177

Новые таможенные правила или как жить дальше? Семинар в cisco

Время на прочтение4 мин
Количество просмотров9.7K
11 марта 2010 в московском офисе cisco состоялся увлекательный семинар Миши Кадера про новые таможенные правила на территории таможенного союза России, Белоруссии и Казахстана. И про то, что cisco делает для того, чтобы ввоз нового оборудования наконец стал снова радовать и продавцов и покупателей.

Статья была опубликована 11.03 здесь, но по просьбе докладчика была направлена на доработку. Миша внес ряд нужнейших ссылок и комментариев, поправив меня в тех моментах, которые были изложены не точно. За что ему огромное спасибо!
Сейчас публикуется поправленный вариант.

Для начала экскурс в историю:
1. Таможенные правила ввоза на территорию РФ впервые были написаны аж в 1995 году и там было и про шифрование и про согласование с ФАПСИ (ныне ФСБ) и МинПромТоргом. Просто их никто не выполнял. Вот ссылка на указ для интересующихся
2. В 2006, для вступления в ВТО, был разработан новый, более гибкий документ, выводящий часть криптографии из-под лицензирования ввоза. Документ так и не был согласован
3. В конце 2009 году, приняв за основу документ 2006г, ФСБ быстренько согласовала новые правила ввоза на территорию единого таможенного союза. Так что с 01.01.2010 года мы просто получили то, что должно было работать давным-давно. Вот опять же ссылка на эти правила

По новым правилам часть шифровательных функций выводится из-под лицензирования (полный список можно найти в нормативных документах):
1.«Слабое» шифрование (симметричное шифрование с длиной ключа меньше либо равным 56 битам, асимметричное – 128 битам)
2.Шифрование каналов для управления (ssh, https для управления)
3.Шифрование беспроводными точками доступа (со встроенными антеннами) трафика, передаваемого на расстояние до 400 м.
4.Если шифрование является неотъемлемой частью программного продукта (операционной системы).
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии73

Как FriendFeed использует MySQL для хранения данных без схемы

Время на прочтение7 мин
Количество просмотров3.2K

Условия


Мы используем MySQL для хранения любых данных FriendFeed. Наша база данных растёт вместе с числом пользователей. Сейчас у нас более 250 миллионов записей, это записи пользователей (post'ы), комментарии, оценки («likes»)

По мере того как росла база данных, мы время от времени имели дело с проблемами масштабируемости. Мы решали проблемы стандартными путями: slave-сервера, используемые только для чтения, memcache для увеличения пропускной способности чтения и секционирование для увеличения пропускной способности записи. Однако, по мере роста, использованные методы масштабируемости привели к затруднению добавлению новой функциональности.

В частности, изменение схемы базы данных или добавление индексов к существующим 10-20 миллионов записей приводили к полной блокировке сервера на несколько часов. Удаление старых индексов требовало времени, а не удаление ударяло по производительности, так как база данных продолжала использовать их на каждом INSERT. Существуют сложные процедуры с помощью которых можно обойти эти проблемы (например создание нового индекса на slave-сервере, и последующий обмен местами master'a и slave), однако эти процедуры настолько тяжелые и опасные, что они окончательно лишили нас желания добавлять что-то новое, требующее изменение схемы или индекса. А так как наши базы сильно распределены, реляционные вещи MySQL как например JOIN никогда не работали для нас. Тогда мы решили поискать решение проблем, лежащее вне реляционных баз данных.

Существует множество проектов, призванных решить проблему хранения данных с гибкой схемой и построением индексов на лету (например CouchDB). Однако, по-видимому ни один из них не используется крупными сайтами. В тестах о которых мы читали и прогоняли сами, ни один из проектов не показал себя стабильным, достаточно зрелым для наших целей (см. this somewhat outdated article on CouchDB, например). А все это время MySQL работал. Он не портил данные. Репликация работала. Мы уже в достаточной мере понимали все его узкие места. Нам нравился MySQL именно как хранилище, вне реляционных шаблонов.

Все взвесив, мы решили создать систему хранения данных без схемы поверх MySQL, вместо использования полностью нового решения. В этой статье я попытаюсь описать основные детали системы. Так же нам любопытно как другие сайты решили эти проблемы. Ну и мы думаем, что наша работа будет полезна другим разработчикам.
Читать дальше →
Всего голосов 116: ↑110 и ↓6+104
Комментарии60

Блокируем китайцев

Время на прочтение1 мин
Количество просмотров9K
Ниже пойдет текст достойный пера К.О.

Китайский трафик велик и беспощаден. Когда какая-нибудь смешная или не очень картинка попадает в китайские блоги, провайдер colocation начинает обижаться и рассказывать про несоответствие соотношений 3 к 2 российского и зарубежного трафика.

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

Примеров реализации есть несколько (ngx_http_geo_module, ngx_http_geoip_module или обычным deny), наиболее эффективный с помощью ngx_http_geo_module и базы wipmania (http://www.wipmania.com/ru/base/)

Облегчение на одном из серверов.
image

Читать дальше →
Всего голосов 48: ↑34 и ↓14+20
Комментарии58

Be Pythonic

Время на прочтение3 мин
Количество просмотров16K

От переводчика


Представляю вашему внимаю перевод статьи Shalabh Chaturvedi «Be Pythonic», рекомендованной в этом топике. Если мое начинание будет поддержано, планирую также перевести две остальные упомянутые там статьи этого автора.

Вступление


Эта статья предназначена для новичков в Python.

При переходе с одного языка на другой некоторые вещи для вас могут остаться неизвестными (см. Transfer of Learning). То, что вам известно о других языках, может быть не всегда полезным в Python. Эта статья содержит некоторые используемые в Python идиомы, которые мне особенно нравятся. Я надеюсь, читатели найдут их полезными для овладения языком.
Читать дальше →
Всего голосов 92: ↑86 и ↓6+80
Комментарии57

Интересная техника сокрытия кодов JS «вируса»

Время на прочтение2 мин
Количество просмотров6.4K
Сегодня скинули код, дропающий на машину штатный вирус «отправьте SMS для разблокировки». Предысторию и методику чистки изложил force

Попробовал расковырять. Взял код, отформатировал, стал дебагать… Хм, интересно… В коде идет вызов (после приведения к читабельному виду)

window['eval'](var2);

А вот в var2 — бинарные данные. Ух ты… Но ведь eval не может выполнять бинарные данные!!!

И почему же в eval оказались бинарные данные?
Всего голосов 97: ↑89 и ↓8+81
Комментарии44

Информация

В рейтинге
Не участвует
Откуда
Ирпень, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность