Christian Archer Chase Your Dreams!

вторник, 10 сентября 2013
19:56
10.09.2013 в 19:36
Пишет  Mira Melledain:

Вот да - веселый глюк был
10.09.2013 в 21:29
Пишет  Ли Шеннон Кристи:
Йеее!!!
10.09.2013 в 11:19
Пишет  Мех на ледоколах:

Насущное.
10.09.2013 в 11:49
Пишет  Король Ондатра:
В серверной дайри.ру по ходу прорвало трубопровод с антидепрессантами.
URL записи

URL записи
URL записи

URL записи
URL
понедельник, 26 августа 2013
23:20 SPDY и TLS в Apache
SPDY — модная нынче замена протоколу HTTP от Google. Не просто костыль от "корпорации добра", а поддерживаемый браузерами стандарт и кандидат на включение в HTTP/2.0

Фичи: во-первых, цель — чтобы все ресурсы страницы были отданы за 1 соединение (очень заметно, если на странице подключается много мелких файлов), во-вторых, простота настройки.

Установка в CentOS 6:

1) качаете и устанавливаете mod-spdy-beta_current_x86_64.rpm (64 бита) или mod-spdy-beta_current_i386.rpm (32 бита)

2) перезагружаете апачу

всё, у вас SPDY. В nginx тоже должно быть просто, но у меня Apache

Недостатки (а как же без них):

1) Работает только через SSL (пока)

2) несовместим с Apache mod_php

Тут в принципе всё решаемо. PHP перенастраивается на работу с FastCGI — и лучше сделать так как можно скорее, т.к. от mod_php много и других проблем, таких как чушь с правами на файлы и требование неоптимальной версии апача — Apache MPM Prefork

С SSL чуть хитрее — многие помнят (а у многих и до сих пор крутится соответствующая древность на серваках) те несладкие времена, когда для поднятия сервака на https:// требовалось каждому хосту раздать по IP-шнику. Так вот, эти времена прошли и можно без нервов сделать веб чуть безопаснее

Надо убедиться что

1) ваш OpenSSL версии 0.9.8k и старше (и TLS в нем не выключен)
2) апача собрана с этой версией OpenSSL
3) установлен mod_ssl

Для CentOS 6 (не 5!) всё собрано соответственно, так что надо просто установить

Всё! У вас сервак с поддержкой SNI, которая позволяет обходить ограничения старых версий SSL

Рекомендуется еще в конфиг Apache добавть такую строку: SSLStrictSNIVHostCheck (on|off)

on закроет доступ старым браузерам, не умеющим работать с SNI (премногоуважаемый всеми IE6, Firefox младше 2.0, Safari младше 3.2.1, Opera младше 8.0, Google Chrome такое с рождения умел), off позволит им заходить, тем не менее, устрашая "неверными" сертификатами. Я подумал чутка и поставил on. Ибо нефиг

SPDY добывать здесь: code.google.com/p/mod-spdy, инфа про TLS и Инфа про SNI и TLS тут: wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
URL
22:35 Libravatar Replace
Написал свою версию плагина для Libravatar — Libravatar Replace. Точнее, пришлось форкнуть оригинал, т.к. автор упорно молчал на мои попытки связаться. Сначала я добавил все дефолты Либраватара в список, а потом понеслось

Фичи:

  • Плагин полностью заменяет Gravatar на Libravatar в WordPress, включая всё default images (лого только меняется соответствующе)

  • Services_Libravatar содержит мой патч, исправляющий работу с портами в SRV

  • Попытался сделать поддержку BuddyPress (там свой алгоритм генерации изображний-аватаров, причем писец какой запутанный) — вроде работает



WordPress Plugins: wordpress.org/plugins/libravatar-replace
BitBucket: code.sunchaser.info/libravatar
URL
суббота, 24 августа 2013
19:29 Здравствуйте, мистер Бестер

…Он сидел в непримечательной белой комнате
без окон напротив человека с ничего не выражающим лицом, одетого в
строгую чёрную мантию.



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



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



— Здравствуйте, мистер Бестер, — устало ответил Гарри. — Может, в этот раз пропустим первоначальное потрясение?



— Вам удалось меня удивить? — слегка
заинтригованно спросил мистер Бестер. — Ну что ж. — Он поднял палочку и
посмотрел Гарри в глаза. — Легилименс.



Наступила тишина. Затем волшебник в чёрном вздрогнул, как будто ему наступили на ногу.



— Тёмный Лорд жив? — выдавил он. Затем глаза телепата резко расширились. — Дамблдор становился невидимым и проникал в спальню для девочек?



Гарри вздохнул и посмотрел на часы. Опять около трёх секунд...



— Итак, — произнёс мистер Бестер. Его голос
ещё не восстановил свою невыразительность полностью. — Вы искренне
верите, что откроете секретные законы магии и станете всемогущим.



— Точно, — спокойно сказал Гарри, всё ещё глядя на часы. — Я настолько самоуверен.



— Интересно. Кажется, Распределяющая шляпа считает, что вы будете следующим Тёмным Лордом.



