Март 2007

Пн. Бля, накаркал.

12.03.2007

Бля, ну нужно же было накаркать.
Всё наебнулось.

Не работа, а бардак. Дал прогеру задачу сделать скрипт, который вылетает по ошибке памяти. Х*, там. Не, ну очевидно, что под денвером он фиг вылетит, но не в этом дело.

У меня и правда работы мешок. Какой-то левой.

Пн. Дела.

12.03.2007

Взял ещё одного сотрудника.

Всё, мне делать больше нечего.
Совсем.

Ещё можно спамилку настроить и всё.
У всех задачи есть, ждём.

Разве что подгонять всех, а больше заняться и правда нечем.

10 марта. Очевидно.

10.03.2007

Есть такой анекдот.

Профессор на лекции пишет трёхэтажное выражение, ставит равно, говорит, «очевидно, что» и пишет другое выражение. Смотрит на результат, молча кладёт мел и выходит из аудитории. Студенты в недоумении. Через полчаса профессор приходит обратно и кладёт на стол толстую кипу исписанных листов со словами, «да, это действительно очевидно».

Есть задача.
В файле есть строки вида {$текст}. Причём заранее определённые.
Но могут быть ошибки, неправильный ‘текст’ или доллар забыли, или скобку первую или вторую. Задача найти и вывести все неправильные подстроки.
Программист её решает постепенно, сначала выходило три регулярника, три разных фильтровки (данные разных видов) и три отдельных вывода. Посидели, поформулировали задачи, он пришёл к двум регулярникам, одной фильтровке с помощью preg_grep, слитию массивов, второй фильтровке циклом (вычитание предопределённых строк), выводу.

Смотрю, и мне это не нравится. Очевидно, что три регулярника и слив массивов можно заменить одним preg_match_all.
Сели, смотрим.
Я — Сделано так. А есть ещё варианты?
Он — Нет, и вот почему. …
(На самом деле действительно в части случаев можно быстро доказать, что нет других способов решения задачи).
Смотрю, и не понимаю, а как же это всё-таки сделать. Но понимаю, что его доказательство отсутствия вариантов неверно (разумеется, это не значит автоматом, что они есть). Можно закопаться на несколько часов с нулевым результатом. Уже бывало.

Хорошо, соглашаюсь, дальше не копаем.

Вечером, сажусь, разгребаю все мануалы по регулярникам, условия, утверждения, однократные подмаски. За час делаю регулярник, которому не нужна первая фильтровка. Через | добавляю второй регулярник, и тут я понимаю, что мануалы были не нужны, что нужно, я знал и час назад, значительно упрощаю шаблон, и тут действительно факт, что достаточно одного регулярника, становится очевидным.

Собеседования.

09.03.2007

Зря я не описывал здесь многочисленные собеседования. Интересная такая подборочка получилась бы.
Одно из последних было с человеком, который что-то понимает в nix, но на голову стукнутый.
Особенно это стало понятно, когда я ему сегодня позвонил и сказал, что с пн можно выходить на работу.
- Что, других не нашли?
- Нашёл, но хочу предложить вам.
- А, ок.
Можно делать ставки, проработает он целиком первый день или нет.

Плюс меня из колеи немного выбило то, что по объяве один — да вы чё, за такие деньги, да профессиональный админ 40$ в час стоит. Если бы этот мудак правда зарабатывал штуку баксов в неделю (40$*6часов*4дня), он бы вообще это объявление не увидел бы. Ну это ладно, проехали.
В принципе, я знаю один надёжный метод решения проблемы. Брутфорс.
Но нужно два-три рабочих места и большую ротацию, кто может обучаться, кто нет (тех, кто знает, в городе не наблюдается, либо все в своём бизнесе уже).

8 марта. Задача.

09.03.2007

Решение проблемы — вопрос эффективного мышления.
Это я не повторяюсь, это я жутко углубляю понимание.

Сегодня просто жесть была.
Скажем, объяснил, что такое абстракция. Не, ну эту лабуду все понимают, а что это значит конкретно? То есть, так конкретно, что бы можно было применить к жизни.

