2008-02-22

Sony Ericsson P1i

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

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

Отдал телефон на экспертизу, молодой человек сказал что если неисправность подтвердится, то неверное даже деньги вернут, или заменят на другой, или на аналогичный (это топовую то модель..). А если не подтвердитья то придется мне до конца жизни ходить с глючным телефоном.

Даже интересно чем дело закончится...

 

Оставить комментарий

 
  2008-02-19

Crontab Setup

Почему-то во всех руководствах по кронтабу нет простейшей вещи: как сделать вызов команды каждую минуту?

Ответ тривиален - поставить все пять звездочек:

* * * * * wget -r http://www.site.com/yourscript.com
 

Коментариев: 2

 
  2008-02-15

Error Reporting

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

Для того чтобы погасить вывод ошибок на экран этот оператор просто локально меняет значение error_reporting а затем возвращает его в предыдущее значение.

Чтобы проверить этот факт создал простейший скрипт:

error_reporting(E_ALL); function test(){ print "inside ".error_reporting()."<br />"; } print "outside: ".error_reporting()."<br />"; @test();

вывод на экран:

outside: 6143 inside 0

Что и требовалось доказать.

 

Оставить комментарий

 
  2008-02-07

Modern Bill

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

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

Тормоза. Работает все кра-а-а-айне медленно. Возможно это глюк https, однако и по обычному некриптованному соединению работает очень медленно.

PHP5. Система сделана под PHP5, на четвертом не работает, однако если поставить error_reporting(E_ALL) вываливает такое количество ошибок что конца я не дождался, закрыл браузер - трафика жалко.

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

 

Коментариев: 1

 
  2008-02-07

SendStudio

Одни мои хорошие знакомые из штата Огайо купили программку для рассылки информациооных маркетиноговых писем для своих клиентов (читай спама, хотя на самам дела это действительно маркетинговые письма, т.к. рассылают они именно тематические письма и именно если человек сам на них подписался - некое подобие нашего subscribe.ru). Когда покупали им как бонус дали бесплатный хостинг на JumpLine.com

Ну разумеется решили программку поставить на этот хостинг.

Несколько месяцев все работало хорошо, но вот вчера работать перестало, при обращении в службу поддержки выяснилось, что аккаунт удален из-за рассылки спама!

Вот я сижу и размышляю, если хостинг в нагрузку дали, за программу для рассылки спама, то зачем его закрывать из-за этой самой рассылки? Ужасно непоследовательно.

 

Оставить комментарий

 
  2008-01-20

SonyEricsson P1i

SonyEricsson P1iКупил себе пресловутый сабжект на день рожденья, но работать хорошо он не захотел, сначала работает хорошо, но после нескольких часов работы эта зараза перестает реагировать на входящие звонки, и позвонить с него также становится невозможно. Хотя девайсина неплохая, если бы она еще в процессе работы не пререгружалась цены бы ей не было, а так перегружается, а после перезагрузки говорит, что де прегрузилась она для повышения производительности, о какой производительности правда идет речь непонятно, так как лично моей производительности это не способствует. Еще это устройство любит прегружаться когда долго лежит без дела - наверно скучно ему становится, все бы ничего, но вот особенность этого аппарата такая что после перезагрузки он не сразу становится телефоном, а спрашивает, не нахожусь ли я в самолете, и не нужно ли включить Flight mode, видимо что бы самолет не ушел в крутое пике от излучений этого агрегата. Так как в самолете я последний раз находился четыре года назад, то этот режим для меня мало востребован, а вот дозвониться до меня в это время невозможно, так как чтобы войти в режим телефона нужно нажать несколько кнопок.

Телефон отправился в сервис центр, где мне сообщили что починят не раньше чем через месяц, так как отправят его в Питер. Так что перешел обратно на свой древний Motorola 720i, который до сих пор работает как часы, хотя купил я его четыре года назад в том же аэропорту в Хитроу откуда и летел тем самолетом. Вот так.

Странно что SE допускает подобное, раньше за ней такого не замечалось.

 

Оставить комментарий

 
  2008-01-15

Оптимизация Javascript

Встала такая задача: уменьшить размер JavaScript кода для ускорения загрузки страницы. Ну первое что приходит в голову, это удалять whitespace, для этого можно использовать JSMin, но об этом я напишу в другом посте. Основной способ уменьшения размера кода, это как можно меньше его писать и использовать как можно более короткие имена переменных. Еще одним способом уменьшения размера кода, это использовать более компактную форму записи. Обычно я при использовании объектно-ориентированного кода использую конструкции вида:

function ClassName(){ //some code } ClassName.prototype.method1 = function(){ //some code } ClassName.prototype.method2 = function(){ //some code }

Честно сказать давно искал более компактный метод и наконец нашел. Решение крылось в библиотеке prototype. Вообще то когда я первый раз познакомился с этой библиотекой мне она не понравилась. Не понравилась она мне тем что наследование классов делается не используя особенности JavaScript а тупым копированием свойств:

Object.extend = function(destination, source) { for (property in source) { destination[property] = source[property]; } return destination; }

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

function ClassName(){ //some code } Object.extend(ClassName.prototype, method1:function(){ //some code }, method2:function(){ //some code } });

Получается гораздо красивее и компактнее.

 

Оставить комментарий

 
  2008-01-14

Перенос на новый хостинг

Возможно будут сбои в работе сайта, так как в настоящее время переношу его на новый хостинг.
 

Оставить комментарий

 
  2008-01-04

Одна сессия на два сайта

Сегодня встала задача сделать одну сессию на два домена один из которых является поддоменом другого. Решение оказалось простым, нужно вызвать session_set_cookie_params на обоих сайтах пред вызовом session_start. Вот мой тестовый пример:

<? session_set_cookie_params ( time()+60*60,'/', '.myhost.com'); session_start(); ?> <html> <head></head> <body> <?php if (!isset($_SESSION['ses_test'])){ $_SESSION['ses_test'] = 1; } print 'Value is: '.($_SESSION['ses_test']++); ?> </body> </html>
 

Оставить комментарий

 
  2007-12-26

Разбиение на страницы в блогах

Сделал наконец сабджект, теперь красота!
 

Оставить комментарий