— А ещё вы знаете, что я изо всех сил
стараюсь им не стать, и вы видели, что у нас уже была длинная дискуссия
о том, хотите ли вы учить меня окклюменции, и в конце вы решили, что
будете, так что, может, пропустим всё это и двинемся дальше?



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



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

 

(Гарри Поттер и Методы рационального мышления)


URL
воскресенье, 18 августа 2013
03:49 Доступ к записи ограничен
Закрытая запись, не предназначенная для публичного просмотра
URL
среда, 14 августа 2013
23:01 Про утечку ресурсов в генераторах PHP
Очень интересный и полезный момент сегодня всплыл в комментариях на Хабре. В PHP 5.5, как известно, сделали поддержку функций-генераторов, по типу питоновских. Там раньше были итераторы, но с адовым синтаксисом (как всё в SPL), а теперь ввели оператор 'yield' и всё волшебным образом упростилось.

Например, можно написать такой генератор, читающий построчно файл:


function getLines($file) {
f = fopen($file, 'r');
while ($line = fgets($f)) {
yield $line;
}
fclose($f);
}



'yield' означает «вернуть значение и продолжить с этого места при следующем вызове функции». Имея такой генератор, можно сделать вот такую печать файла:


foreach (getLines("file.txt") as $line) {
echo $line;
}


Удобно? Очень удобно. Оператор 'yield' выдаст все строки файла, а потом, когда файл закончится, произойдёт обычный 'return' из функции, который закроет генератор (и закончит цикл).

Но как известно, если всё идёт хорошо, значит, вы чего-то не заметили. Немного изменим наш цикл:


foreach (getLines("file.txt") as $n => $line) {
if ($n > 5) break;
echo $line;
}


Предположим, нас интересуют только первые шесть строк файла, а дальше мы хотим прервать цикл оператором 'break'. Имеем на то полное право. Но что в этом случае произойдёт внутри генератора? А ничего. Он останется стоять на последнем исполненном yield-е и никогда не дойдёт до строки 'fclose($f)'. И наш файл останется незакрытым.

Мы получили утечку ресурса (открытого файла). Понятно, что внутри генератора могут быть открыты любые ресурсы и объекты, и их необходимо правильно и предсказуемо закрывать. Но как это сделать, если юзер может в любой момент сделать break? Обычная документация (www.php.net/manual/en/language.generators.overv...) никаких намёков не даёт.

Так вот, оказывается (и за это спасибо юзеру weirdan с Хабра: habrahabr.ru/post/189796/#comment_6594776), что читать в этом случае надо не документацию, а RFC по генераторам: wiki.php.net/rfc/generators#closing_a_generator. А в нём сказано, что при освобождении ссылки на генератор, у него внутри обязаны выполниться все блоки 'finally'. И тогда мы получаем очень простой, красивый и безопасный код:


function getLines($file) {
f = fopen($file, 'r');
try {
while ($line = fgets($f)) {
yield $line;
}
} finally {
fclose($f);
}
}


В этом случае блок 'finally' выполнится и при нормальном выходе из цикла по генератору и при выходе по break-у. Ура.

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


ru-php.livejournal.com/1566325.html
URL
01:46 Caprica Abides


Инструменталка:


Текст (возможны неточности, взят из комментов к 1 видео):

Caprica let us celebrate,
Raise our hands despite the weight
And all her joys we extol,
Caprica abides!

Caprica let us perservere,
Blind ourselves to doubt and fear (From the BSG Wiki: Shield ourselves from doubt and fear)
And to the burns of the soul (From the BSG Wiki: And all the sorrows of the soul)
Caprica abides!

Caprica the humble beast,
Much as more than shield,
Who gave them twins and all the feast
And save them from disease

Caprica let us tolerate,
Differences may seperate,
Yet for now on and all and make them fall,
So say we all,
So say we all,
Caprica abides!
URL
вторник, 13 августа 2013
15:54
о, опять атака зомби-записей
URL
суббота, 10 августа 2013
14:55 Фелиция и нанотехнологии

Just bought a hair mask with "nanotechnology". If I turn into the Borg queen you have been warned.


— Felicia Day (@feliciaday) August 9, 2013



Originally published at Chase Your Dreams!. You can comment here or there.

URL
пятница, 09 августа 2013
среда, 07 августа 2013
23:01 Libravatar Dummy Service
Сервис-заглушка для системы Libravatar. Позволяет использовать одну картинку формата png для домена. Думаю, большинству этого вполне хватит :)

Стырить как всегда можно из моего репо для мелочей — code.sunchaser.info/miscellaneous
URL
суббота, 03 августа 2013
20:36 Вавилонское

"В время съемок первого сезона "Вавилона 5" у О'Хары появились симптомы шизофрении. На середине фильма его галлюцинации усугубились, а стресс от отыгрывания персонажа, страдающего таким же психическим расстройством, дошел до предела. О'Харе становилось всё сложнее продолжать работу, его поведение стало непредсказуемым, часто возникали трудности с коллегами. О'Хара обратился за медицинской помощью в связи с психическим расстройством, однако боялся, что уход главного героя "Вавилона 5" в длительный отпуск по болезни погубит сериал, только-только набравший обороты.

