Как стать автором
Обновить
-1
0
Wladimir @Am1GO

Вишенка

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

Сейчас плохо, но все может быть еще хуже

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

Разбираю ключевые идеи неизданной на русском книги «Внутри коллапса Венесуэлы» Уильяма Ноймана.

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

Читать далее
Всего голосов 176: ↑164 и ↓12+201
Комментарии175

Апскейл, который смог

Время на прочтение15 мин
Количество просмотров72K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →
Всего голосов 122: ↑120 и ↓2+160
Комментарии79

Мой MikroTik – моя цифровая крепость (часть 4)

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

Статья является продолжением первой, второй и третьей частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3, реализация централизованного логирования. Настало время поговорить про развёртывание IDS и её интеграцию в инфраструктуру RouterOS.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+44
Комментарии16

Нейронная сеть против DDoS'а

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

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Всего голосов 177: ↑174 и ↓3+171
Комментарии46

Вы, конечно, шутите, мистер Фейнман

Время на прочтение4 мин
Количество просмотров6.4K
image
Мое знакомство с мистером Фейнманом началось с перевода статьи Эрика Липперта «Что бы сделал мистер Фейнман». В этой замечательной заметке в виде шуточного рассказа приведены ответы на «нестандартные вопросы», так любимые некоторыми «мелкомягкими» компаниями при отборе кандидатов на работу. А поскольку мистер Фейнман всегда любил «нестандартные вопросы» и давал на них еще менее «стандартные ответы», то интервью получилось веселым и, как я узнал позднее, очень похожим на неопубликованную главу из книги «Вы, конечно, шутите, мистер Фейнман».

Сама же книга представляет собой сборник забавных и трогательных историй о жизни «простого» человека, по имени Ричард Филлипс Фейнман, самым незначительным достижением которого (по его собственному разумению) было получение Нобелевской премии по физике. Это книга о замечательном человеке, умном, талантливом, упрямом; человеке, у которого жажда познаний, экспериментов и решения разных головоломок была практически безграничной.
Читать дальше →
Всего голосов 121: ↑84 и ↓37+47
Комментарии29

Первая программист Августа Ада Лавлейс

Время на прочтение6 мин
Количество просмотров95K
10 декабря названо Днем программиста в честь родившейся также в этот день первой представительницы этой не слишком древней профессии.

Августа Ада Лавлейс родилась 10 декабря 1815 года. Она была единственной дочерью великого английского поэта Джорджа Гордона Байрона (1788 — 1824) и Аннабеллы Байрон, урождённой Милбэнк (1792 — 1860). «Она незаурядная женщина, поэтесса, математик, философ», — писал Байрон о своей будущей жене в 1813 году. Родители ее расстались, когда девочке было два месяца, и больше своего отца она не видела.

