Category Archives: Blog

Blog-часть сайта

Экспорт файлов от ревизии А до ревизии Б

Извечная моя проблема: есть проект в репозитории, его экспорт лежит на боевом сервере, в репозиторий делают определённое кол-во коммиротв, и есть нужда обновить боевой сервер. Делать экспорт из репозитория и заливать всё на сервер заново занимает слишком много времени, а чек-аут слишком много места на сервере. Репозиторий не даёт встроенной возможности сделать экспорт только изменённых файлов. Я сделал своё решение: Экспорт файлов из Subversion от ревизии А до ревизии Б

Как скачать Microsoft Internet Explorer 6

Сегодня пришла SMS: Как и где скачать Microsoft Internet Explorer 6 так, что-бы его можно было поставить на машине, котороя находиться вне интернета? Памятка для меня, так как мне иногда тоже приходится выполнять такую операцию.
Естественно, вспомнив о такой возможности у Windows Service Pack, я посоветовал поискать на всем известном сайте. На что, через какое-то время узнал, что нету там ничего (ну не нашли, может и есть)… Чтож, вспомнил я что у меня на CD где-то был такой, но куда-либо ехать и везти CD, или звать кого-то в гости, объясняя где я живу (это без карты Вильнюса тяжело), я не хотел. Бросил я мыть ванну, вытер начисто руки, оторвал жену от чтения косметических форумов и сделав пару запросов в Google, на запросе “internet explorer update full” наткнулся на статью “Download IE6 – In FULL….. We show you HOW!“. Посмотрел, не сложно, и выслал адрес на статью SMSкой. Вся соль в том, что скачав ie6setup.exe, нам достаточно запустить его вот с такой командой (положив его в папку C:\Downloads): “C:\Downloads\ie6setup.exe” /c:”ie6wzd.exe /d /s:””#E”, включая кавычки. Будет предоставлен интерфейс, который позволит скачать с сайта Microsoft всё обновление для Microsoft Internet Explorer 6, для платформ: Windows 98, Windows NT, Windows XP/2000, Windows ME. Ведь иногда нужно обновить кучу компов в сети, а качать каждый раз всё это не охото.

Идеи новичков или как её разбить в прах

Сегодня довелось почитать и поучаствовать в довольно интересном треде на литовском форуме PHP программистов. Да, там всё на литовском. Интересный он для меня был не в плане идеи (которая тоже интересна), а в плане самой философии. Парень (возраст мне не известен, но по ошибкам явный юнец) посчитал, что для того что-бы изучить PHP с нуля, будет создавать систему пересылки приватных сообщений между сайтами по HTTP, храня всё в своей придуманной текстовой базе из каталогов и файлов (так сказать, пардия на электронную почту). Идею он внятно высказал через комментариев 5, на что получив обойму из 12 вопросов с узкими местами в его идее, и сравнением этой идеи с простой услугой SMTP (ака электронная почта) и MIME стандартами, решил отказаться от идеи. Ушёл писать RPG (что это я не незаю, наверно Role-Playing Game) на PHP… Он видимо понял что 1) это не будет чем-то особенно новым, 2) это сложнее чем ему казалось. Видимо он не знал, что большинство из теперь используемых алгоритмов придуманы десятки лет назад.

Интересно мне это тем, что идея как бы и хорошая, и взбрела в голову (я не думаю что он первый) новичку, которому всё (как обычно) казалось легко. И то, как он испугался всех возможных проблем на начальной стадии проектирования. Причём её высказал не какой-нибудь “старый” опытный член общества, а именно новичёк. Жаль что он испугался… Хотя может и слишком резко его охладили вопросами (хотя, лучше сейчас, чем потом). Будь он чуть-чуть поопытней, он бы сделал такую систему. Только делал бы это, по принципу 37 Signals – Меньше это лучше. Меньше функций, меньше настроек, меньше всего, оставить только самое нужное для себя (вроде-бы это ещё до 37 Signals говорили). Хватило-бы простого прототипа, маленького, передающего только текст, в каком либо слабеньком режиме. Такая Always Beta, которую можно было-бы показывать или развивать как-то… Хотя, как сказал один человек – не в этой стране.

Жаль, что чем дальше, чем чаще в сообщество приходят люди, далёкие (пока) от реальности, и слишком молодые. У них, как всегда большие амбиции, ну а что дальше – ва сами знаете…

LT PHPConf 2006 в Каунасе

25 апреля 2006 года в Литве, в городе Каунас, в 12:00, пройдёт очередная PHP конференция в Литве. В 2006 году, это будет первая официальная конференция. Проводится она в центре дистанционного обучения KTU, Studentų g. 48a-308, Каунас. Говорят, даже вход бесплатный и организаторы её INFOSA (то бишь представители студентов), ко всему это часть InfoShow 2006 (к сожалению вся информация на литовском, но оснавная цель – обмен опытом между студентами и прочими новаторами). Пока обещают доклады о работе с базой данных через объекты, кеширование, планирование PHP проектов, безопасность, миграции с PHP на ASP.NET. Может быть, за неделю соберётся больше людей с докладами.

Жизнь, a жизнь, что ты с ними делаешь? или VIKO.lt обнавили

