big
12 заметок
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

Что же такое постмодернизм?

23 года назад в категории книги

«Что за постмодернизм такой?», — спрашивают в комментариях. Для тех, кто слышал, но не знает, советую очень хорошую книжку «для чайников»: Вадим Руднев. «Словарь культуры XX века». Интересно написана. Все базовые понятия культуры 20 века потятно разжеваны. Must-read для поднятия общего уровня. lib.ru/CULTURE/RUDNEW/

В частности,в главе про постмодернизм есть, конечно же, замечательная цитата из замечательного Эко, в которой максимально доходчиво объясняется на пальцах один из основных принципов постмодернизма. Кстати, лучше этот кусочек (если я не ошибаюсь, то это пояснительная записка к «Имени Розы») найти и прочитать целиком.

Да-да, именно оно — «Заметки на полях к Имени Розы“». lib.ru/UMBEKO/ekopolo.txt
Вот там очень хорошо про постмодернизм. А самое «Имя Розы» не читайте, лучше начните с «Маятника Фуко» — вот это действительно вещь! lib.ru/UMBEKO/

Если хотите тонко поприкалываться, то «Внутренние рецензии» почитайте, они коротенькие. lib.ru/UMBEKO/umbeko.txt

Вот, собственно, и все.

0

Простое кэширование страниц

23 года назад в категориях технологии php

Простое кэширование страниц. Для чайников. На PHP.

Кэширование — замечательная вещь. Часто (теперь — почти всегда) страницы на сайтах генерятся динамически. Это теперь модно. Однако же — в реальности — почти всегда страница собирается заново гораздо чаще, чем она изменяется. Грубо говоря, мы опубликовали новый документ, и при каждом обращении к нему он заново считывается, скажем, из базы данных, заново прогоняется через шаблон и прочее и прочее. Мы снова и снова делаем одну и ту же работу.

А можно просто один раз сделать, а потом сохранить результат этой работы. И при каждом запросе выдавать готовый результат, а не делать все заново. Это и есть кэширование.

Оно позволяет, снизить нагрузку на сервер и на базу данных. Непонимание принципов работы кэша иногда приводит к забавным курьезам.

Единственная проблема — это устаревание кэша. Допустим, что данные на странице изменились, а кэш страницы — еще нет, и пользователю будет выдаваться старая версия страницы. Способы борьбы:

1. Выставлять более-менее приемлимое время устаревания кэша. Например, через 10 минут страница устаревает и кэш генерится заново. Минусы: возможна ситуация, когда пользователю 9 минут будет показываться старая страница.

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

3. «Умная» очистка кэша. Очищается только кэш той страницы, которую мы изменили. Минус: часто изменение одной страницы затрагивает и несколько других. Главное — понять, каких именно и очистить кэш у них тоже.

Лично у меня реализованы все три метода.

А теперь — в двух словах, как сделать себе кэш. Чудесные функции PHP — ob_start и иже с ней позволяют не выводить страницу в браузер, а, например, сохранить ее в переменную. Про это я уже писал.

Это вставляем в начале страницы:

$url=$GLOBALS['REQUEST_URI'];
$crc=md5($url);

$modif=time()-@filemtime ("cache/$crc");

if ($modif<600)
{
include ("cache/$crc");
exit();
}

ob_start ();

Как это работает:

Берем адрес страницы, вычисляем из него md5. Это будет использоваться, как идентификатор страницы. Например, для УРЛа technology/php/caching md5 будет всегда одим и тем же. Этим мы и воспользуемся.

Файлы кэша будут лежать в директории cache. Смотрим, сколько секунд (filemtime) исполнилось файлу с кэшэм данной страницы. Если он не очень старый (меньше 600 секунд) и вообще есть — выводим его (include).

Если нет — то включаем ob_start и продолжаем дальше.

Это вставляем в конец страницы:

$cache = ob_get_contents();
ob_end_clean ();
echo $cache;

$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp);

Как это работает:

Считываем содержимое буфера (ob_get_contents). Получаем в переменной $cache то, что должно было выводится в браузер. Выводим в бразуер, раз должно (echo).

Записываем содержимое буфера ($cache) в директорию cache в файл $crc.

Все. Теперь при следующем обращении к странице с этим адресом скрипт (смотрите первую часть) будет смотреть, есть ли соответствующий файл в кэше и если он еще не устарел — просто выводить его и прекращать обрабатывать страницу (exit).

