.stop | Google Analytics

Отныне SpeSta и прочие теперь нафиг никому не нужны, ибо Гугл опять зажёг.

Nov. 15, 2005 // 00:37 | Комментарии (17)


.note | MySQL

Давеча с kel.as провели очень интересный бенчмарк MySQL 4.1. Оказывается, что при использовании движка InnoDB СУБД:

  • Выполняет SELECT запросы с LEFT JOINами на 52% быстрее, нежели с MyISAM
  • Выполняет INSERT запросы чуть ли не в 9 раз медленнее, чем на MyISAM

В добавок ко всему, PostgreSQL в среднем в полтора раза медленнее (9 секунд на массовую операцию из 26 Left Joins по пулу данных в 650 000 записей, против 6 на мускуле).

Nov. 09, 2005 // 13:10 | Комментарии (2)


.note | GTD – feature overload?

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

Что это, Берримор? Это, господа, погоня на «фичами». В софт набивают весь функционал, который приходит в голову, притом не замечая что:

  1. Большинство пользователей в нём (функционале) не нуждаются — принцип Парето
  2. С каждой новой фишкой софт подсознательно воспринимается как нечто сложное
  3. Рефакторинг софта становится очень ресурсоёмким процессом
  4. Каждая фишка несёт в себе тучу зависимостей и потенциальных ошибок и уязвимостей

Так что выводы довольно просты — любой функционал будет в большинстве случаев лишним. Это правило, между прочим, применимо как к разработке бесплатного софта и/или сервисов, так и к разработке софта платного (рассматривается, конечно, Shrinkwrap модель, а не OnDemand разработки).

Ну и что же тогда делать? А что, ничего, просто следовать следующим принципам:

  1. Создайте концепт идеи.
  2. Скажите НЕТ.
  3. Соберите достаточно доказательств того, что без этого концепта дальнейшая работа невозможна.
  4. Ещё раз попробуйте сказать “НЕТ”, если всё же при любом раскладе получается «да», то продолжаем…
  5. Предварительная детальная разработка концепта и «обсасывание идеи».
  6. Дизайн интерфейсов
  7. Ура, пишем код.
  8. -33. Тестируем, Рефакторинг, Тестируем, Рефаторинг, Тестируем, Рефакторинг
  9. Документируем
  10. Ищем недовольных и нанимаем киллеров
  11. Планируем новый релиз? Поднимаем цены?
  12. Запускаем!

Ну а кто сказал, что будет легко? Делать удобные и успешные вещи не так-то просто, как может показаться. Главное помнить, что «more is less», и что все вокруг идиоты.

Oct. 28, 2005 // 19:19 | Комментарии (9)


.note | Glob

Уверен, что многие PHP гуру даже и не подозревают, что есть такая приятная нативная функция как glob(). А ведь она просто гениальна, ибо вместо:


<?
$d = dir("/dir/");
while (false !== ($entry = $d->read())) {
    if (substr($entry, -3) == 'txt') {
        echo $entry .' size '. filesize($entry) ."\n";  
    }
}
$d->close();
?>

Можно написать просто вот это


<?
foreach (glob("/dir/*.txt") as $filename) {
   echo "$filename size " . filesize($filename) . "\n";
}
?>

Oct. 19, 2005 // 14:57 | Комментарии (15)


.link | Writeboard

Очень уважаемая мной контора «юзабилистов» всё резвее и резвее строит новые сетевые сервисы. На этот раз, это  что-то типа кастрированного Вики, тем не менее, штука, на первый взгляд, довольно эффективная. Вообще, ребята — молодцы, ибо ради того, чтобы переманивать пользователей на свой платный «Бэкпек/Бейзкемп» запустили массу приятных бесплатных сервисов. Да что там — бесплатных — удобных!!!

Oct. 03, 2005 // 15:36 | Комментарии (6)


.INA | V0.2

Кстати, к вопросу о дизайне админских интерфейсов к CMF. Ajax, конечно, и все дела.

Sep. 29, 2005 // 18:00 | Комментарии (18)


.thoughts | High-eng

