Val Petruchek

подписывайтесь, а то хуже будет!  

ПОДПИСЫВАЙТЕСЬ НА RSS

Protocol Buffers

09.07.08 @ 00:57 — Programming, Google

В понедельник Google выпустил Protocol Buffers — формат хранения данных, позициниоруемый гуглом как частичная замена XML.

Вот как выглядит пример XML:

  <person>
    <name>Йа Креведко</name>
    <email>ja@kreved.co</email>
  </person>

А вот так выглядит та же информация, записанная с помощью Protocol Buffers (в текстовом формате):

  person {
    name = "Йа Креведко"
    email = "ja@kreved.co"
  }

Кроме текстового формата, Protocol Buffers может быть бинарным — т.е. Human Readability, как в случае с XML, не гарантирована.

Для любого файла в формате Protocol Buffers нужен файл формата .proto, в котором описывается структура данных:

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

Google и сам пользуется этим форматом во многих своих проектах, и другим рекомендует его вместо XML для сериалайзинга структурированных данных, ибо Protocol Buffers по сравнению с XML:

  • проще
  • в 3-10 раз меньше
  • в 20-100 раз быстрее
  • менее неопределённые
  • порождают классы для доступа к данным, которые легче использовать программно

Protocol Buffers подходят не для всего: например, хранить текстовый документ с разметкой с помощью этого формата будет неудобно, т.к. структура будет смешиваться с текстом.

Битрикс скачать бесплатно

На днях рассказали про местную (запорожскую) кагбе веб-студию, которая делает своим клиентам сайты на ворованном битриксе.

Причём цены клиентам (не местным, в основном российским) студия выставляет не демпинговые, а вполне серьёзные. Что делают клиенты, когда обнаруживают, что стали скупщиками краденного, я не знаю. Знаю только, что студия сидит на постоянном очке, надеясь, что российско-украинская граница их спасёт.

Я сам зарабатываю деньги написанием софта, но в то же время часто пользуюсь “лекарствами”, хоть стараюсь делать это как можно реже: иногда покупаю, но чаще нахожу бесплатный аналог коммерческого софта.

Использование крякнутого программного обеспечения в личных целях я считаю допустимым: если у пользователя хватает мозгов поломать софт, а у разработчиков не хватает мозгов софт защитить, то значит пользователь “победил” разработчиков и в качестве приза ему достаётся возможность пользоваться ломанным софтом бесплатно.

А вот перепродажу крякнутого софта я считаю воровством: вместо того, чтобы купить у авторов, клиенты покупают у пиратов.

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

В случае личного использования поломанной версии пользователь в 99 случаях из 100 не является потенциальным покупателем: будучи поставленным перед выбором — купить софт или перестать им пользоваться — пользователь сделает выбор в пользу последнего. Поэтому размер недополученной прибыли, заявляемый компаниями в качестве понесённого ущерба, следует делить как минимум на 100.

Возвращаясь к кагбе студии, впаривающей клиентам ворованный битрикс: по-моему, это просто жлобство. С их ценами можно вполне позволить себе стать партнёром Битрикса и делать сайты, покупая для клиентов легальные лицензии на “1С-Битрикс: Управление сайтом”.

ЖЖ Тёмы Лебедева засуспендили

10.06.08 @ 20:31 — WebSites, Law

temу закрыли за детское порно.

Конкретно за субботние несовершеннолетние сиськи из Киева (maffka_gorilko).

I know it for sure.

PHP послать письмо через gmail

05.06.08 @ 09:56 — PHP, Google

Задача: средствами PHP отправить письмо через smtp.gmail.com. Не просто с указанием адреса @gmail.com в поле From:, а именно через гугловский сервер.

Зачем это нужно? Во-первых, на многих хостингах существуют всяческие ограничения по использованию почты. Во-вторых, такое письмо должно выглядеть “белее” письма, отправленного локальным smtp: меньше шансов, что оно попадёт в junk folder.

Основная проблема, которая возникает при отправке письма через smtp.gmail.com и не возникает при отправке писем по smtp через другие, более обычные сервера, состоит в необходимости использования TLS соединения на 465 порт.

Отправить письмо из PHP напрямую через SMTP сервер (а не через mail() или sendmail) можно давно с помощью LGPL библиотеки PHPMailer.

