Как стать автором
Обновить
3
0
Виталий Волков @hsvitaly

Пользователь

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

Omegle — поговори с кем-нибудь

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

Привет.


Сейчас я вам расскажу про мировой рассадник прокрастинации, про прекрасный вариант жестокого убийства своего драгоценного времени и самый короткий путь навсегда понять, что ты никому не интересен.


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



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


Читать дальше →
Всего голосов 183: ↑162 и ↓21+141
Комментарии296

Болee 40 онлайн-курсов от Coursera и Udacity

Время на прочтение4 мин
Количество просмотров35K
Сегодня проект Coursera, о котором на хабре уже неоднократно писали, наконец перешел из статуса беты в полностью рабочий. И переход этот можно назвать, мягко говоря, успешным — к уже заявленным и частично идущим 16 курсам от Stanford и Berkley и 1 курсу от Michigan добавились 12 курсов от Penn (Философия, Литература, Экономика, Медицина), 6 от Michigan (Литература, Экономика, Право) и 8 от Princeton (История, Математика, Computer Science).

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



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

Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии42

Переворачиваем интернет на 1-е апреля

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

Для того чтобы устроить полный переворот интрернета нам понадобится

1) Сервер раздающий интернет для локальной сети
2) Прокси сервер
3) 15 минут времени

Схема очень проста. Прокси будет работать в прозрачном режиме и все ссылки на картинки передавать скрипту, который сможет эти картинки скачивать и изменять.

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

Работа с PySide

Время на прочтение9 мин
Количество просмотров53K
Этот пост участвует в конкурсе «Умные телефоны за умные посты»


В Сети имеется некоторое количество информации по проекту PySide, но русскоязычной не так много.

Данная статья является попыткой восполнить этот пробел. Далее будет описана сборка проекта, запуск приложений на эмуляторе, пример создания собственной привязки. Некоторые ключевые особенности PySide будут показаны на примерах.
Читать дальше →
Всего голосов 75: ↑61 и ↓14+47
Комментарии14

Пишем примитивный и никому не нужный компилятор

Время на прочтение9 мин
Количество просмотров170K
Я считаю, что каждый программист должен написать свой компилятор.

Я сам долгое время считал, что создание компиляторов — это удел элиты, а простому смертному программисту не постичь этой науки. Попробую доказать, что это не так.

В посте мы рассмотрим, как можно написать свой компилятор C-подобного языка меньше чем за час, исписав всего 300 строчек кода. В качестве бонуса, сюда входит и код виртуальной машины, в байткод которой будет компилироваться исходник.
Читать дальше →
Всего голосов 247: ↑231 и ↓16+215
Комментарии67

Дерево ван Эмде Боаса

Время на прочтение6 мин
Количество просмотров18K
Всем доброго времени суток!

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

Дерево ван Эмде Боаса (van Emde Boas tree) — ассоциативный массив, который позволяет хранить целые числа в диапазоне [0; U), где U = 2k, проще говоря, числа, состоящие не более чем из k бит. Казалось бы, зачем нужно еще какое-то дерево, да еще позволяющее хранить только целые числа, когда существует множество различных сбалансриованных двоичных деревьев поиска, позволяющих выполнять операции вставки, удаления и прочие за O(log n), где n — количество элементов в дереве?

Главная особенность этой структуры — выполнение всех операций за время O(log(log(U))) независимо от количества хранящихся в ней элементов.

Что же там еще есть такого вкусного?
Всего голосов 192: ↑190 и ↓2+188
Комментарии39

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

Время на прочтение2 мин
Количество просмотров73K
logoНеожиданно тихо прошел релиз новой версии virtualbox, в котором впервые появилась возможность запускать в виртуальной машине MacOS X. Официально. С оригинального диска. Не хакинтош.

Почитать что получилось а что нет
Всего голосов 184: ↑176 и ↓8+168
Комментарии290

Генератор миниатюрок из Nginx-а

Время на прочтение3 мин
Количество просмотров27K
Итак, сегодня мы соберём генератор миниатюрок на базе любимого народом веб-сервера — nginx-а. Что примечательно, сделаем мы это без единого гвоздя, т.е. без единой строчки кода, не считая конфигурации.
Что ж приступим...
Всего голосов 81: ↑76 и ↓5+71
Комментарии42

