Приходит молодой и амбициозный, смотрит на код написанный 10 лет назад, говорит — А почему тут так криво сделано, а почему не на фреймворке, да тут же запросы к БД не оптимизированы, вы что даже жквери не используете, давайте я вам тут за 3 дня все сделаю как надо. Через месяц, похудевший и с красными глазами паренек скажет — Ребята, а давайте вернем как было?

Вот что происходит, когда я выкладываю новый проект на сервер.

Хотелось бы немного развеять миф о крутости программировании, как профессии.
(далее...)

LSD и программирование

В статье "Use of LSD–25 for Computer Programming" исполнительный директор Trance Research Foundation рассказывает о том, как 75 мкг кислоты в далёком 75–ом году помогли ему решить критические проблемы при программировании компилятора для огромного компьютера IBM System/360 (кстати, это первый 32–битный компьютер в истории, послуживший отправной технологической точкой для современных компьютеров платформы IBM PC). (далее...)

Just for Fun Отличная книжка, рекомендую к прочтению. «Just for Fun» – смесь биографии Линуса Торвальдса с рассуждениями о технологиях и путях их развития. Линус Торвальдс – создатель операционной системы Linux. Линус подробно объясняет, как из игрушки десятка хакеров Linux превратилась в мощный инструмент, которым пользуются огромные корпорации. Линус просто и доходчиво описывает историю системы и принципы ее работы, не перегружая читателей заумной терминологией. Попутно он делится с читателями своими представлениями о будущем Linux и компьютерной индустрии в целом.

Хотя Линус с удовольствием гоняет на своем блестящем новом BMW, он никогда не гнался за славой и богатством. Тем не менее и то и другое пришло к нему, когда Линус Торвальдс радикально изменил мир технологий по одной эгоистической причине: ради собственного удовольствия. читать дальше →

Справочники по веб-программированию

Спавочники, которыми я пользуюсь

Если chm-файл открывается пустым, то это лечится через Свойства файла → Разблокировать

как открыть chm файл

Guide to Enterprise PHP Development Если вы запускаете большой проект на php, эта книга несомненно будет ценным ресурсом для вас и вашей группы разработчиков. Написанное хорошо известными гуру php, это исчерпывающее руководство покрывает все, что вы должны знать: развитие php, планирование, безопастность, оптимизация, тестирование, развертывание, методологии разработки, дебаг и многое другое.
скачать Guide to Enterprise PHP Development (10 Мб, формат PDF)
Книга на английском!

  1. Любая работающая программа уже устарела.
  2. Любая программа обходится дороже и требует больше времени, чем казалось в начале.
  3. Если программа полезна, ее обязательно переделывают.
  4. Если программа бесполезна, ее тщательно документируют.
  5. Любая программа в конце концов занимает всю доступную память.
  6. Ценность программы обычно определяется весом выдаваемой ею распечатки.
  7. Cложность программы обычно растет до тех пор, пока не превысит способности программиста, призванного ее поддерживать.
  8. Если утилиты, испытанные при инсталяции, работают идеально, все остальные функции будут работать не верно.
  9. Если входной редактор спроектирован так, чтобы исключить неверный ввод, найдется изобретательный идиот, который изыщет метод ввести разрушительную команду.
  10. Невежество - единственный язык, которым владеют все программисты.
  11. Увеличение численности программистов, работающих над проектом, увеличивает сроки его выполнения.
  12. Небрежно спланированный проект требует в 3 раза больше времени, чем ожидалось, а тщательно спланированный - только в 2.
  13. В программе всегда есть еще одна ошибка.
  14. Невозможно создать программу с полной защитой от дураков, ибо дураки крайне изобретательны.
  15. Если все идет хорошо, вас вскоре ждут серьезные осложнения.
  16. Если дела идут хуже некуда, вскоре выяснится, что это не так.
  17. Если кажется, что все в порядке, вы просто что-то просмотрели.
  18. Тестовые операции и результаты их выполнения должны быть воспроизводимы - они все должны давать одинаковые отказы.
  19. Вы всегда найдете еще одну ошибку, если еще раз загляните в свою программу.
  20. Терминал работает лучше, если его включить в сеть.
  21. Если все не работает, читайте документацию.
  22. Если вам не понятно какое-то слово в технической документации, игнорируйте его, смысл от этого не пострадает.
  23. Не важно, много ли вы работаете, вы все равно работаете недостаточно.
  24. То, чего вы не делаете, всегда важнее того, что вы делаете.
  25. Всегда оставляйте место для объяснения того, почему ваша программа работает не так как планировалось.
  26. Не существует ничего невозможного для человека, который не собирается ничего делать сам.
  27. Если бы строители сооружали здания также, как программисты пишут свои программы, первый же дятел разрушил бы человеческую цивилизацию.
  28. Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны.

Наткнулся в чужом коде на очередной WTF. Вместо встроенной функции nl2br() использовалась конструкция

$message = str_replace("\n", "<br />", $message);

Прежде чем что-то написать откройте документацию PHP или посмотрите в гугле – возможно там вы найдете готовое решение вашей проблемы. У PHP имеется огромное количество встроенных функций для решения многих задач. Есть даже встроенная функция easter_date() для расчета дня Пасхи для любого года

<?php
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001
?>

Не изобретайте велосипед!

панда wtf

какой самый извращенный способ проверить в условии if () булевскую переменную?
if (b.ToString().length < 5){...}

еще WTF

Невозможно в принципе — Я не знаю, как это сделать.
Невозможно — Я знаю как, но мне лениво.
Сложно — Придется прочитать документацию.
В принципе, реализуемо — Я как раз вчера скачал из интернета библиотеку, которая решает поставленную задачу.
Работает — Компилируется.
Отлаживаю — Не компилируется.
Прогоняю тестовые примеры — Пытаюсь найти такой, на котором программа не вываливается.
Работал допоздна — Играл по сети.
После обеда — Часам к 18:00.
(далее...)