Архив

Архив автора

Встраиваем плеер в WordPress.

26 февраля 2013 Нет комментариев

Небольшой урок велосипедостроения от zetblog. Задача: дать возможность встроить аудио-плеер в посты WordPress с помощью плагина. Вообще, какие-то готовые плагины-плееры под wordpress уже существуют, но мне они, по разным причинам, мне не очень приглянулись. Тем более, хотелось заглянуть и узнать как это всё реализовано "под капотом". В качестве самого плеера была выбрана JS-библиотека audiojs. Читать далее...

Linux: узнать свободное место на диске.

23 февраля 2013 1 комментарий

Иногда надо узнать под linux свободное место на диске. Делается это элементарно, но не очень часто, поэтому, всё время вылетает из головы. Читать далее...

Python: генератор списка паролей для перебора (brute-force). Code Review.

23 февраля 2013 1 комментарий

Оригинальная статья тут:
Python: генератор списка паролей для перебора (brute-force).

Эта поделка умудрилась даже попасть в одну из статей журнала "Хакер" - что-то там было про brute forcing для VoIP-серверов. Автор обращался за разрешением, которое я ему и дал, предупредив что скорее всего можно лучше. Читать далее...

Code Review. Анонс новой рубрики.

22 февраля 2013 Нет комментариев

Новая рубрика: code review. Хотел назвать "антиговнокод", но подумал, что это слишком жёстко, да и нет никакой гарантии что через год или два я не изменю своего мнения о выданных советах или не придумаю чего лучше. Пока в планах постить только review python кода, думаю 3,5 года боевого опыта работы с ним (а если приплюсовать беспечное студенчество, то раза в 2 больше) позволят дать хоть на толику полезные советы, как себе в прошлом, так и ещё кому-нибудь, даже если они об этом не просят. Всем добра! Подробности ниже. Читать далее...

Odesk vs elance. Сравнение впечатлений.

20 февраля 2013 Нет комментариев

Для начала о предмете: odesk и elance - это две, наверное, самые крупные freelance-биржи для англоговорящей аудитории (ну или, как минимум, "англопишущей"). Преимущества работы на них, думаю, очевидны - на них можно зарабатывать больше денег, чем работая в офисе в какой-нибудь провинции. Однако, как мне показалось, если вы живёте в Москве или работаете с заказчиком, который готов платить по столичным меркам, то, не факт, что ваш заработок на эти двух биржах будет больше. Топовые рейты для них, конечно, достаточно заманчивые, но до них ещё надо дорасти. Как это сделать - вероятно, усердно работать и зарабатывать хорошую репутацию. В среднем, топовые ставки составляют 50-60$ в час, что достаточно много, но если просмотреть историю работы таких фрилансеров, то вполне можно найти свежие работы по ставке в районе 40$ в час и ниже. Но это не совсем то, о чём я хочу рассказать, а, скорее, об общих впечатлениях. Читать далее...

Update: восстановление БД и прошлых записей.

12 февраля 2013 Нет комментариев

К сожалению, свежий дамп БД утерян. Старые записи будут вытянуты из web-архивов, насколько это возможно. Вскоре после этого, зеты продолжат своё вещание на просторах этих ваших интернетов.

Categories: Новости Tags:

Зеты возвращаются!

28 января 2013 Нет комментариев

Всем привет.

"Кто здесь?" - один анекдот, который я рассказывать не буду. :) Решил поднять опять блог, скорее всего, скоро появятся новые заметки. К сожалению, пока удалось найти бэкап базы только за 2009й год, так что, вполне вероятно, скоро БД будет сброшена и восстановлена более свежая версия, а пока так.

Categories: Новости Tags:

Zsh: Простая кастомизация.

цветной zsh

Для тех, кто не в курсе, zsh — это такой shell-интерпретатор, как bash и ему подобные. Привычка его ставить пошла от FreeBSD, где дефолтные tcsh и csh совсем не юзер-френдли, на мой взгляд. Может и их можно настроить до нормального уровня, но ведь настоящие герои всегда идут в обход.

