Четверг, 30 Декабря 2004 г.
21:25 Escaping in PHP
Всем вам давно известно, что стандартно в PHP эскейпинг происходит с помощью слэша: \

Если мы хотим вставить в строку символ табуляции, то мы пишем
print "abc\tabc";

Если мы хотим написать слэш, то мы должны его тоже заэскейпить:
print "abc\\abc";

А никто из вас не задумывался, что будет, если заэскейпить, например, букву "a" ?
print "abc\aabc";

А будет вот что: PHP попытается заэскейпить "a" и не найдет соответствующей замены для "\a"... Тогда он выведет в stdout сначала один слэш, а потом, символ "a", будто была введена строка
print "abc\\aabc";


Список замен с использованием \ внутри двойных кавычек ("...") в PHP таков:
sequence meaning
\n linefeed (LF or 0x0A (10) in ASCII)
\r carriage return (CR or 0x0D (13) in ASCII)
\t horizontal tab (HT or 0x09 (9) in ASCII)
\\ backslash
\$ dollar sign
\" double-quote
\[0-7]{1,3} the sequence of characters matching the regular expression is a character in octal notation
\x[0-9A-Fa-f]{1,2} the sequence of characters matching the regular expression is a character in hexadecimal notation
Пятница, 3 Декабря 2004 г.
15:56 Про буша )
Джордж Буш - GB.

Кондолиза Райс - CR.

Обсуждение назначения Ху Дзиньтао на должность председателя КНР.

GB: Condi! Nice to see you. What's happening?

CR: Sir, I have the report here about the new leader of China.

GB: Great. Lay it on me.

CR: Hu is the new leader of China.

GB: That's what I want to know.

CR: That's what I'm telling you.

GB: That's what I'm asking you. Who is the new leader of China?

CR: Yes.

GB: I mean the fellow's name.

CR: Hu.

GB: The guy in China.

CR: Hu.

GB: The new leader of China.

CR: Hu.

GB: The Chinaman!

CR: Hu is leading China.

GB: Now whaddya' asking me for?

CR: I'm telling you Hu is leading China.

GB: Well, I'm asking you. Who is leading China?

CR: That's the man's name.

GB: That's who's name?

CR: Yes.

GB: Will you or will you not tell me the name of the new leader of China?

CR: Yes, sir.

GB: Yassir??? Yassir Arafat is in China?! I thought he was in the Middle East.

CR: That's correct.

GB: Then who is in China?

CR: Yes, sir.

GB: Yassir is in China?

CR: No, sir.

GB: Then who is?

CR: Yes, sir.

GB: Yassir?

CR: No, sir.

GB: Look, Condi. I need to know the name of the new leader of China. Get me the Secretary
General of the U.N. on the phone.

CR: Kofi?

GB: No, thanks.

CR: You want Kofi?

GB: No.

CR: You don't want Kofi.

GB: No. But now that you mention it, I could use a glass of milk. And then get me the U.N.

CR: Yes, sir.

GB: Not Yassir! The guy at the U.N.

CR: Kofi?

GB: Milk! Will you please make the call?

CR: And call who?

GB: Who is the guy at the U.N?

CR: Hu is the guy in China.

GB: Will you stay out of China?!

CR: Yes, sir.

GB: And stay out of the Middle East! Just get me the guy at the U.N.

CR: Kofi.

GB: All right! With cream and two sugars. Now get on the phone.

(CR picks up the phone.)

CR: Rice, here.

GB: Rice? Good idea. And a couple of egg rolls, too. Maybe we should send some to the guy
in China. And the Middle East. Can you get Chinese food in the Middle East?
Понедельник, 29 Ноября 2004 г.
19:11
Заказчик пожаловался на то, что banner rotation не работает.
Иду в темплэйт, смотрю где рисуются баннеры. Все ок.
Иду в скрипт, смотрю, где баннеры выдираются из бд.

Там выполняется такой запрос:
select
*, RAND() as R
from BANNER
where
  BANNER_ACTIVE = 'on'
  and BANNER_FILE != ''
  and BANNER_SECTION_ID = '".$section_id."'
order by R desc
limit 5


Все вроде прозрачно.

Добавляю print_r($BANNERS) после выдирания $BANNERS как нумерованного массива ассоциативных массивов.

Обновляю несколько раз страницу.

Замечаю, что у последних 3-х из 5-и баннеров число R постоянно маленькое - меньше 0.2 - хотя и меняется.

Вычислил R[3] / R[4]. 4.29...
Вычислил R[4] / R[5]. 4.25...
Обновил страницу. Все R изменились.
Вычислил R[3] / R[4]. 4.29...
Вычислил R[4] / R[5]. 4.25...
Обновил страницу. Все R изменились.
Вычислил R[3] / R[4]. 4.29...
Вычислил R[4] / R[5]. 4.25...

Вот такой вот в mysql 3.23.54 рандомайзер...
Четверг, 25 Ноября 2004 г.
18:32
Начали рисовать рождественскую открытку для наших заказчиков...