Примерно так оно и работает. Таким образом, страница выводится из кэша где-то за 0.001-0.004 секунды. Выигрыш процессорного времени налицо.

Разумеется, я описал только общий принцип, у меня сделано несколько по-другому.

0

О СУКах и проч.

23 года назад в категории контент

Влад Головач недописал материал о СУКах (CMS) и выложил только вступление. blog.exmachina.ru/archives/000707.html Как всегда — много правильных вещей, в частности то, что «даже кухарка может управлять CMS» — порочная идея.

У меня у самого много мыслей по поводу CMS. Очень много. Нужно сесть и написать. Вообще, накопилось штук пять тем, которые хочется тщательно, во все дырки, описать на «Спектаторе». В том числе и темы «Спектатор против Регистра», или «Блоги vs Сайты со статьями“», «Проектирование системы vs выращивание“ системы» и прочее.

Update. Влад выложил еще и свои 10 тезисов о СУКах, например «Идеальная база данных для большинства СУКов — обычная файловая система (вы не забыли, надеюсь, что файловая система это тоже бататаза?). Во-первых, она не ограничивает пользователя в средствах редактирования, во-вторых, она обладает минимумом техподробностей». blog.exmachina.ru/archives/000708.html

Из тезисов становится понятно, о каких СУКах он говорит: работающих на стороне клиента и создающих преимущественно статические файлы. Не могу сказать, что он не прав, на spectator.ru до сих пор стоит подобная система, по сути дела-то. Он описал очень хороший тип СУК, хотя я навскидку могу сказать, где этот тип не будет так хорош. Впрочем, Влад написал же «Нет идеального СУКа. Нет же у нас идеальной верстальной системы. Под разные цели и разных пользователей нужны разные системы». В комментариях у него уже то-то отметился на тему «секретарше леночке, конечно, можно попробовать рассказать, как на фтп лить и ставить ссылки...а смысл ? все равно все испохабит...», — так вот, это глупость. Во-первых, ничего не мешает сделать так, чтобы на ftp оно лезло само и ссылки ставились удобным для секретарши способом, а во-вторых, каждый должен заниматься своим делом: глупые секретарши нужны для того, чтобы хуй у начальника сосать, а всем остальным достаточно потратить пару часов на обучение. Ибо работать с CMS должен человек обученный хотя бы минимальным навыкам.

PS. Эх, надо свой текст про CMS писать.

0

Life in the Liberty City

23 года назад в категории игры

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

Так вот, в GTA нашпиговано много ненавязчивого черного юмора. Ну, например, миссия: заминировать машину, пока чувак жрет в кафе. Когда он поел и выходит, камера показывает его машину и ненавязчиво так вывеску заведения со слоганом: «Eat till you explode». Соответственно, чувак садится в машину и взрывается. Очень много стеба по радио. Так, например, реклама компьютерной игры про обезъянку Pogo. Сначала перечисляются фичи игры, а потом миссии, начиная со спасения из лаборатории («This nasty scientiests deserved to die»), ну «...и, наконец, главная миссия — помоги Pogo стать Президентом Соединенных Штатов».

В рекламе даже адрес сайта дается — Pogo the Monkey dot com.

Ну или, например, как-то на радио в «общательную» программу звонит некий чувак с проблемой «My mom does not think I am real man». Фишка в том, что этот чувак — Томми, один из мафиозных шишек.

Update. В комментариях — ссылка на тексты из радио.

