К основному контенту

Сообщения

Легкий способ заработать

Я тут подумал — как написать 4 строчки кода и неплохо заработать? А просто. Надо заявить авторские права и зарегистрироавть их на, скажем, такой код: int main() { printf("Hello, world!\n"); return(1); } И дело в шляпе. Смешно? Вот в свеженьком «Русском Newsweek» прелюбопытная статья о владельцах товарных знаков . И вовсе несмешная. Кому лень читать, краткое содержание: Россия, стремять попасть в ВТО и показывая такую борьбу за мир с контрафактной продукцией, что камня на камне не остается, приняла весьма неадекватный закон об охране интеллектуальной собственности. Кроме всего, из этого закона следует, что ввезти в Россию любой товар можно только с разрешения владельца товарного знака. В статье описан случай, как я понял не единичный. Мужик, владелец бизнеса по импорту из США и продаже здесь подержанных автомобилей лишился на таможне автомобиля Porsche Cayenne. Не потому, что он его неправильно растаможил и т.д. Просто юристы компании ООО «Порше Руссланд» пода...

Раскраска гениальных строчек

Обновился скрипт Ивана Сагалаева и Ко, подсвечивающий синтаксис в блоках кода, публикуемых в блогах, форумах и т.д. Изменение, не слишком для меня важное, – теперь подсвечивается еще и код на Lisp’е . Скрипт полезен тем, что подсвечивает синтаксис уже после генерации страницы – это важно, если исходный текст страницы набран с помощью, например, wiki-синтаксиса или, например BB-кода. Также скрипт отлично работает на блогохостингах, например на Blogger, движок которых не имеет функции подсветки синтаксиса и не позволяет добавлять различные плагины. highlight.js вполне может быть расположен на совсем другом сервере, это не помешает его работе. Подключить highlight.js к Blogger’у очень просто. Самое сложное – найти сервер, на который можно положить собственно сам файл со скриптом. Самые отчаянные могут попробовать использовать скрипт с «чужого» сервера, но это чревато – владелец в любой момент может изменить его расположение или убрать подсветку синтаксиса ненужных ему языков. После ...

SEF — ЧПУ

Собственно говоря, термины SEF и ЧПУ несут в себе разную смысловую нагрузку, хотя, в конечном счете, обозначают одно и тоже. Во, загнул! SEF подразумевает, в первую очередь, улучшение индексации поисковыми серверами, а ЧПУ все-таки указывает на ориентированность в сторону живого человека :-) Откровенно говоря, поисковики отлично индексируют как URL mysite.com/dir/doc/param1 , так и mysite.com?di=dir&do=doc&p=param1 . А если какой-то поисковик, вдруг, этого не делает — это уже его личная проблема: пусть догоняет лидеров, которые кроме html уже научились индексировать кучу других форматов, а не то, что URL с GET параметрами. Google как-то туманно сообщает в «Руководстве для веб-мастеров» : Если вы решили использовать динамические страницы (например такие, в URL которых содержится символ "?"), учтите, что не все сканеры поисковых систем сканируют динамические страницы так же успешно, как и статические Но сам-то он отлично их индексирует, проверено! :-) Во...

Значения полей created/updated по-умолчанию в CakePHP

Не секрет, что некоторые поля в моделях Cake умеет заполнять самостоятельно, основываясь на названии поля. Например в поля created и updated (или modified ), если у них тип DATETIME, будут подставляться даты создания и изменения. При создании таблицы надо выбрать значение по умолчанию для этих полей. В документации на Cake 1.2 недавно появилось предупреждение на эту тему, но ктож все время будет документацию перечитывать? :-) У created и updated значение по-умолчанию должно быть NULL . В общем-то все будет прекрасно работать и со значением “0000-00-00 00:00:00”, которое phpMyAdmin пытается установить самостоятельно, но ровно до того момента, когда появится необходимость добавить несколько записей и, в соответствии с рекомендациями ВЦСПС разработчиков, перед каждым вызовом $Model::save(…) вызывать $Model::create(…). $Model->create() заполняет $Model::data значениями по-умолчанию для всех полей, а $Model::save() изменяет значения created / updated только если они не опреде...