Шло бурное обсуждение ее исполнения...
....

Дима: - И нужно чтобы снег шел!

Я: - ну для снега можно видеокарту чрезмерно заоверклочить...

Дружный гогот тех, кто не был в наушниках.

Занавес.

Состояние: веселое
18:25
Рассматривали возможный проект...

PM: - Wicked, ты же с ... работал?

Я: - ну...

PM: - Подойди, кое что покажу.

Я: подошел

PM (показывая на свой монитор):
- Вот это мыло зайчитай, плз.

Я: В стиле рэп?

Дружный гогот тех, кто не был в наушниках.

Занавес.

Состояние: веселое
Вторник, 23 Ноября 2004 г.
10:32
Лол
Пятница, 19 Ноября 2004 г.
18:03
http://www.supercreativ.narod.ru/

тоже ништяк дизайнер конечно на найопку похоже ))
11:16
На работе пошарился по помойкам и нашел 6 видеокарт (в том числе и просто ускорителей)

1) S3 Virge DX, наверное 2x4MB EDO PCI
2) 3DFX Voodoo 1 (чипы 500-0003-03 FBI, 500-0004-02 TMU) PCI
3) 3DFX Voodoo3 1000 (OEM) (or : Velocity 100) 2x 8MB 143MHz AGP
4) ATI Rage IIC AGP
5) RIVA VANTA 16 MB AGP
6) глючная GF2 MX400 32MB

Отдал последнюю в ремонт %) Если починю - се на тачку поставлю )
Четверг, 18 Ноября 2004 г.
17:16 CS: Source
Принес седня CS: Cource на работу

Конфигурация моего компа: P3-550MHz / 320 RAM / NVIDIA RIVA TNT2 Model 64bit 32MB

В детонаторах производительность на максимум, в игре, насколько это возможно, тоже (При попытке изменить настройки - вылетает), 640x480.

На cs_italy на респе контров - 2 fps.
В узких коридорах/когда смотришь в стену - поднимается до 30-40.
На stress test'е ~12.5 fps.

Будем гамать

Состояние: заторможенное (оптимизированное под cssource)
14:57
Недавно мы в очередной раз переписывали Sophit Tempate Engine (часть cmf, которую мы используем на работе), чтобы запинать в него возможность "компилировать" темплэйты в пхп-скрипты для ускорения работы. Тем самым мы его еще немного приблизили к Smarty
Мне тогда в мою башку пришла такая мысля: Почему бы пхпшным темплэйтным движкам не переколбашивать темплыйты в c++ код и потом компилировать его в бинарники %) Это ж даст еще больший прирост производительности
Понедельник, 15 Ноября 2004 г.
17:49
http://www.factory-mone.h1.ru/index.html
Форма подписки без поля ввода e-mail'а это сильно
Еще там есть учебник по html, с которым наверное можно научиться создавать такие же сайты %)

http://blank.narod.ru/

http://turkmenistanairlines.com/

Состояние: веселое
17:28
Спал сегодня 3 часа... долбаная уфошка %)

В таком сонном состоянии всякая фигня в голову приходит... например, такая парочка Email-адресов:
[email]georgewbush@johnkerry.kz[/email]
[email]johnkerry@georgewbush.ua[/email]



Состояние: весело-сонное
Воскресенье, 14 Ноября 2004 г.
16:22 Игры...
Купил себе продолжение одной из самых любимых игр. Называется UFO Aftermath. Говорят вышла еще в 2002-2003 году, а я об этом узнаю только сейчас Ж)
Версия лицензионная, локализованная 1С, на 2-х дисках... Требует 1.25 гб на винте, так что на работе пока ставить не стал Ж)

В очередной раз правил конфиг от CS... уже стал на 10 кб, так что пришлось разбить на 2 файла - вынес юзерские конфиги в отдельные файлы... заодно сделал алиасы на покупку и над F1..F12 положил бамажку, где чего )

Состояние: никакое
Пятница, 12 Ноября 2004 г.
15:59 Ебуки
Собрался почитать Кента Бек - XP.
Посмотрим, что из этого получится 8]

Разумеется, это будет только после O'Reilly - PHP Cookbook.
15:44
Сделали бы что-нть среднее между колонками и наушниками...
Висят себе преспокойненько в воздухе 2 динамика на расстоянии 1 см от головы и играют чуть громче, чем динамики наушников

Плюсы: нулевая нагрузка на голову, комфортность; слышно все, что происходит снаружи (?)

Минусы: ближним соседям может быть все таки слышно; наверное несколько потеряется качество звука; слышно все, что происходит снаружи (?); кто б еще такое сделал %)
Вторник, 9 Ноября 2004 г.
20:26 Зарегистрировался :)
Почитал дневник Centaur, окончательно решил зарегистрироваться Подобные мысли приходили в голову на протяжении месяцев двух...

Состояние: голодное
Закрыть