Интересная заметка давеча проскользнула на SignalVsNoise, где обсуждается концепт выбора технологий для создания тех или иных сетевых решений. Собственно идея проста: кого вы сначала выберете – кисть, или художника?

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

Бизнесу нужны лучшие из лучших. Скорее всего, именно эти люди и будут впереди большей части прогрессивной индустрии. Именно поэтому, они – лучшие. Может быть, их инструментарий сегодня ещё не получил широкого применения. Но это обязательно произойдёт.

Все остальные варианты заведомо проигрышные.

Между прочим, именно поэтому я уже почти год как абсолютно все решения делаю на базе PHP5. И факт того, что кто-то там ещё до этого не допёр – меня совершенно не смущает. Аминь.

Sep. 17, 2005 // 17:14 | Комментарии (0)


.newz | Stuff

Значится так. Первое, и, самое важное — это  Zend Studio 5 beta . А второе, и тоже, вообще-то, вполне такое гламурненькое — это Google Blog Search. Ну а на сегодня новостей больше — нет.

Sep. 14, 2005 // 11:28 | Комментарии (0)


.question | Shortest Path Problem

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

Предположим, что есть у меня таблица с нодами, что-то из серии CREATE TABLE nodes(id INT4, name VARCHAR(255)), далее есть вторая таблица, в которой сохранены все «отношения» между любой пары нод, например: CREATE TABLE paths(parent INT4, child INT4).

[image]

Задача такова – найти самый короткий путь между любыми двумя нодами (например, между нодами 1 и 3 на рисунке). Какие есть алгоритмы, кроме тех, что описаны в википедии? Да и вообще, есть ли они?

Aug. 13, 2005 // 13:16 | Комментарии (16)


.note | CVS

Откровенно был удивлён, что многие «разработчики» понятия не имеют о том, что такое CVS (Concurrent Version System). У некоторых маразм «непонимания» доходит до того, что они начинают изобретать своё колесо «авто-обновления кода» с нуля. Что тут говорить: далеко на этом поприще им не уйти, потому как лучше CVS (или, в последнее время SVN) это сделать довольно сложно.

Расписывать тут все преимущества систем контроля версий я не собираюсь, потому как про это достаточно написано в сети. Хотелось бы лишь обратить внимание на одну приятную особенность обновления PHP кода через команду “cvs update”.

[ А подробнее... ]

Aug. 08, 2005 // 13:46 | Комментарии (5)


.link | Yandex Lenta

Вот наконец-то и наступило щасте для владельцев частных блогов или бесплатных аккаунтов в ЖЖ. Концепт «ленты друзей» качует по Интернету. Все приветствуем Яндекс Ленту.

Jul. 21, 2005 // 14:38 | Комментарии (3)


.pict | INA / Phoebe

Возвращаясь к вопросу о минимализме и привычных интерфейсах. За «Фиби» уже предлагают деньги, а кто-то мне тут упорно втирал в мозг, что «тени» — это плохо.

Jul. 18, 2005 // 15:17 | Комментарии (33)


.note | Hail PostgreSQL

Бог был милостив, когда создал PostgreSQL, ибо такая мелочь как “Database Templates” лишило меня всяческой головной боли при создании инсталлятора для новейшей CMS системы. Отчего народ торчит на MySQL – не пойму.

Jun. 29, 2005 // 19:18 | Комментарии (18)


.routine | Interfaces

Всё же красивая обложка — это залог успеха любого сетевого приложения. Покорнейше полтора часа пялился в экран, дабы создать обложку для инсталлятора. Красота, однако.

Jun. 29, 2005 // 17:00 | Комментарии (5)


.idea | Registration? Why bother?

Между прочим, мне до сих пор не ясен концепт «регистрации» пользователей на практически 9 из 10 сетевых ресурсах. Ну скажите, право, зачем регистрироваться на, например, сайте знакомств? То-то же! Сетевые сервисы становятся более доступными и более качественными без убого процесса регистрации.

Конечно, никто не хочет оспаривать процесса верификации, а потому, для того, чтобы, например, ваша заявка была опубликована на сайте нужно тыкнуть по ссылочке в почте. Вроде просто как 2+2, только никто из этого 4 получить не может.

Jun. 28, 2005 // 20:45 | Комментарии (8)