Итак, в zsh можно включить достаточно мощный автокомплит просто «тыкнув пару кнопок» в консоли после первого запуска. Однако, по сравнению с большинством дефолтных поставок bash’а в разных дистрибутивах линукса, ему всё же не хватает цветастости. Но это дело легко поправимо, если добавить в файлик ~/.zshrc следующие алиасы:

# color
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi

После этого необходимо перезапустить сеанс консоли (зайти заново в систему, запустить ещё одну копию zsh или перезапустить графический терминал — terminal, konsole, etc) и можно наслаждаться цветным выводом команд grep, ls и всего прочего описанного.

Не мог на этом просто взять и остановиться, ибо страдание фигнёй штука затягивающая. Дальше приделал следующую вещь:
Читать далее...

Python: Маленькая хитрость. if-else vs and-or.

На этот раз будет мини-заметка, уж слишком мне понравился трюк, о котором пойдёт речь дальше.

Наверное любому программисту приходится часто писать конструкции такого вида:

if a == b:
c = d
else:
c = e

Как-то разбирая исходники какого-то проекта (скорее всего, это была Django) наткнулся на весьма компактную замену. Вот для сравнения два аналогичных блока кода с использованием логических операций python’а и с использованием конструкции if-else:

# if-else:
if random.random() > 0.5:
a = 1
else:
a = 0

# and-or style:
a = random.random() > 0.5 and 1 or 0

На мой взгляд выглядит гораздо лучше и компактнее (да-да, if-else можно записать в 2 строчки вместо 4, но мне так не нравится). Другое дело, что некоторым это может показаться противоречиво с некоторыми пунктами дзена python’а (import this), но это спорно. В общем использую там, где считаю нужным.

Кстати, если кого-то интересует производительность, то она примерно одинакова, далее выложу тесты и объяснение логики для тех, кому интересно. Читать далее...

WordPress: Модернизация плагина statpress.

21 февраля 2010 1 комментарий

Статистика — вещь не только интересная, но иногда и полезная. WordPress — один из популярнейших движков php для блогов, для него существует огромное количество плагинов, в том числе и плагины для просмотра статистики по посещаемости. Один из таких плагинов — statpress. Но есть в нём некоторые недостатки, автор плагина добавил распознавание некоторых русских поисковых движков, но так же некоторые упустил из виду. Хотя даже тот же Яндекс обрабатывается не очень хорошо, не учитываются переходы с yandex.ua, yandex.kz и т.п. Но opensource тем и хорош, что всегда можно поправить исходники, если что-то тебя не устраивает. Далее пойдёт речь об оптимизации плагина statpress под Российские поисковики. Читать далее...

Hibernate: Удаление объектов из БД.

10 февраля 2010 Нет комментариев

По работе пришлось изучать работу Java’вского ORM’а, пока что знаком только бегло, но некоторые полезные штуки для новичка решил записать. Может кому пригодится, может нет, но хотя бы самому гуглить придётся меньше. Кстати, примеры будут не на Java, а на Jython’е, т.к. с первым я тоже не очень знаком.

Итак, опустим настройку и подключение Hibernate, предположим, что вы это уже сделали. Быть может, напишу об этом позже. Требуется удалить из таблицы player (которая маппится с классом Player, естественно… или наоборот) некоторые записи. Если мы знаем id игрока, тогда всё элементарно (как и в других случаях):

player = session.load(Player, player_id)
session.delete(player)

Теперь рассмотрим случай, когда надо удалить много записей. Читать далее...

Python: Реализация простого web-сервера.

Не для собственных нужд, но как-то понадобилось написать простой web-сервер для обработки на нём загруженных данных. В общем-то должен был получиться простой вёб-интерфейс к программе. Он и получился, местами даже слишком простой. В общем суть такова – необходимо получить от пользователя экзешник, на сервере его обработать нужными программами и выдать результат, т.е. обработанный файл для скачивания. Можно было бы написать скрипт на php, что было бы проще, но тогда необходимо с собой таскать какой-нибудь вёб-сервер (apache, denwer и т.п.). На питоне можно его реализовать достаточно просто в самом скрипте используя стандартные заготовки и библиотеки, такие как BaseHTTPServer. Ниже следует листинг с краткими комментариями. Читать далее...