Ежемесячные архивы: September 2012

Сюрприз от IE9

Надеялись, микрософт сделал наконец нормальный браузер? МУАХАХАХАА!!!

Если у нас есть такая конструкция:

<div id=”1″>

<p>

<form>

<div id=”2″>

<input bla-bla-lba …/>

</div>

</form>

</p>

<div>

То IE9 трактует div#2 как дочерний элемент div#1, а элемент form трактует как пустой. Если же убрать тэг p то все нормально, div#2 становится дочерним элементом form. Также лечится если заключить форму в еще один div уже внутри тэга p.

Баг актуален при использовании плагинов, встраиваемых в контент через shortcode, поскольку редакторы cms ставят тэг <p> где ни попадя, и, в общем-то, правильно делают.

Стратегия развития

Выиграть чемпионат по бизнеспланированию у меня не получилось. При том, что есть проект, по которому фактической работы на неделю – две. Причина проста: при контрактном производстве раз на раз не приходится – какие-то подрядчики работают оперативно, а у каких-то уходят недели, чтоб только приступить. Плюс транспорт добавляет, часть материалов добывается быстро, часть – приходится ждать месяцами. Не говорю, что это невозможно, если бы я начал то же самое сейчас, когда я знаю, с кем работать – было бы быстрее. А так неделя растянулась на полгода.

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

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

Поскольку при таком подходе быстрый количественный рост недостижим, правило “всегда работать в прибыль и все затраты возлагать на клиента” мы возводим в абсолют. Из чего следует, что все опытные образцы следует доводить, в первую очередь, до состояния товара; снижение себестоимости, обеспечение широкого круга потребителей, даже позиционирование товара – вторично.

Занимательная математика

Рабочий изготавливает одно изделие за три минуты.

Сколько потребуется времени, чтобы изготовить 60 таких изделий?

Три часа? Неверно! Правильный ответ – три-четыре недели :(

Теперь ты – ковбой

Возраст интернет-пользователя

По неподтвержденным данным средний возраст в рунете 32 года и растет. Средний возраст пользователя вк (по менее неподтвержденным) – 26 лет.

Хорошо бы нормальную статистику найти.

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

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

И да, этот пост тоже нытье среднего возраста :)

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

По идее должны остаться функции:

  1. Общения в реальном времени
  2. Общения в формате писем (в них проще разобраться, и это более ответственный формат)
  3. Мега справочник
  4. Медиа архив

И наверняка вы сейчас подумали про социальные сети. И если рассуждать с технической точки зрения – это верно. Социальные сети объединяют все перечисленные функции.

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

Поэтому, скорее всего, деградация пойдет по второму пути, останутся: скайп или джаббер, емэйл, пара поисковиков, торренты. Большая часть сайтов будет сайтами-визитками, заточенными под SEO. Последнее, скорее всего, верно уже сейчас. Хотя это не всегда так было, одно время превалировали домашние странички aka личные сайты.  Карты, наверное, еще останутся.

Если посмотреть на бумажную продукцию, то там примерно так и произошло. Востребованы справочники, карты местности, развлекалово в стиле “прочти и выброси”, документоооборот и тетради в клеточку на 48 листов.
И даже как-то забылись такие явления как  шахматы по переписке, рубрика “знакомства” в газетах, письма в редакцию (еще, кстати, был раздел в какой-то новосибирской, “пятый угол” назывался, практически прямой аналог форума или даже чата, у них даже “реалки” были совсем такие же), газеты вообще практически исчезли. Не говоря уже о литературных клубах, поэтических поединках, Буримэ и так далее. И библиотеки переживают не лучшие времена, например, я точно знаю, что в библиотеке института биофизики в архивах книги гниют натуральным образом. Библиотеки, наверное, – самое близкое к соцсетям. Регистрация, читальные залы, мероприятия, все такое.. но вот – не получилось у них остаться, хотя тоже возможность была. Может быть, просто потому, что централизованная система требует больше денег для стабильного существования, чем децентрализованная.

 

Как квалифицированный и умный программист может загубить весь проект

Делая лишнюю работу.

Насколько я понимаю, проблема специфична для программирования, поэтому приведу контрпример.

Вот есть завод. И есть рабочий. Рабочий получает заготовку и делает из нее деталь. Если деталь соответствует указанным критериям – рабочий молодец. Если рабочий придумал, как сделать ту же деталь в два раза быстрее – рабочий вдвойне молодец.

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

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

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

“Правильный способ” обычно заключается в том, чтоб долго планировать архитектуру. Предложение  сосредоточиться на результате такие люди воспринимают в штыки.  И обычно бывают очень убедительны. В итоге:  месяц планируем (результата ноль), месяц реализуем план (результата ноль), выясняем, что план был не идеален, перепланируем (результата ноль), делаем все по новой (за три месяца требования к ПО, разумеется, меняются, поэтому результата ноль), говорим “ах начальник такой плохой”, планируем еще месяц.. в эту игру с планированием можно бесконечно играть. А результата по прежнему будет ноль. Возможно, какой-то код появится, и что-то даже будет работать. Но ФИНАНСОВЫЙ результат будет все так же ноль.

Если уж планировать – то планировать быстро. И за крайне редким исключением, это не должно выносится в отдельную, тем более, оплачиваемую задачу. Возможно я не прав, но я убежден, что любая отдельно оплачиваемая задача должна иметь результат, выражаемый в деньгах.

Планирование архитектуры нужно для чего? Для того чтобы УМЕНЬШИТЬ время разработки.  Если на решение задачи “на глазок”, без планирования уходит неделя, а при планировании на код уходит день, зато на планирование – месяц, то это плохая архитектура. Потому что 32 дня – это больше семи дней! Время разработки УВЕЛИЧИЛОСЬ, а не уменьшилось. Цель планирования не достигнута!

Обычно в этом месте горе-программисты говорят “зато в будущем! В будущем мы избежим многих проблем! И все ускорится!”. Но у проекта без настоящего никакого будущего быть не может. Сначала должно возникнуть настоящее. С каких шишей платить вам зарплату? С будущих?

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

PS: Для будущего есть рефакторинг. Но он делается после того, как хотя бы атомарный результат достигнут.

Пятница (

Да что за день сегодня такой? За что не возьмусь – все на понедельник переносить приходится :(

Ну вот, пожалуста..

Пошли черви плодиться по хостингам. А все почему? Потому что простому правилу – никогда не давать веб приложению ничего записывать в файловую систему – никто не следует. Да, в том числе картинки и видео. Все должно лежать в БД. Да, туда можно складывать файлы, да, даже большие, да, даже больше 4х ГБ. И да, это просто.
Черт бы с ними, с картинками, это, в принципе, решается грамотными настройками прав доступа. Черт бы с установкой плагинов полностью через веб. Так ведь сейчас модно, когда есть вебовский редактор кода шаблонов.

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

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

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

Обнаружен эксплоит в президенте РФ В.В. Путине

Российские хакеры обнаружили эксплоит, приводящий к отказу в работе президента РФ Владимира Владимировича Путина.