У нас 50% времени сейчас уже уходит на вопросы мышления. Есть у меня теория, что это эффективнее, чем директивная постановка мелких задач.
Во-во, да, если мышление ускорить, то можно будет ставить более крупные задачи.
Но вообще вопрос не так стоял, по-другому.

Как максимально быстро сделать Х? Причём Х — новая задача для человека. Не знает он.
Из этого с неизбежностью следует вопрос — как максимально быстро научиться Х.
Вопрос конкретный, потому что Х — конкретная задача (то есть, была конкретная, но можно отвечать на абстрактную версию вопроса, к которой мы и пришли, собственно), максимально быстро — тоже конкретно. Максимально — значит, если есть вариант быстрее, используем его. Если применяем рекурсивно.

Сам тащусь, да. Этот вопрос реально был поставлен перед людьми и была поставлена задача на него ответить.

Либо разбегутся, что очень вряд ли, либо порвём SEO нахрен. :)

7 марта. Субботник.

08.03.2007

Сегодня в офисе выходной. Поэтому устроил неоплачиваемый субботник.

Если честно, очень хотелось разделить бизнес и личное. Но в квартире, где это совмещается, сделать такое проблематично.

Во всяком случае, помыли окна, полы, на кухне повыкидывали много хлама (4 пакета мусора, в принципе, вынесли) и перемыли пыльные банки\склянки на полке, немного разобрались в ванной комнате и повесили вешалку. Нормальную такую вешалку на три крючка, в нишу в прихожей (до этого куртки складывались на диван в зале). Кстати, окна были запачканы силиконовым герметиком. А его же не берёт ничего. Вода, спирт, жидкость для мытья окон, по рассказам и растворитель тоже (но не проверяли). Зато его можно отскабливать.

===== На правах рекламы =====
Программист — Если бы я знал, что я буду ломать станки Gillette, я лучше бы себе руки заранее сломал. Отличные станки же.
=== Конец рекламного блока ===

Одноразовые станки пришлось усовершенствовать, что бы можно было брить оконное стекло. Было даже предложение получить авторское свидетельство на усовершенствование. Т.к. бреет от силикона очень не плохо.

По вешалке.
Её собирал админ. К двум поперечинам прикрутил одну вертикальную, показывает, говорит, не, что-то дырки не такие какие-то. Смотрим. Ну да, не совпадают на разных досках. Но на производителей мебели можно бочку катить, только если полностью уверен, что не сам идиот.
Смотрим, разбираемся. Показываю, смотри, вот эта полюбому средняя? Ну да. На этой стороне не совпадают. А вот на другой смотри. Выводы? Хм, не той стороной прикрутил значит. Ага.
Перекручивает. Собирает всё, прикручивает крючки. Смотри, вот так пойдёт? Э, почему левый нижний выше двух других нижних? Потому, что эта доска должна быть в середине, получается уголком.

Не смогу передать, что было после. Понятное дело, никаких эмоций с моей стороны. Хотя нет, фраза «Конструктор-то, блин, из пяти деталей» была сказана с экспрессией. И я даже никак его не назвал, только наводящие вопросы, мол, «выводы?», он всё сам охарактеризовал.
Жёстко прямо как-то.
Он перекрутил ещё раз.

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

Вообщем, висит вешалка, проверим, сколько провисит.

А завтра рабочий день, между прочим.

Переезд.

07.03.2007

Возимся по переезду.
Админ выдаёт замечательную фразу.
«И создай плз через директадмин домены как они должны быть, а я контент, базы и тд перетащу»

Не фраза, а конфетка. Мням просто. Не, ну вчитаться нужно внимательно.
На сервере килодомен с копейками. То есть, больше тысячи доменов.

«И создай плз через директадмин домены как они должны быть, а я контент, базы и тд перетащу»

Красивая фраза, да…

Формулировка проблемы 2.

07.03.2007