Lazlow: «Alright let’s go over here. Hello caller, you’re on Chatterbox.»
Toni: «Yeah? Is that Lazlow?»
Lazlow: «Yes it is. Who is this?»
Toni: «My name ain’t important! It’s real un-important, okay?!»
Lazlow: «Er...no not really, I mean this is a radio show, people usually tell us their name.»
Toni: «My name I is real un-important! If you wanna keep on being a wise-guy, you’ll find out just how un-important....like...un-important I just got shot in the head un-important! Do I make myself clear?!?»
Lazlow: «Err..yes...wh..why are you calling in today?»
Toni: «Because I need some advice. And I ain’t doing any of that shrink shit!»
Lazlow: «Er..i..if you swear again, we’re gonna have to cut you off, this is a family show.»
Toni: «Sorry sorry, sorry...I’m..I’m..I’m just a little unhappy, a bit agitated. Real angry. It’s my ma! She don’t think I’m a real man. Can you imagine that? I mean, I do a mans job an all, but, she treats me like a little boy! All I get is ’your pa’ this and ’your pa’ that and ’you ain’t a real man Toni’ and it’s driving me freakin’ nuts!!»
Lazlow: «Well, Toni...»
Toni: «Toni!? How’d you know my name was Toni?? You tracing this call? Cos if you are, you’re gonna get real intimately acquainted with...what your brains look like! My name ain’t Toni....okay!?!»
Lazlow: «Err...okay.»
Toni: «But my ma, she keeps going ’Toni Toni, be a real man, stand up for yourself, don’t take no shit!’ But all I do is to be a good son, and I want her to show that she cares for me! Show that...she loves me! And you know...say I was a good kid! But...it seems like nothing’s ever good enough for her, you know what I mean? What do I do?»
Lazlow: «Well Ton...I mean sir...you know in life we have a lot of obligations, and we just have to kinda...face up to them...and right now, I’m obligated to play some commercial announcements. We’ll be back right after this!»

0
«Таро как инструмент самопознания», курс от создателя spectator.ru

Картинки возвращаются-2

«When using a normal web server setup, images should be stored as files. That is, store only a file reference in the database. The main reason for this is that a normal web server is much better at caching files than database contents. So it it’s much easier to get a fast system if you are using files». (еще 205 слов)

Я не программист

Дальше я пишу о себе всякие хвалебные вещи, читать не обязательно. I actually hate programming,
but I love solving problems.
Rasmus Lerdorf Как написано в качестве эпиграфа здесь. detail.phpclub.net/ Я на самом деле не программист. Я, конечно, умею программировать, но... не люблю это делать. (еще 348 слов)

RPG

Neverwinter Nights вещь, конечно же, безумно красивая. Но.
1. Выходит, все-таки, почти чистый hack’n’slash с моим героем-паладином. Раскачался до состояния танка, так что весь сюжет сводится к зачистке территорий. Может, магом и не так. Но все равно, алгоритм действий прост: носимся по уровням и чистим.
2. (еще 176 слов)

I, me, mine

Основная проблема многих «авторских проектов» в том, что они построены по принципу «Я, меня, мое». Авторский проект это не значит «проект об авторе». Это, несомненно, возрастное, но все же через пять минут чтения этого мне становится нехорошо. В этом плане проекты, типа Bolk’s readme для меня гораздо более симпатишны, ибо даже если и сообщают иногда бесполезную для меня информацию, то все равно сообщают информацию, а не чьи-то сраные экзестенциальные переживания. (еще 195 слов)

Файлы vs Базы Данных

Дима Киселев (наш админ) перевел статистику на файлы www.livejournal.com/talkread.bml?journal=kiselev&itemid=29545 Он молодец. Говорит, что нагрузка резко упала. Еще бы. Сам я большой сторонник файлов, ибо — ... ---- из аськи Salvatore: Я же сделал сбор статистики в файл. Нагрузка упала до нуля :) Ненарадуюсь.
Spectator.ru: Дык :) Мне давно пора бы писать заметку «почему и как базы данных сосут». (еще 199 слов)

Праздники

Шли мы 22-ого февраля и обсуждали все эти гендерные праздники. Дело понятно в чем: отсутствие основ и оснований. Дата 23 феврая вообще чуть ли не с потолка взята, никакого знаменательного исторического события в тот день не было. 8 марта — еще хуже. Группа персон женского пола во главе с Кларой Цеткин залу... (еще 135 слов)

Not Another Teen Movie

Not Another Teen Movie us.imdb.com/Title?0277371 — на русский переведено как «Совсем не детское кино», хотя лучше бы «Совсем не еще одна тупая молодежная комедия». The original title was «Teen Movie», but this was ditched as the movie got more and more... un-teen. Then the title was changed to «NOT A Teen Movie» because of this. (еще 273 слова)

Что такое RSS?

Уже стало доброй традицией писать раз в месяц нечто на тему «Чего-то-там для чайников». Итак, аббривиатура дня: RSS. Это такой Web content syndication format. (Ничего, что я по-английски?)
RSS — это сокращение от Really Simple Syndication, что в переводе на русский звучит, как Действительно Простая... (еще 351 слово)