Оказывается, начиная со второй версии, разработчики библиотеки добавили поддержку отправки почты по SMTP по безопасному соединению. Вот code snippet, формирующий правильный вызов метода отправки письма при использовании гугловского smtp:

     $mail->Mailer “smtp”;  
     $mail->SMTPAuth true;  
     $mail->SMTPSecure “tls”;
     $mail->Host “smtp.domain.com”;  
     $mail->Port “465″;  
     $mail->Username “email.address@gmail.com”;  
     $mail->Password “1W0N’T_t3ll-U”;  

Разработчики библиотеки не волшебники: для отправки писем по безопасному SMTP-соединению необходим PHP с поддержкой OpenSSL.

MFA Killer

12.05.08 @ 04:52 — Software, AdSense

MFA (Made For Ads) — сайты, сделанный специально для открутки рекламы, а не для посетителей.

В последнее время под MFA чаще понимается Made For Adsense, т.к. всё больше и больше откручиваемой вебмастерами рекламы обслуживается Google Adsense.

Апофеоз MFA — сайты, откручивающие Google Adsense рекламу и покупающие траффик через Google Adwords. Бизнес-модель у владельцев таких сайтов простая: купить траффик подешевле (1-2 цента максимум), продать подороже. При этом такие умельцы наносят прямой ущерб честным вебмастерам, зарабатывающих с помощью Google Adsense: MFAкеры перехватывают у них потенциально дорогие клики.

Google позволяет вебмастерам блокировать определённые сайты и не откручивать их рекламу. Беда в том, что длина чёрного списка ограничена, поэтому вебмастер не может брать списки MFA-сайтов для блокировки из интернета и элементарно добавлять их в чёрный список: очень быстро кончится место.

Для эффективной блокировки необходимо раздобыть список MFA-сайтов, работающих по вашим ключевым словам.

Как это сделать? Вручную кликать на все подряд сайты и проверять их говнистость нельзя: забанят. Adsense Tester слишком неудобен для такой задачи.

Мой земляк, Антон Угнич, разработал специальную программу, облегчающую процесс составления списков говносайтов для блокировки: MFA Killer.

Эта программа не проверяет говнистость сайтов, откручивающих свою рекламу на ваших площадках, но она генерирует список сайтов, которые надо проверить и забанить, не генерируя при этом никаких событий в Adsense.

Написана на Java.

Одноклассники.ру

24.03.08 @ 01:44 — WebSites

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

Во-первых, он мне не приятен профессионально. Создатели потерпели полное фиаско в организации user generated content. Соорудить такой бардак со списками школ, городов и весей и не пытаться его упорядочить — это верх идиотизма: в этом бардаке реально нелегко ориентироваться. Неоднократно встречались пользователи, добавляющие себя в несколько “клонов” одной школы, чтоб побороть этот бардак. Всего-то делов: сделать в админке нечёткий поиск по наименованиям и добавить интерфейс слияния двух объектов в один. 90% дублей выловятся автоматически; на оставшиеся 10 можно натравить специально обученных людей.

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

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

Единственная польза от этого сайта: я нашёл профайл своей первой любви. Какая же она стала страшная; видимо у меня в первом классе совершенно отсутствовал вкус, хотя в неё были “влюблены” по крайней мере половина мужской части класса, слепые мы чтоли были?

И что, ради этой пользы регистрировать реальный аккаунт, с настоящим именем, фамилией, школами и вузом? Увольте.

Кому надо — тот найдёт гуглом, фамилия не очень распространённая.

Запустились

Сделали релиз новой версии мозгоразминочного сайта.

По-прежнему без блекджека и шлюх, но зато с комментариями, регистрациями, извещениями, поддержкой openid. Перепёрли все лучшие идеи русской блогосферы. Да, дизайна там по-прежнему нет, руки до него так и не дошли. До чего дошли руки, так это до движка: реально симпатичная CMSина получается. Она, как любая настоящая CMSина, находится в стадии перманентной разработки. Более того, чем больше features реализовано, тем длиннее оказывается список новых, нереализованных.

При таком стабильном росте новых features нельзя ждать, пока они все будут реализованы. Потому что все вместе они не будут реализованы никогда. Надо выбрать 10-20 наиболее необходимых, передвинуть их наверх списка и подвести черту. Когда всё, что над чертой, будет сделано (при этом неизменно потянется что-то из-под черты), надо релизить. С оставшимися фичами процедуру повторить. Bugfixes, user reports помогут при выборе того, что должно оказаться над чертой.