- «Как узнать, в чём моя проблема?»
- Подумать.
- Хм. И?
- Давай варианты.
- Деньги.
- Точно?
- Ну, квартиры нет, машины нет, остров выбирать не начал даже…
- Т.е. ты экономишь?
- Нет.
- Точно?
- Немного.
- На чём?
- Ну, машину стиральную хочу новую, колонку нормальную, плиту.
- Т.е. денег не хватает?
- Ну, просто не хочется в чужой квартире это всё ставить.
- Выводы?
- Нужна своя квартира.
- Блять… Точно?
- Да может нет, по-путешествую ещё, да и тут можно закупить многое, один хрен, будут деньги на квартиру, плюс-минус 100К руб, в новой квартире техники купить проблемой не будут.
- И?
- Да нафига мне квартира, но вот офис бы…
[Now play: ДДТ - Это всё]
- У тебя главная задача есть?
- Нет вроде.
- Тогда какого мы тут сидим?
- Есть. Мне нужно узнать свою проблему.
- А она есть?
- Точно есть, у меня не всё отлично.
- Хорошо. Какие там были варианты?
- Деньги.
- Давай ещё.
- Женщины.
- Точно?
- Стопудово.
- А точнее?
- Мало женщин.
- Сколько нужно?
- Ну десять.
- Ну или точно?
- Не точно. Две.
- Точно?
- Да. Одновременно.
- Одновременно жить или одновременно спать?
- И то и то.
- С лесби-фантазиями или без?
- Не, ну это сейчас не ключевой момент.
- Ок. Зачем?
- Это решает проблему нормальной женщины. Две полунормальных будет в самый раз.
- Точно решает?
- Нужно проверить эксперементом.
- Хорошо, дальше.
- Что дальше?
- Не тупи, можно и сворачивать незначительные цепочки.
- Власть.
- Точно?
- Не точно.
- Думай.
- «Не знаю, какая у меня глобальная задача».
- Как решать?
[свернём]
- Придумать, потом проверить, она или не она.
- Как проверить?
- Почувствовать. Если не она, не будет мотивации её делать.
- Точно?
- При неправильной глобальной задаче будет мотивация, если там будут женщины, деньги или власть. Иначе не будет.
- Ещё проблемы?
[Now play: ДДТ - дождь]
- Не высыпаюсь, нет загранпаспорта, оброс опять.
- Что скажешь?
- Лабуда, а не проблемы.
- Хорошо, давай дальше.
- Нет правильных людей вокруг.
- Вообще?
- Очень мало.
- Как решать?
- Искать, что бы стало больше.
- Ещё варианты?
- «Выращивать».
- Ещё?
- Варианты кончились.
- Дальше.
- Геммороя много.
- А конкретнее?
- Хочу делать одно, а нужно сделать другое, иначе не будет нужно результата.
- Хочу уйти в лес на неделю, а у нас рабочие дни.
- Точно?
- Хорошо, холодно, хочу позже, как потеплеет. Понял, проблемы нет.
- Ещё проблемы.
- Хочу думать глобально, а обьясняю html админу.
- Выводы?
- Уволить, нанять того, кто html знает.
- Ещё примеры.
- Такси долго приезжает постоянно.
- Это гемморой?
- Ещё какой. Хорошо, понял, можно договориться с таксопарком на спец.условия.
- Пока не могу придумать.
- Выводы?
- Понятно. От геммороя нужно избавляться пошагово, а не рубить, как узел, тогда не будет противоречия с другими задачами.
[Now play: ДДТ - Родина]
- Уверен?
- Да.
- Точно?
- Точно. Рубить, это не решать, это убегать, не появится навыка именно именно избавляться от геммора.
- Уверен?
- Да. Если просто послать весь геммор, то теряются возможности. Можно всех уволить, на всё забить, уехать. Тогда не будет возможности делать некоторые вещи. Что бы возможности появились вновь, нужно будет пройти тот же путь заново.
- Ты меня убеждаешь или уверен?
- Уверен.
- Хорошо. Дальше.
- Вроде всё.
- Вроде? Что сейчас получилось?
- «Мало денег, мало женщин, не знаю глобальной задачи, нет людей и много геммороя».
- Хм. Давай конкретнее.

1. Сделать денег в суммах, что бы хватало на недвижимость. [skip] в цифрах.
2. Найти себе двух женщин.
3. Найти свою глобальную задачу.
4. Создать окружение исключительно из правильных людей. Перед этим сформулировать конкретно, кто такие правильные люди и как отличить правильных от неправильных.
5. Избавиться от геммороя.

- Хорошо. Проверять формулировки и полноту завтра будем.

Формулировка проблемы.

07.03.2007

Из Asterix and the Vikings есть уже пять чуваков из десяти. Астерикса всё ещё нет. Игрушками завален целиком ящик стола. Пересчитал — 37 штук.

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

Эффективное обучение, это тоже вопрос качества мышления.

Очень интересен и совершенно не понятен процесс формулировки проблемы. Вообще, процесс достижения результата, это
а. Формулировка проблемы\постановка задачи.
б. Вытекающий из проблемы вопрос.
в. Ответ на вопрос.
В случае, если ответ на вопрос не очевиден, рекурсивно а и б.

В принципе, возможно поставить задачу обьяснить, что я вообще имею ввиду под этим алгоритмом, почему этот алгоритм является эффективным и показать, что это не наукообразный стёб, а выкладка долгого процесса обучения.

Но это вопрос не принципиальный в данный момент. Гораздо более интересен другой момент.
«Плохо удаётся правильно формулировать проблемы», это тоже проблема. Соответственно, может быть решена тем же способом.

Сам с собой:
- Как правильно формулировать проблемы?
- Не знаю.
- Как узнать?
- Спросить. У кого?
- Проблема?
- Вопрос. У кого спросить, как правильно формулировать проблемы?
- Не нравится вопрос, давай другой.
- Что в нём не так?
- «Правильно формулировать проблемы» — это навык?
- Наверное.
- Точно?
- Не уверен.
- А какие есть варианты?
- Навык.
- Ещё есть?
- Алгоритм.
- Ещё?
- Ну, знанием это не может быть.
- Точно?
- Не уверен.
- Говори то, в чём точно уверен.
- Возможно, это знание, берём как вариант, нужно будет узнать, какой верный.
- Хорошо, какие получились варианты?
- Знание, алгоритм, навык.
- А какой на самом деле?
- Не знаю, как узнать.
- Думай.
- Спросить?
- Как вариант.
- Как узнать, какой вариант верный?
- Не у меня. Это к тебе вопрос.
- У яндекса?
- Как вариант. В чём вопрос вообще?
- «Как правильно формулировать проблемы?»
- Хорошо, пробуй.
- «Способны ли вы решить свои проблемы? Пройти тест и узнать ответ на этот вопрос можно на [skip] абсолютно бесплатно!».
- Согласен, ёбнулись. Но это к делу не относиться.
- Яндекс дерьмо.
- И?
- Гугл отсылает к тризу.
- Выводы?
- Нужно освежить свои знания в этой области, возможно алгоритмы решения технических задач можно будет применить в данной ситуации.
[23:10]
- Хорошо, ещё варианты?
- Не могу придумать.
- Хорошо, пробуй этот.
[23:14]
- Мне не нужен ответ на вопрос.
- Почему?
- У меня нет проблемы.
- Вообще? Т.е. у тебя всё идеально?
- Нет.
- Выводы?
- Проблема всё-таки есть, но я не знаю в чём.
- Как узнать?
- Есть вопрос.
- Задавай.
- «Как узнать, в чём моя проблема?»

Сегодня. Гемморой.

06.03.2007

Первое. Учить можно любого.
Сегодня узнавали с админом, где же лежит конфигурационный файл named-а. Юзали только шелл. Потратили два часа, при этом я ему этого НЕ сказал, но он всё-таки узнал. Сам, мля. Убил бы.

Принимаю заявки по подготовке персонала. Дорого. Оплата по результату.

Вечером вырубили хостинговый сервак. Я даже не скажу, за что, закидают помидорами несвежими.
Не, разрулить мы всё разрулили. Хотел, правда, выспаться сегодня, ну ничего, на пенсии высплюсь.
Врубили обратно.

И что интересно, чел, с которым работаю, вполне вменяемый. Тогда
а. Какого он вообще под мои задачи в этом ДЦ серв сдал.
б. Какого он молчал, пока петух не клюнул и предложил переехать прямо вовремя, когда я уже до черта сил потратил на поиск других координат?

Впрочем, тут есть мысль одна. Хочется сделать прямо совсем хорошо.