Sitemap для Shop-Script

С недавних пор наш национальный поисковик присоединился к славной компании поисковиков, умеющих обрабатывать файлы sitemap . Наверное, это связано с какими-то общеланетарными амбициями. Как бы то ни было, теперь есть возможность скормить Яндексу файл(ы) sitemap . Я решил, что обрабатывать сайт какой-нибудь сторонней приблудой много дольше, чем просто сгенерировать файлы sitemap с помощью скрипта. Тем более, что у shop-script в общем-то довольно простая структура. Новая версия Shop-Script с ЧПУ пока недоступна, получу — модифицирую скрипт. :-) Скрипт простенький, делает sitemap для aux-страниц — это у shop-script так называются обычные статические html страницы; страниц с категориями. Без разбивки на страницы 1, 2 и т.д. на мой взгляд эти страницы не слишком важны страниц с товарами и обсуждениями товаров Можно запускать из браузера, можно по cron’у. Корневую страницу сайта, страницу с новостями, страницу с формой обратной связи и т.п. надо записать в отдельный файл sitemap ...

Забавное доменное имя

А самое забавное — владелец. domain: DAITE-DENEG.RU type: CORPORATE nserver: ns1.msft.net nserver: ns3.msft.net nserver: ns4.msft.net state: REGISTERED, DELEGATED org: Microsoft Corporation phone: +1 4258828080 fax-no: +1 4259367329 e-mail: domains@microsoft.com e-mail: admin@internationaladmin.com registrar: RUCENTER-REG-RIPN created: 2008.03.21 paid-till: 2009.03.21 source: RU-CENTER А вообще этой компании в зоне .RU принадлежит, на сегодняший день день, 340 доменов. Среди них много не менее забавных: bezmuzha.ru, chicks-for-free.ru, doch-tankista.ru и .т.д. Полный список здесь .

У ZendFramework теперь есть полноценный layout

Модуль Zend_Layout перебрался из инкубатора в основную ветку. Ура! Непонятно почему создатели этого фреймворка не начали с создания именно удобной структуры самого паттерна MVC, а озаботились совершенно второстепенными вопросами. И только теперь дело дошло до правильных View. Шустрые пользователи ZendFramework уже настрочили неплохой пример использования: http://akrabat.com/2007/12/11/simple-zend_layout-example/

Построение деревьев

Небольшое введение . Весь пост написан с оглядкой на MySQL, из-за ее распространенности в web. Конечно, у Oracle возможностей больше, но хостинг с Oracle (или, например, с PostgreSQL) поискать еще надо. Нас же интересует практическое применение в веб-приложениях и обычных сайтах. Для построения сложных систем вообще надо сильно подумать над возможностью применения реляционной БД и рассмотреть другие варианты. Ведь не строчно-табличным видом все БД ограничиваются. Основным посылом к написанию этого поста послужили частые обсуждения темы хранения древовидных структур на различных форумах и комьюнити. Я с удивлением узнал, что многие люди просто не знают методов, отличных от первого, " родитель-дети ". Я точно помню, что в начале 90-х видел статью, посвященную этой проблеме, но уже не помню где. Может, вPC Magazine или в Компьютерпресс? Может даже это было в безруковской Софтпанораме. Так или иначе статья я не нашел, может, плохо гуглил. Родитель-дети Это самый распростране...

CakePHP l10n

Собственно этот пост скорее всего лучше было бы не писать, а просто положить ссылку в del.icio.us. А вдруг еще кому-нибудь пригодится? :-) На данный момент это, пожалуй, самое подробное описание локализации CakePHP 1.2 . Добавить совершенно нечего. :-)

Такая вот история