Ада унаследовала у матери любовь к математике и многие черты отца, в том числе, близкий по эмоциональному складу характер.
Байрон посвятил дочери несколько трогательных строк в «Паломничестве Чайльд Гарольда», но при этом в письме к своей кузине заранее беспокоился: «Надеюсь, что Бог наградит ее чем угодно, но только не поэтическим даром…
Ада получила прекрасное воспитание. Важное место в нём занимало изучение математики – в немалой степени под влиянием матери. Её учителем был известный английский математик и логик Август де Морган. К 1834 году относится ее первое знакомство с выдающимся математиком и изобретателем Чарльзом Бэбиджем, создателем первой цифровой вычислительной машины с программным управлением, названной им „аналитической“. Бэббидж, который был знаком с леди Байрон, поддерживал увлечение юной Ады математикой. Бэббидж постоянно следил за научными занятиями Ады, он подбирал и посылал ей статьи и книги, в первую очередь по математическим вопросам. Занятия Ады поощряли друзья её семьи – Август де Морган и его жена, супруги Соммервил и другие. Ада посещает публичные лекции Д.Ларднера о машине. Совместно с Соммервилем и другими она впервые посещает Бэббиджа и осматривает его мастерскую. После первого посещения Ада стала часто бывать у Бэббиджа, иногда в сопровождении миссис де Морган. В своих воспоминаниях де Морган так описала один из первых визитов: „Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения“
image
Семейная жизнь Августы Ады сложилась счастливо. В 1835 году Ада Байрон в возрасте девятнадцати лет вышла замуж за 29-летнего лорда Кинга, который впоследствии стал графом Лавлейс. Муж не имел ничего против научных занятий супруги и даже поощрял ее в них. Правда, высоко ценя ее умственные способности, он сокрушался: „Каким отличным генералом ты могла бы стать!“ Супруги Лавлейс вели светский образ жизни, регулярно устраивая приёмы и вечера в своём лондонском доме и загородном имении Окхат-Парк. Замужество Ады не отдалило её от Бэббиджа; их отношения стали ещё более сердечными. В начале знакомства Бэббиджа привлекли математические способности девушки. В дальнейшем Бэббидж нашёл в ней человека, который поддерживал все его смелые начинания. Ада была почти ровесницей его рано умершей дочери. Всё это привело к тёплому и искреннему отношению к Аде на долгие годы.

Читать дальше →
Всего голосов 86: ↑69 и ↓17+52
Комментарии44

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров804K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 533: ↑517 и ↓16+501
Комментарии365

Я хочу работать в Google! Телефонное интервью (часть 1)

Время на прочтение4 мин
Количество просмотров31K
Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
Читать дальше →
Всего голосов 207: ↑182 и ↓25+157
Комментарии99

30 июня 2012 г. будет на секунду длиннее: 23:59:60

Время на прочтение1 мин
Количество просмотров6K
Международная служба вращения Земли уведомляет, что к июню 2012 года добавляется положительная секунда координации. Последовательность будет такой:

30.06.2012 23 ч 59 мин 59 с
30.06.2012 23 ч 59 мин 60 с
01.07.2012 00 ч 00 мин 00 с

Разница между UTC и международным атомным временем:

с 01.01.2009 00 ч UTC до 01.07.2012 00 ч UTC: UTC-TAI = -34 с
01.07.2012 00 ч UTC до дальнейшего уведомления: UTC-TAI = -35 с

Секунды координации с 1972 года добавляются к декабрю или июню, чтобы время UTC не отличалось от UT1 более, чем на 0,9 с.

Дискуссия об отмене секунд координации (по мнению США, они мешают нормальной работе систем связи) отложена до 2015 года.
Всего голосов 84: ↑76 и ↓8+68
Комментарии153

C10k (Проблема 10000 соединений) на разных языках/платформах

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


UPD. Вторая версия бенчмарка тут: eric.themoritzfamily.com/websocket-demo-results-v2.html


Предупреждение: если у вас есть претензии к бенчмарку и/или к коду, бенчмарк выложен на Гитхабе, что позволяет вам править баги самим или сообщить о багах автору.

Подробнее о проблеме 10000 соединений: ru.wikipedia.org/wiki/Проблема_10000_соединений

Как с проблемой 10000 соединений через вебсокеты справятся Erlang, Go, Haskell (Snap), Java (Webbit), Node.js (websocket) и Python (ws4py)?

скандалы, интриги, расследования
Всего голосов 94: ↑78 и ↓16+62
Комментарии258

7 типичных русских проблем в английской речи

Время на прочтение10 мин
Количество просмотров254K
South Park
Предметом данной статьи является попытка систематизировать культурные различия, и типичные ошибки которые мы допускаем с нашими иностранными коллегами. Большинство примеров взято из книги Русские проблемы в английской речи. Я взял на себя смелость в небольшой популяризации данной темы, снабжению комментариями и собственными примерами.

1. Я прав, а ты нет
Читать дальше →
Всего голосов 170: ↑160 и ↓10+150
Комментарии171

Простая настройка .htaccess для production