Жизнь, a жизнь, что ты с ними делаешь? Наверное никому не секрет, что в своё время я приложился к созданию сайтов Вильнюсской коллегии, так как моя дипломная, которую я делал вместе с их webmaterом, как раз была связана с их сайтом. Их сайт принимал разные обличия: 2002 год, пока мы ещё там учились (и руки туда не доходили); 2003 год, когда мы закончили и сдали свою дипломную (заодно и с запуском сайта); 2004 год, когда они уже сами без меня всё сделали; и свеженький дизайн 2006 года. Последний вариант, я считаю полным регрессом в развитии их сайта. Нет, не потому что я там не участвовал (и слава всем богам, что не надо было им помогать), а потому-что мне, после вариантов 2002-2003-2004 годов, вариант 2006 совсем не нравиться. Я бы сказал, дизайна там нет. Хотя я не дизайнер, что-бы так громко заявлять об этом, но это ужасно, по сравнению с теми-же ВУ, ВГТУ или ВПУ. А ведь на университеты равняются! Но за свой 5 лет деятельности, я сделал не один десяток сайтов как программер, а видел их предостаточно, и этот вариант у меня ассоциируется только с худшими вариантами студентов-первокурсников, которые дизайн сайта делают во FrontPage 98…

Хотя я там уже давно не учусь, мне немного обидно за них. Они дали мне достаточно полезных знаний и контактов за те 3,5 года, которые я там провёл. Обидно…

WordPress Widgets на Windows хостинг платформе

WordPress Widgets на Windows хостинг платформе у меня не пошёл сразу (Да, как я писал раньше, я тут-же показал это дело и мне сказали инсталлировать). Не пошёл он тем, что не подгружал в себя свою JavaScript часть и CSS. PHP нам не новость, и пошли мы во внутренностях ковыряться. Клиент был скорее жив чем мёртв. Есть в этом плагине такая функция: sidebar_admin_setup, а в ней, на строкер (относительно начала файла) 185 проверка: $page = preg_replace('!^.*/wp-content/[^/]*plugins/!', '', __FILE__);. Классно, да? В чём класс? А в том, что у Windows слешики то другие – \ и мы нервно ищем спички, что бы их выкурить. Слеши можно поменять, сделав проверку платформы, или просто, быстро и глупо заменим на: $page = preg_replace('!^.*/wp-content/[^/]*plugins/!', '', str_replace ( '\\', '/', __FILE__));. Ура, казалось всё должно было заработать.

Но не тут то было. Понеслось оно по проводам: Fatal error: Cannot redeclare register_sidebars() (previously declared in *\***\wp-content\plugins\widgets\widgets.php:22) in *\***\wp-content\plugins\widgets\widgets.php on line 22. Опаньки! А что у нас там? А! Начало плагина – первая функция. Здорово то как! Бамбук ни у кого не завалялся? Курить охота. Перед ней добавим: if (!function_exists ( 'register_sidebars')) {, в конце файла, перед ?>, добавим } и на этом у меня всё заработало. Вот, думаю, может кому поможет?


If you got error like Fatal error: Cannot redeclare register_sidebars() (previously declared in *\***\wp-content\plugins\widgets\widgets.php:22) in *\***\wp-content\plugins\widgets\widgets.php on line 22 when installing WordPress Widgets on Windows hosting, probably, you will see solution of this problem.
Before declaration of this function add this code: if (!function_exists ( 'register_sidebars')) {, and before end of PHP part of file, after last function declaration, add this code: }. So, now, on second file include of WordPress Widgets, those function won’t do any troubles any more.

If WordPress Widgets do not loads JavaScript or/and CSS files, please, check the 185 line. Probably you will see there line like: $page = preg_replace('!^.*/wp-content/[^/]*plugins/!', '', __FILE__);, and on Windows, constant __FILE__ will be with different slashes (like this one: \). Possible, you can solve this problem like me: $page = preg_replace('!^.*/wp-content/[^/]*plugins/!', '', str_replace ( '\\', '/', __FILE__));.

Историческое, о моих заметках

Историческое, о моих заметках: Местная пиццерия “Жёлтый Субмарин”, в своё время сделавшая пару приятных сюрпризов с заказом через интернет и завтраками – сменила сайт. Я не знаю как там с завтраками и обеспечением работы интернета и заказов, но выглядит на порядок лучше прежнего.

Ruby On Rails, Acts As Taggable

Так как после падения материнской платы, я переставил всю операционную систему, мне пришлось сегодня переставить и Ruby, Ruby on Rails, и всё что связано с этим программным обеспечением и проектами. Перезапустить всё и перепроверить 50% тестовых хостов. Тем самым я наткнулся на интересную статью в Wiki Ruby on Rails, связанную с плугином Acts As Taggable. Статья описывает один из способов установки (ставиться Edge Rails) и использования плугина Acts As Taggable, которого я раньше не видел. Что ещё примечательно, это структура таблиц в базе, позволяющая “тагить” любой обьект проекта. Мало того, данная статья абсалютно расходиться с официальной документацией к этому плугину.

С одной стороны, хочеться нарушить закон “Работает – не трогай” и поставить всё так, как там описано, с другой – а оно мне так надо? Ведь убью кучу времени на функционалию, которая в данный момент мне не нужна.