8 мая 1886 года в небольшом тогда американском городе Атланта, на заднем дворе дома, фармацевт Джон Пембертон сварил в медном тазу не совсем обычный сироп. Джон позвал своего бухгалтера Френка Робинсона и поделился с ним открытием: — Френк, друг, попробуй, что у меня здесь вышло! — А в этом что-то есть, Джон! Запиши быстрее рецепт, а то забудешь! Сироп, был сладким и густым. Джон отнес его в самую крупную в городе "Аптеку Джекобса". В тот же день первые порции сиропа, по пять центов за стакан, были проданы посетителям. Вскоре продавцы в "Джейкобсе" стали смешивать сироп с газированной водой. На протяжении своего первого года существования "Кока-Колу" раскупали в количестве девяти стаканов в день.

Pagination в CakePHP 1.2. Небольшая хитрость

Этот пост устарел! Читайте по ссылке исправленную и сильно переработанную версию ! This is totally outdated article! Follow the link to see a more complete version! Sorry. The newwer post in russian too. Как уже писал , Containable behaivior , который отлично справляется с задачей выборки только нужных для данного действия (action). И при небольшой модификации отлично работает с методом pagination . Однако есть одна неприятная вещь, опять же связанная с тем, что pagination вызывает последовательно 2 метода модели — сначала для подсчета количества записей, а потом для выборки. При попытке подсчитать количество записей у модели с большим количеством связей, paginator делает SQL запрос SELECT COUNT(*) со всеми положенными JOIN'ами, что при больших объемах данных существенно увеличивает время выполнения запроса. Особенно, если при этом еще и сортировку делать надо. Этот факт сильно раздражает, если в итоге нужно всего-лишь количество записей в основной модели. Выход есть. ...

В общественном парижском туалете есть надписи на русском языке

В 70 годах у советских военных, да и не только у них, были очень популярны американские компьютеры. Покупка такого компьютера была настоящей спецоперацией, возможно с участием КГБили ГРУ, потому, что эти компьютеры было запрещено экспортировать в СССР. Понятно, что в промышленных количествах получать американские компьютеры было невозможно и советские инженеры вовсю копировали импортную технику. Продукция компании Digiatal (PDP, VAX), если не путаю, вдохновила на создание серии СМ ЭВМ, а продукция IBM — ЕС ЭВМ. Американские разработчики, конечно, были в курсе, что их компьютеры пользуются повышенным спросом за "железным занавесом" и активно там копируются. Создатели процессора CVAX, который использовался в компьютерах VAX 3000 и VAX 6200 даже оставили на кристалле послание для русских инженеров, которые будут копировать их чип. Написано: «СВАКС... Когда вы забатите довольно воровать настоящий лучший» У известной компании Hallmark , выпускающей открытк...

Ругайтесь по-русски

Картинка из раздела "юмор" бортового журнала испанской авиакомпании Vueling Airlines . Взято у schreibikus .

Модели в CakePHP

Беда какая-то с реализацией моделей в Cake. Не то, чтобы совсем уж плохо, или не то, чтобы их совсем нет, как в Zend Framework , но реализация пока хромает. Особенно с рекурсией туго. Т.е. если 1 уровень рекурсии, то все хорошо, но если нужно 2 уровня, то уже плохо. Например, есть у нас модель "Лекарство", связанная с моделями "Производитель" и "Цена", а "Цена" связана с моделью "Валюта". Связи примерно такие: Лекарство belongsTo Производитель Производитель hasMany Лекарство Лекарство hasOne Цена Цена belongsTo Валюта Обратная связь от Производителя — чтоб можно было получить все продукты, ему принадлежащие. Однако при попытке получить данные о лекарстве получается полная фигня — либо, при recursive=1 не получаем Валюту, либо при recursive=2 получаем на втором уровне все продукты от Производитель. Для этого есть несколько решений. как для версии 1.1, так и 1.2. Чаще всего предлагается сде...

Гугл раздает бесплатный офис