Время на прочтение2 мин
Количество просмотров19K
Иногда, когда сайты хостятся на shared-хостинге или работа идет только с Apache, нужно сделать максимальную оптимизацию работы сервера и сайта соответсвенно. В статье приводятся несколько настроек, которые позволят вашему сайту работать лучше.

Читать дальше →
Всего голосов 94: ↑70 и ↓24+46
Комментарии49

Борьба с фрагментацией PHP кешеров

Время на прочтение3 мин
Количество просмотров3.8K
Я надеюсь, что нормальные люди уже прониклись необходимостью кешировать вывод данных на своих сайтах, либо кэшировать промежуточные результаты работы с базой данных, либо просто кешировать opcode скриптов для их более быстрого выполнения.
И что разработчики предоставляют нам для этого дела?
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии43

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Всего голосов 375: ↑368 и ↓7+361
Комментарии105

Yet another cool story about bash prompt

Время на прочтение10 мин
Количество просмотров37K
Я программист. По крайней мере так написано в трудовой книжке. Почти всё своё рабочее время я провожу в консоли и текстовом редакторе. Мне очень нравится bash. Почти год я жил в zsh, прислушавшись к советам своих многочисленных коллег и знакомых, но в итоге я вернулся в bash и ни капельки об этом не жалею.



Zsh красив, приятен, чертовски функционален, но, признаюсь честно, я не смог совладать со всеми его многочисленными настройками. Я хочу работать, а не бороться со своим рабочим окружением. Простой пример: пару раз из-за автодополнения zsh я удалял все директории и файлы в текущей директории — zsh просто ставил пробел между автодополненной директорией и введённой мною звёзочкой (я хотел удалить всё в выбранной папке). Помните тот эпичный баг с пробелом и удалении директории /usr? У меня было то же самое. Спасибо гиту, выручил в который раз.

Впрочем, дело не в zsh — будь я чуточку умнее, я бы с ним обязательно справился бы, и всё было бы хорошо, но мы, суровые программисты, будем использовать bash и vim, а гламурные zsh и textmate оставим хипстерам и прочим модникам ;)

Я не напишу ничего оригинального и универсального решения я не приведу, но мне всегда нравилось читать конфиги и описания других людей, а если к ним были приложены интересные картинки, так я вообще перечитывал эти статьи несколько раз. Надеюсь, вам тоже будет интересно.
Читать дальше →
Всего голосов 175: ↑166 и ↓9+157
Комментарии143

Чемпионат по программированию VK Cup 2012

Время на прочтение2 мин
Количество просмотров1.9K
Соревнования по программированию становятся все более и более популярными; к внушительному списку разнообразных уже существующих турниров и чемпионатов недавно добавился еще один — VK Cup 2012. Вкратце его самые важные особенности:

  • чемпионат проводится совместно компанией ВКонтакте и проектом Codeforces. Регистрация ВКонтакте для участия не требуется :-)
  • ограничение на возраст участников — от 14 до 23 полных лет на момент регистрации (23 года и 11 месяцев — добро пожаловать). Таким образом, целевая аудитория — школьники старших классов и студенты.
  • зато нет ограничений на страну проживания (условия доступны на русском и английском языках).
  • довольно затейливая структура отборочных раундов, сконцентрированных в марте (первая квалификация — 4 марта) и начале апреля:
    • два квалификационных раунда, каждый из которых идет 24 часа и отбирает 800 лучших участников для раунда 1. Не пугайтесь длительности раундов — сидеть за компом сутки подряд не нужно, это означает только то, что сдавать задачи можно в любой момент этих 24 часов. Квалификации содержат несколько несложных задач, и обычно для прохождения в следующий раунд достаточно решить часть задач, штрафа за позднюю сдачу нет.
    • три отборочных раунда, проходящих по традиционным правилам Codeforces;
    • два wildcard-раунда, которые позволяют людям, выступившим в первом и втором отборочных раундах неудачно, попробовать еще раз. Для разнообразия wildcard'ы проводятся по другим правилам, чем основные раунды, и это довольно необычно для турниров по спортивному программированию.
  • наконец, финал чемпионата для 50 лучших участников по результатам третьего раунда пройдет в июле в Санкт-Петербурге — поездка за счет организаторов.