Python Tips, Tricks, and Hacks (часть 2)

Время на прочтение6 мин
Количество просмотров133K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии30

Материалы продвинутого уровня по Питону

Время на прочтение5 мин
Количество просмотров43K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

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

Подробнее
Всего голосов 136: ↑133 и ↓3+130
Комментарии23

1001-ый способ вертикального выравнивания

Время на прочтение2 мин
Количество просмотров128K
О вертикальном выравнивании блока неизвестной высоты по центру или низу родителя сказано много. Есть способы, основанные на display:table-cell для хороших браузеров (без кавычек) и expression для IE, способы, основанные на относительном позиционировании (могут плохо работать при переполнении). В этой заметке будет описан способ, работающий на особенностях такого мощного отображения, как встроенный блок (display:inline-block).
Читать дальше →
Всего голосов 62: ↑51 и ↓11+40
Комментарии46

Договор на техническое обслуживание и поддержку сайта

Время на прочтение9 мин
Количество просмотров124K
Добрый день, коллеги!

В нашей компании, существовала проблема с договором на техническую поддержку сайтов. В договоре мы хотели четко прописать круг наших обязанностей, время выделяемое в месяц на работы над сайтом заказчика, способы оплаты при превышении выделяемого времени, ответственность заказчика и четкие инструкции по предоставлению материалов. Этим договором и хотим с вами поделится.
Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии48

Mac OS X в эмуляторе QEMU под Linux

Время на прочтение2 мин
Количество просмотров27K
Здравствуйте хабровчане. Недавно понадобилось писать на Objective C под Mac OS X. Железо у меня не самое подходящее для всяких сборок, да и сидеть полностью в этой ОС религия не позволяет. Решил поставить Mac OS X в на виртуальную машину Qemu в Linux.
Читать дальше →
Всего голосов 94: ↑89 и ↓5+84
Комментарии41

Vanadium: семантическая валидация на клиенте

Время на прочтение1 мин
Количество просмотров1.3K
Логотип Vanadium

Vanadium — новый валидатор для клиента, который позволяет вам определять логику семантической валидации через атрибут класса (class). На главной странице проекта есть такие примеры, как:
<input class=":required" type="text" />
<input class=":integer" type="text" />
<input class=":length;4" type="text" />
<input class=":min_length;4" type="text" />
<input class=":format;/^(vanadium)+$/i" type="text" />
<input id="pass" class=":ajax;/username_checker/check.json" type="text" />
<input id="pass" class=":email" type="text" />
<input id="pass" class=":required" type="password" /><input class=":same_as;pass" type="password" />


* This source code was highlighted with Source Code Highlighter.


Примечание от переводчика: Также поддерживается декларация правил валидации посредством JSON-определений и проверка на сервере (AJAX). Требуется jQuery.

Всего голосов 42: ↑31 и ↓11+20
Комментарии26

Сервер на стероидах: 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

Отслеживание iframe

Время на прочтение3 мин
Количество просмотров1.8K
Однажды мне надоели жалобы клиентов, вроде «на моём сайте вирус, сделайте что-нибудь!». Объяснять людям об опасности сохранения паролей от ФТП на небезопасной машине так же надоело. Гениальное оказалось рядом — обычно поражаются файлы index.* и default.* — так почему бы не отслеживать изменение этих файлов. Сказано — сделано.
UPD: код переписан — теперь никакого SQL и PHP, тупо парсим xferlog bash'ем
Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии51

Набор качественных тем для gnome от ZgegBlog

Время на прочтение1 мин
Количество просмотров3K
Официальный сайт

На данный момент представлено 9 хорошо сделанных тем оформления, большинство из них включает в себя набор иконок, тему для GDM, GTK, Metacity, Emerlad и фон рабочего стола.
Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии46

Сохранение исходных пропорций видео

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


Вы когда-нибудь хотели изменять размеры видео на лету, масштабировать его как изображение? Используя внутренние пропорции для видео, можно. Эта техника позволяет броузерам устанавливать размеры видео, основываясь на ширине родительского блока. С внутренними пропорциями, новая ширина вызывает новое вычисление высоты, что позволяет изменять размеры видео и дает возможность для масштабирования его, так же, как изображения. Пример 1.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии27
1

Информация

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