Это старая новость, конечно. Просто я не слежу за изменениями в составе набора Google Pack. Но тем не менее, с удивлением обнаружил, что в Google Pack входит еще и StarOffice 8. У этого офисного пакета длинная и непростая судьба. Он всю дорогу был, насколько я помню, платным. Платным остается, вроде бы и до сих пор, но Google раздает его за так. Теперь StarOffice это практически то же самое что и OpenOffice, но с добавлением дополнительных bells & whistles вроде дополнительных шаблонов, шрифтов и т.п. Альтернативные офисные пакеты, наверняка, в скором времени получат большшое распространение, особенно, если MS продолжит свою борьбу с нелицензионным ПО. Уж больно недешев ее офис. Я знаю по крайней мере одну фирму, не компьютерную, в которой OpenOffice — корпоративный стандарт. Загрузить StarOffice можно по ссылке: Основные отличия StarOffice от OpenOffice.org: улучшенная проверка орфографии и более полный тезаурус. Вот уж неизвестно, как у него  с русским яз...

Сурков жжот!

Правая партия — анахронизм, интересы всех выражает «Единая Россия», а госкомпании компенсируют несовершенство рынка, объяснил Владислав Сурков. Замглавы администрации президента выступил на заседании Столыпинского клуба «Правая идея и бизнес». Один из гостей — председатель комиссии СПС по поддержке малого и среднего бизнеса Андрей Нечаев рассказал, что кроме него выступали председатель «Деловой России» Борис Титов, председатель экспертного совета организации Антон Данилов-Данильян, Евгений Юрьев, член генсовета «Единой России», депутат Владимир Груздев, от РСПП был Давид Якобашвили. Статья в Ведомостях .

Ностальгия

Давным-давно. Еще до того, как появилось понятие 3D-шутер от первого лица... От тех, кто потом собственно эти стрелялки от превого лица и создал. Помните? У этой игры целый fan-сайт есть. А была еще Captain Comic , она же Пионерка Ксения . Ну и напоследок народный текстовой процессор . :-) Скачать его можно в соответствующем разделе. Кстати, стоит обратить внимание — это фактически один из первых блогов. Technorati tags: software , dos games , lexicon , dos

Котлетки. Кушайте, наздоровье

И это все о нем

Информация для спецслужб: я не являюсь автором анекдота. И имя автора мне не известно. Путин на пресс-конференции заявил, что в 2008 году страной будет управлять уже другой человек. А помощник Путина добавил, что по единодушному мнению Запада, за восемь лет своего президентства, Владимир Владимирович стал совсем другим человеком. Дочь Владимира Путина поступила в Институт. Конкурс был огромный — 40 институтов на место. Однажды Владимир Владимирович Путин и олигарх Алишер Усманов гоняли мяч на даче у Путина. — Вот сколько я ему твердил, — быстро говорил Владимир Владимирович, давая Алишеру пас, — Гуцериев, купи 'Арсенал'! Купи, пусть будет! — А он? — спрашивал Усманов, возвращая мяч Путину. — Ни в какую, — махнул Путин своей президентской рукой, — Рома Абрамович купил, а этот — нет и все. Ну, не хочет — как хочет. Не хочет управлять собственностью — не будет, значит, у него собственности. Отсюда

Ссылочное ранжирование и Яндекс

Ни для кого не секрет, что на позицию сайта в выдаче поисковика по какому-либо запросу, словосочетанию сильно влияет такой внешний фактор, как ссылка с другого сайта. Таким образом, если какой-то авторитетный сайт ссылается на другой сайт и в тексте ссылки пишет "самый лучший сайт", то по запросам "лучший сайт" и им подобным другой сайт будет находиться лучше, чем его конкурент. Этой фишка всем известна, и ей пользуются для продвижения сайтов. С этой целью организуются различные тематические и нетематические каталоги, ссылкообменники и т.п. Поисковые системы, конечно, борются с этим, но полностью победить не могут. Ибо в основе современных алгоритмов автоматического определения "полезности" сайта и соответствия запросу лежит ссылочное ранжирование . Не оно одно, конечно, но это один из основополагающих моментов. Это одна из самых доступных возможностей для манипуляции выдачей поисковика, и ей пользуются не только для улучшения позиции своего сайта в по...