Дж.М. Стражинский, создатель сериала и главный писатель, предложил приостановить шоу на несколько месяцев, чтоб обеспечить О'Харе лечение; однако О'Хара отказался подвергать риску работу стольких многих людей. Стражинский согласился сохранить состояние О'Хары в тайне, чтоб защитить его карьеру. О'Хара согласился закончить первый сезон, однако был исключен из второго сезона, чтоб пройти лечение. Он появился в камео в самом начале второго сезона и вернулся в третьем сезоне в двойном эпизоде "Война без конца", который поставил точку в истории его персонажа. Больше он в "Вавилоне 5" не появлялся.

Хотя лечение прошло в определенной мере успешно, он так и не выздоровел до конца. Стражинский пообещал, что сохранит тайну о его состоянии до самой смерти. О'Хара велел ему "сохранить тайну до МОЕЙ смерти", заметив, что фаны заслуживают того, чтоб в конце концов узнать истинную причину его исчезновения, и что его опыт может всколыхнуть внимательность и понимание к людям, страдающим психическими расстройствами. 25 мая 2013 года, спустя 8 месяцев после смерти О'Хары, Стражинский исполнил своё обещание и, наконец, раскрыл подоплеку ухода О'Хары из "Вавилона 5" на Phoenix Comicon."

[источник] [видеопруф]


URL
среда, 31 июля 2013
22:15 Переверни страницу


P.S. За что они Элронда так? :D
URL
четверг, 25 июля 2013
01:18 Defiance Main Theme
Сериальная



ММО-шная


URL
воскресенье, 21 июля 2013
04:08 Descendants of Votans
И это не дает мне спать в сей поздний час >__<

Мураки

Был ли доктор Мураки представителем расы Каститан?

Castithan People

И еще прекрасное Гугл выдал:

tumblr_ltbayfeu8t1qhouaso1_500
URL
03:54 Libravatar
Как бы ответ на мои молитвы и проклятия появился сервис Libravatar, альтернатива так подставившему меня сервис Gravatar.

На самый первый взгляд, те же яйца, только в профиль — если просто заменить www.gravatar.com на cdn.libravatar.org, взлетит. Это уже хорошо, т.к. Gravatar без гадких Automattic мне было бы достаточно, но нет, всё круче — можно поднять свой сервис и сделать его публично доступным! (Подходит, правда, не для конечных пользователей, а для владельцев доменов, т.к. дискавер идет через SRV-записи DNS) + Приятный бонус в аватарах не только по email, но и по URL (чтобы работало на libravatar.org они должны быть проверены через OpenID, на своем — не обязательно)

Казалось бы у нас теперь 3 несовместимых системы — Libravatar, Pavatar, Gravatar, но и тут есть бонус — Libravatar, если не найдет картинку у себя, покажет Gravatar, так что если вспомнить, что Pavatar популярности не сыскал, можно обойтись этой новой штукой.

Ну и, естественно, я уже накатал чекер — sunhome.im/static/libravatars.html
URL
пятница, 12 июля 2013
06:05

На адрес *****@sunchaser.info выслано письмо активации, подтверждения мы ожидаем до 15.07.2013 05:38. До истечения этого срока, вы не можете повторно выслать код на этот адрес. Подождите или воспользуйтесь другим адресом электронной почты.



Ващужемать!!!!111 у меня DNS упал и ваше письмо уже давно отклонено почтовиком. Я 3 дня чего ждать должен? :fire:
URL
четверг, 11 июля 2013
17:27 ПростоПлеер: Как легко потерять домен на 1кк посещаемости
По-моему, в интернетах нынче всё хуже и хуже с доверием к сервисам

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

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

Внезапно, наш старый регистратор idotz.net вместо того чтобы подтвердить перенос и попрощаться с нами, попросил «удалить незаконный контент с сервиса» и «подтвердить данные записей Whois документально». Idotz выделил на это 48 часов.

Я не придал особого значения этому письму и создал тикет у них в системе с вопросом о том, какой именно контент нужно удалить и что же будет через 48 часов. Ответ был, увы, в грубой форме:

Since you decided to argue instead of providing supporting documentation, your account is permanently locked and domain is being HELD in accordance with ICANN requirements.


Что в вольном переводе означает «Коль вы решили спорить с нами, вместо предоставления подтверждающей документации, ваш счет навсегда заблокирован. Домены будут заморожены в соответствии с требованиями ICANN».

Idotz повели себя неадекватно, очевидно, я ни в коем случае ни с кем не спорил, они решили меня наказать и тут же заблокировали домен, не дожидаясь окончания своих же 48-и часов.

http://habrahabr.ru/company/prostopleer/blog/186314/

URL
вторник, 09 июля 2013
17:38 Steam Linux: First Blood
Yahoo! Первой игрой, пройденной полностью на Линуксе становится Serious Sam 3

serious_sam_3_bfe
URL