Читать дальше →
Всего голосов 40: ↑31 и ↓9+22
Комментарии18

Методы мониторинга веб-сайтов и сервисов

Время на прочтение4 мин
Количество просмотров34K
WEBO PulsarБизнес в интернете сейчас очень сильно завязан не только на качество самого сайта, но и на его доступность и работоспособность в режиме 24/7/365. И хотя хостинг-провайдеры заявляют о достаточно большом аптайме площадок и серверов, не всегда этого бывает достаточно, чтобы быть уверенным в надежности сайта. Одним из помощников в этом является мониторинг как доступности, так и работоспособности основных подсистем сайта. Давайте посмотрим, как это можно делать сейчас.

Регулярная проверка


Один из наиболее распространенных методов — регулярная проверка работоспособности сайта. Можно делать самому — открыть с утра сайт любимой компании или интернет-магазин (имея его в стартовой странице браузера), радоваться, что работает. И закрывать. Не очень удобно и совсем не эффективно. Проблемы с доступностью обычно начинаются непредсказуемо. Обнаруживать их лучше сразу же, как только они возникли. Также часто помогают сами пользователи — начинают звонить и писать, что сайт не работает (если телефон и почта указаны где-то за пределами сайта). Самый же частый сигнал нерабочего сайта — прекращают приходить клиенты. Тут уже бьют тревогу и начинают выяснять, что же там случилось. рвут волосы, отрывают колокольчики, посыпают пеплом и солью. Хотя всего этого можно было избежать.
Читать дальше →
Всего голосов 35: ↑22 и ↓13+9
Комментарии18

QoS в Linux: издеваемся над трафиком

Время на прочтение7 мин
Количество просмотров47K
В предыдущей статье я рассказывал про фильтр U32. В этой статье речь пойдёт о так называемых tc actions — действиях, которые можно производить над трафиком. Например, можно построить файерволл без использования iptables/netfilter, или изменять отдельные байты в пакетах, перенаправлять/зеркалировать трафик на другие интерфейсы. Осваивать это будем на примерах. Продолжение под катом.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии10

Популярно об Amazon Web Services

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

Вступление


В этом докладе будут рассмотрены сервисы AWS, которые использует наша платформа и с которыми я знаком не по наслышке. Я работаю над проектом, который использует почти все возможные сервисы, а так же мы нацелены в ближайшем будущем охватить ещё больше возможностей, которые предоставляет нам Amazon.

Управление AWS осуществляется как с помощью веб интерфейса (AWS console), так и с помощью Command Line Tools. В консоли собраны все сервисы AWS, но функциональность настройки несколько обрезана. В командной строке же можно более гибко настроить тот или иной сервис, так же доступны закрытые в консоли функции.

Amazon Elastic Compute Cloud (EC2)


Описание

EC2 — это облачный сервис, предоставляющий виртуальные сервера (Amazon EC2 Instance), 2 вида хранилищ данных, а так же балансировщик нагрузки (Load Balancer).
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии69

QoS в Linux: фильтр U32

Время на прочтение14 мин
Количество просмотров21K
Так повелось, что фильтр U32 в подсистеме управления трафиком ядра Linux считается простым и понятным, а потому в подробном документировании не нуждается. Например, в LARTC (Linux Advanced Routing and Traffic Control) про него лишь несколько абзацев. Но на самом деле U32 устроен гораздо сложнее и интереснее, но и в использовании он не так прост, как может показаться. Под катом статья по этому фильтру с примерами использования и подробными пояснениями.
Читать дальше →
Всего голосов 55: ↑53 и ↓2+51
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность