Огненная чаша

May 17

Отзывы на диссертационную работу

Научная новизна результатов диссертации не вызывает сомнений. Автор акцентирует внимание на ……. Как следует из содержания автореферата, автором …… Это позволяет ….. Нет необходимости в …… Впервые определены ….. Весьма ценно то, что ….. Разработанная …. позволила ….. Как следует из автореферата, …. Необходимо отметить …., поскольку она может быть использована …..

«Инвайт. Просто добавь воды!»


Sep 16
“— Что же, по-вашему, мы должны отказаться от такого выгодного предприятия?
— Но вы же сами видите, что предприятие вовсе не выгодно, — сказал Крабс.
— Что же нам делать?
— А ничего и не нужно делать, — с весёлой улыбкой ответил Крабс. Вам нужно просто исчезнуть.
— Как — исчезнуть? Вот так просто исчезнуть? Даром?! — закричал Мига.
— Ну, зачем же даром? — спокойным голосом сказал Крабс. — Прихватывайте с собой пять миллионов, которые вы успели выручить от продажи акций, и удирайте куда-нибудь подальше.
— Спасибо, что разрешаете нам взять наши же денежки! — сердито проворчал Мига. — Мы собирались выручить значительно больше.
— Ну, куда вам больше? Это же пять миллионов!
— Но на двоих! — воскликнул Мига.
— Что ж, на каждого по два с половиной миллиона — это не мало, — рассудительно сказал Крабс.
— Это, правда, не мало, но нам хотелось бы по три, — ответил Мига. И потом у нас есть ещё Незнайка и Козлик. Мы не можем так бросить своих друзей. Необходимо дать каждому хотя быпо миллиону. Впрочем, Козлику можно дать полмиллиона.
— Нет, нет, — вмешался в разговор Жулио, — Козлику тоже нужно дать миллион. Иначе он может на нас обидеться.”
Н. Носов. «Незнайка на Луне»

Sep 15
“Развитие происходит от развитости” М. Мамардашвили

May 5

Lucid Lynx

Свежая убунта реально порадовала. Установил и пересел за несколько часов. До этого стоял (и остался на другом разделе) ArchLinux. 

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

Не самый свежий hostapd из коробки вдруг заработал и смог раздать wifi, прочий софт вполне себе нормальных версий.

А для Ruby есть rvm :)


Mar 9

Из книги Coders At Work

  • Seibel: I heard about a computer science department where in the tutor’s office they had a stuffed animal and the rule was you had to explain your problem to the stuffed animal before you could bother the tutor. “OK, Mr. Bear, here’s the thing I’m working on and here’s my approach—aha! There it is.”
  • Armstrong: Really? I must try that.
  • Seibel: Talk to your cats.

…When I was younger, I would do the all-night hacks, programming to four in the morning and you get really tired and it’s macho programming—you hack the code in hour after hour. And it’s not going well and you persevere and you get it working. And I would program when the intuition wasn’t there.

And what I’ve learned is, programming when you’re tired, you write crap and you throw it all away the next day. And 20 years ago I would program although I was getting a strong feeling that this isn’t right—there’s something wrong with this code. I have noticed over the years, the really good code I would write was when I’m in complete flow—just totally unaware of time: not even really thinking about the program, just sitting there in a relaxed state just typing this stuff and watching it come out on the screen as I type it in. That code’s going to be OK. The stuff where you can’t concentrate and something’s saying, “No, no, no, this is wrong, wrong, wrong”—I was ignoring that years ago. And I’d throw it all away. Now I can’t program anymore if it says, “No.” I just know from experience, stop— don’t write code. Stop with the problem. Do something else.

Joe Armstrong (from: Coders at work)

Feb 16

Дело Лоскутова

Уж если прокуратура просит условный срок, дело точно сфабриковано 100%.


Feb 15

Диалог с гаишником

  • Вчера гаишник порадовал. Останавливает на посту, выхожу из машины.
  • Я: Добрый вечер!
  • Гаишник: здрбрврбр. Ваши документы....
  • Я: Пожааалуйста! Всё есть!
  • Гаишник: (Слегка обиженно) Это плохо, что всё есть...
  • Я: Ну, вам плохо, а нам хорошо!
  • Гаишник: А вам чего ж хорошего?
  • Я: Ну как... проблем нет!
  • Гаишник: (отдавая документы) Так жить же скучно, если проблем нет...
  • Я: Ну, жизнь всегда подкинет проблем, если надо...

Feb 14

Feb 11

Про тестирование в стартапе

Я давно парился над вопросом тестов. С одной стороны, тесты — это клево и все такое (Ruby-сообщество тесты ценит). С другой стороны, возьмем ситуацию стартапа:

  1. Количество ресурсов ограничено. За одно и то же время можно либо реализовать 1 элемент функционала и тесты к нему, либо 2 элемента функционала без тестов.
  2. Много кода пойдет на выброс, поскольку будущее слабо определено.

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

Вчера я слушал подкаст Эрика Риса про lean startups, там мне понравилась метафора про тесты как иммунную систему проекта, которая предотвращает поломки.

В итоге я пока остановился на следующем:

  1. Юнит-тесты для критически важной бизнес-логики, которые проверяют корректность ее работы, в т.ч. во всяких изощренных условиях.
  2. Простые тесты контроллеров. В нашем проекте поломки в основном происходят из-за того, что какой-нибудь хелпер переименовался или изменился путь к странице, а старое blah_blah_path где-то осталось. Поэтому достаточно простых get, post и put с проверкой кода возврата. Грубо говоря, если страница срендерилась или редирект произошел, то поломки нет — простейшая иммунная система.

Пробовал несколько раз Cucumber, неудачно. На Ruby писать быстрее и больше возможностей.

Кроме того, важность тестов, видимо, растет с ростом количества участников проекта. Возясь с чужим кодом, я предпочту иметь тесты.


Page 1 of 3