50 цитат о программировании

Наткнулся на Хабре на отличный перевод коллекции цитат о программировании. Публикую здесь без купюр :)

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
[ Читать дальше ]

Тестируем MariaDB

На недавно прошедшей DevConf выступал с докладом Michael “Monty” Widenius, автор и идейный вдохновитель MySQL. Он рассказал про то, что Oracle потихоньку убивает MySQL и презентовал форк под названием MariaDB.
Меня заинтересовала эта СУРБД и вот представляю вам свой опыт ее использования :)
[ Читать дальше ]

Установка Django на devio.us

Как, наверняка, всем известно, недавно появился проект Devio.us, который предлагает всем желающим бесплатный shell-хостинг на базе OpenBSD. В нагрузку к шеллу также предлагается домен третьего уровня, вида %username%.devio.us или devio.us/~%username%, одна база данных MySQL и 100 мегов места. За пару баксов в месяц эти показатели можно улучшить :)
На сервере установлен PHP (версии 5.2.12) как модуль апача (весьма, кстати, древнего – 1.3.29) и предлагается CGI-интерфейс. Ну и также доступны perl 5.10.1 и python 2.5.4. Целью проекта является привлечение новых членов в коммьюнити OpenBSD. При регистрации необходимо указать причину, по которой вам кровь из носу надо получить там аккаунт :) Процент отказов, к слову, довольно мал.
Итак, поигравшись с PHP, захотелось чего-то большего. И так как на сервере присутствует python, захотелось прикрутить туда Django.
[ Читать дальше ]

Ловушки bash

Программирование на shell в общем и на bash в частности богато своими нюансами, которые, зачастую, упускаются из вида. В результате мы имеем проблемы на очевидных, вообщем-то, операциях. И как результат, зачастую, бывает “а ну его, этот баш! Перепишу на php/perl/python/ruby/etc”
Эта статья написана для обсуждения и путей решения нескольких самых часто встречающихся “камней преткновения” при программировании на bash. Я лично очень полюбил программировать на bash в последнее время и хочу поделиться кусочком знаний с вами :)
[ Читать дальше ]

Advanced grep

Написал небольшой скриптик, который красиво форматирует результаты рекурсивного поиска по исходникам (вообще-то по любым файлам, но я писал это все именно для поиска по дереву исходников :))
[ Читать дальше ]

Хватит писать foreach()

По крайней мере в php :) Обращаюсь к php-разработчикам – подумайте, сколько раз за рабочий день вы пишите for() и foreach()? Я, например, довольно много :) Сейчас я пишу на php 5.3, а в нем есть очень удобные средства для того, чтобы обойтись без обхода массива в цикле – это функции для работы с массивами, которые принимают callback в качестве аргумента и замыкания
[ Читать дальше ]

100 команд vim, которые должен знать каждый программист

Небольшая подсказка по vim, будет полезна всем, я думаю. Это не руководство для начинающих (т.е. команд типа :wq здесь нет)
Комментарии приветствуются :)
[ Читать дальше ]

Логирование писем, отосланных через функцию mail()

Если у вас свой сервер (или хостинг-сервер), на котором расположено множество различных проектов, то, возможно, вы сталкивались со следующей проблемой: из-за уязвимости в скрипте на один из проектов попал вредоносный код, занимающийся рассылкой спама. Найти виновника порой бывает весьма проблематично. Так что оптимальным выходом будет просто логировать действия функции mail()
[ Читать дальше ]

Собственный видеохостинг

Статья описывает процесс построения собственного видеохостинга (как, например, YouTube) на базе lighttpd с модулем mod_flv_streaming для трансляции потокового видео в формате .flv и модулем
mod_secdownload для предотвращения хотлинкинга. В качестве проигрывателя мы возьмем FlowPlayer, который поддерживает mod_flv_streaming. Также мы опишем процесс перекодировки видео различных форматов (.mp4 .mov .mpg .3gp .mpeg .wmv .avi) в формат FLV, который будет использоваться на нашем сайте
[ Читать дальше ]

Виртуальные хосты на lighttpd с хранением конфигурации в MySQL

Статья посвящена настройке виртуальных хостов для lighttpd, работающего под управлением Debian, с хранением всех конфигурационных данных в MySQL. Главная особенность в том, что мы не будем использовать модуль для Лайти mod_mysql_vhost, который позволяет хранить в базе лишь имя хоста и его корневой раздел. Наша конфигурация более гибкая и позволяет хранить в БД все директивы для каждого виртуального хоста
[ Читать дальше ]