У нас на эту CMSину далекоидущие планы, поэтому приходится её вылизывать. Например, хочется вместо вордпрессов использовать именно её, но при этом сохранить все существующие урлы (именно сохранить, а не повесить 301-й редирект). В то же время, нам нужна более широкая функциональность, чем предоставляет wordpress. Правда, у вордпресса две сущности: pages и posts, а нас всего одна: objects. Но у нас есть категории и теги, которые между собой перпендикулярны, а не параллельны, как в вордпрессе. Понятие “категории” мы трактуем несколько нестандартно, в результате кроссворды уживаются рядом с блогозаписями, редактируются одной админкой и обрабатываются одним фронт-ендом.

В user generated content я не верю, поэтому юзеры могут только комментировать. CAPTCHA простенькая: яка країна, такі й теракти. В общем, следите за обновлениями.

Энциклопедия

10.01.08 @ 20:49 — WebSites

Из википедии (русской и английской) быстрыми темпами удаляют статьи, прикрываясь их “незначимостью”.

По-моему, в энциклопедии не может быть “не значимых” статей. Бумажная энциклопедия ограничена в количестве статей, поэтому для неё отбор и отбрасывание неизбежно. Идеальная же энциклопедия содержит все знания человечества. Тем более, если эта энциклопедия сделана в гипертексте, а не на бумаге. Бумажная энциклопедия предоставляет два интерфейса доступа: “список статей по алфавиту” и “случайная статья”. Соответственно, чем больше в ней статей, тем она неудобней. Электронная энциклопедия лишена этого недостатка; “малозначимые” статьи просто находятся дальше, и всё.

Чем мельче факт, который можно найти в энциклопедии, тем она интересней. Помню свой детский восторг, когда удавалось в энциклопедическом словаре (БСЭ в домашнюю библиотеку было фиг достать) найти какой-нибудь мелкий интересный факт.

Вообще, создание энциклопедии, содержащей все знания человечества, — это бесконечный процесс. Лучше всего он описан в “Основании” Азимова.

А с википедией, к сожалению, всё ясно. Пользоваться ею можно только для общего ознакомления с темой, т.к. достоверность материала ни разу гарантирована. То ли писал плохой автор, то ли редактировал слабоумный администратор.

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

Bookmarks vs. Notebook

16.12.07 @ 14:10 — Links, WebSites, Services, Google

Вы встречаете в сети заинтересовавший вас piece of information (здесь идёт комментарий про варварский язык). Какой стереотип поведения сёрфера в этом случае? Добавить страницу в закладки. В эпоху web 1.0 это были закладки внутри браузера, сегодня это какой-нибудь социальный сервис закладок.

Со временем определённая часть ваших закладок оказывается “мёртвыми”: устаревшие домены, удалённые документы, криворукий переезд на новую схему организации URLов — десятки причин для смерти URLа. Чем больше времени проходит с момента добавления вами URLа в закладки (т.е. его “фиксации”), тем больше вероятность того, что URL умрёт. Очевидно, что на бесконечности предел вероятности смерти каждого конкретного URLa равен 1. Моё личное наблюдение: до года доживает где-то 50+% заинтересовавших меня URLов.

Я нашёл удобную замену закладкам: Google Notebook, про который уже писал раньше. Само по себе это web-приложение ничего революционно нового не содержит: блокноты, закладки, ajax. Но вот Firefox Addon этого приложения, который добавляет в контекстное меню команду “Note this”, позволяет полностью отказаться от закладок в пользу гуглонота.

Ты добавляешь в закладки не только Title + URL + keywords, как раньше, а ещё и кусок заинтересовавшей тебя информации. После этого тебе всё равно: умер ли URL, впал ли он в кому — в блокноте есть копия того, что тебя заинтересовало по этому URLу.

Блокнот, кстати, можно использовать и как хранилище закладок тоже — для контента, который в блокнот не вставляется (например, кроссвордов или видео). Оказывается, Google недавно тоже решил, что отдельно блокнот и отдельно закладки не нужны, сделав закладки одним разделом блокнота.

Как минимизировать скорость загрузки страниц

14.12.07 @ 16:00 — Languages, WebSites

Напоминаем, что Вы должны размещать HTML-код системы Fly-media (всплывающие rich баннеры формата 400×400) обязательно в нижней части контента страниц Вашего сайта. Данное условие позволит свести к минимуму скорость загрузки страниц.

Заботливые, черти.

Next Page »   
Реклама :: медицинский массаж цены :: порно фото, порно ролики, бесплатное порно

 
Реклама :: http://www.linkster.ru/community/vkontakteru.html :: юридическое сопровождение инвестиционных проектов