Подсчитываем уникальные адреса в апаче

Сидел я, значит, сидел, никого не трогал, вдруг смотрю - кто-то у меня во весь мой канал что-то качает. Смотрю логи - какая-то германщина с меня рекурсивно качает музыку. Ну и тут мне пришла идея накатать скриптец, который «выдирает» из логов уникальные IP, находит PTR, считает количество вхождений. Да, делать было нечего :-D

Gajim: увеличиваем громкость звуков

Меня в гаджиме постоянно раздражало то, что я не слышал звуков входящих сообщений. В итоге только что мне захотелось это исправить :-) Итак, порядок действий:

  • Открываем редактор расширенных настроек
  • Ищем параметр «soundplayer»
  • Приводим его в вид «mplayer -softvol -af volume=8»

-softvol указывает на независимость от альсового микшера, -af volume=8 выставляет громкость. Проверено - лучше больше десятки не ставить ;-)

mod_log_chat Logrotator

Написал небольшой скрипт на питоне, который сортирует логи, производимые mod_log_chat'ом, по годам, месяцам и дням. Полезно, например, для мониторинга личной переписки на корпоративном jabber-сервере ;-)

#!/usr/bin/python2
 
# mod_log_chat logrotator script
# Sorts logs, produced by mod_log_chat, by years, monts and days
 
import os, sys, commands, shutil
 
# Set ROOTDIR to root dir of your logs. Do not forget about
# trailing slash!
ROOTDIR = '/path/to/logs/'
 
filelist = commands.getoutput('cd ' + ROOTDIR + ' && find . -maxdepth 1 -type f')
filelist = filelist.split('\n')
 
for file in filelist:
    splitted_file_name = file[2:].split('-')
    try:
        year = splitted_file_name[0]
        month = splitted_file_name[1]
        day = splitted_file_name[2].split(' ')[0]
        ignoring = 0
    except:
        ignoring = 1
 
    # Checking dirs...
    if not ignoring == 1:
        if not os.path.exists(ROOTDIR + year):
            os.mkdir(ROOTDIR + year)
        if not os.path.exists(ROOTDIR + year + '/' + month):
            os.mkdir(ROOTDIR + year + '/' + month)
        if not os.path.exists(ROOTDIR + year + '/' + month + '/' + day):
            os.mkdir(ROOTDIR + year + '/' + month + '/' + day)
 
        # Getting file name and moving it to approriate dir
        splitted_file_name1 = file.split(' ')
        filename = splitted_file_name1[1] + ' - ' + splitted_file_name1[3]
        shutil.move(ROOTDIR + file[2:], ROOTDIR + year + '/' + month + '/' + day + '/' + filename)
    else:
        print "Ignoring file", file[2:]

Pygments + Переустановка системы = Большие костыли

Решил я тут переустановить свою систему, и при восстановлении всего веб-сервера (включая свою флудошару) я наткнулся на один интересный глюк…

На моей флудошаре, которая написана на чистом пистоне, используется pygments как «подсвечиватель» синтаксиса. И прикол в том, что до переустановки guess_lexer() отрабатывал на отлично, а после - хрена лысого! Угадывать он мог только пистоновский код, любые другие пасты у меня по эксепшену валились в 404 :-D

В итоге я соорудил такой костыль:

        try:
            if pastedata[0][7] == "C":
                lexer = CLexer()
                lexername = "C"
            elif pastedata[0][7] == "Cpp":
                lexer = CppLexer()
                lexername = "C++"
            elif pastedata[0][7] == "Lua":
                lexer = LuaLexer()
                lexername = "Lua"
            elif pastedata[0][7] == "Python":
                lexer = PythonLexer()
                lexername = "Python"
            elif pastedata[0][7] == "Bash":
                lexer = BashLexer()
                lexername = "Shell"
            elif pastedata[0][7] == "Text":
                lexer = TextLexer()
                lexername = "Other"
            else:
                lexer = TextLexer()
                lexername = "Other"
        except:
            lexer = TextLexer()

И, конечно же, менюшка выбора языка. Феерично, эпично, но по другому никак не получалось. Если кто сможет мне подсказать, как вернуть работоспособность guess_lexer() - буду очень благодарен.

Зато есть один плюс - флудошара снова работает ^_^

Jan - Apr: something, that I want to forget

За это время в моей жизни произошли большие изменения. Самые интересные из них:

  1. Меня бросила девушка. Причем она меня использовала, чтобы «привязать» к себе другого (блять, как можно так жить???)
  2. Я и еще несколько человек ушли из Agilia Linux. Проблем, из-за которых мы ушли, было много, не все они даже были связаны с разработкой, но главная описана по ссылке выше.

По поводу ухода из агилии - я сразу хочу сказать, что мне нечего добавить. Да, есть и другие причины нашего ухода, но разглашать их не очень хочется. Для полноты эффекта можно почитать тред на форуме агилии по поводу нашего ухода в «Разговоры обо всем». Ссылку не могу дать, так как с недавнего времени я везде забанен :-D

Ну а теперь немного анализа моей работы в агилии. Я, можно сказать, за несколько месяцев стал вторым человеком - я взял на себя мейнтейнерство овер XFCE, я почти полностью переписал GUI для пакетного менеджера, активно багрепортил и даже правил ABUILD'ы aix27249, у которого «вечно не хватало на все времени». В принципе, этим исправлением занимались все те, кто ушел. Недавно совсем, aix27249 заявил на форуме, что никому из нас не доверял, да и не доверяет тем, кто остался. Ну, если честно, после этих слов прям так и хочется сказать: «удачи не загнуться».

Мне одновременно жалко и в то же время не жалко тех 8 месяцев, что я потратил, работая над агилией. Не жалко потому, что я получил много нового опыта. Жалко потому, что мне не доверяли и, в некотором роде, меня обманывали.

Про девушку мне даже сказать нечего. Просто нечего. Она превратила мою любовь к ней в ненависть ;-) И теперь ей лучше вообще на моем горизонте не показываться ;-)

Собственно, that's it!

Instantbird - советы и хинты

Решил я тут попробовать этот клиент. Сказать могу только одно - он охрененен :-) По сравнению с pidgin, правда, может показаться слоупоком конкретным. Еще бы - он использует xulrunner. Но все же…

Скриншот этого клиента:

Итак, я тут запилил небольшую статейку на эту тему. Надеюсь, что информация, озвученная там, окажется кому-нибудь полезной. Хотя все эти опции, что оговариваются в статье, должны быть доступны из гуя, ИМХО…

Настройка GIT

Запилил небольшую статейку по сабжу. Авось кому пригодится :-)

2011: чем этот год был для меня

Знаете, как иногда бывает - ночь с 30 на 31 декабря, а заснуть ну никак не получается. Приходится выдумывать всякую хренотень, чтобы и время побыстрее прошло, и (возможно) захотелось спать. Собственно, практически таким для меня и был 2011 год.

Я частенько не мог заснуть по ночам (спасибо вам, мои тиммейты из Stunning Bears! :-)). И чтобы не тратить время в пустую - решил сесть за изучение какого-нибудь языка программирования. В итоге мой выбор пал на питон:

  • Реально легкий в изучении
  • На нем легко писать программы
  • Документации просто дохренища

Это основные пункты. И вот, я начал учить пистон. Первой моей потугой был SSH Manager - простая консольная программка для управления SSH-закладками. На нем я только обучался написанию программ на питоне - сам скрипт был написан за целую ночь с вдумчивым чтением доков.

Далее подоспел UrTDSC, который я пописываю до сих пор. Тут уже присутствует GUI (сейчас на PyQt, был на wxWidgets), более сложные алгоритмы.

Позже я решил попробовать чистый питон в вебе. Да, я слышал про джанги, пилоны и прочую хренотень. Но мне хотелось сделать все самому, в итоге появился http://server.pztrn.ru/, где сейчас находится пока что флудошара и информация о моем зеркале репозитория Agilia Linux. Все хочу там запилить еще что-нибудь, но как-то лень @_@.

Agilia Linux

В июле этого года я пересел на Agilia Linux - очень хороший дистрибутив с, к сожалению, небольшим количеством разработчиков и мейнтейнеров. Так как до этого я сидел на арче - я начал активно строчить абилды (благо от пкгбилдов они отличаются минимально) и буквально через пару недель мне дали мейнтейнера.

Посмотрев на очень плачевную ситуацию с manager2 (GUI для пакетного менеджера Agilia Linux), я решил переписать его на питоне, благо я уже начал почитывать про PyQt (и он мне очень понравился, да), да и хотелось все же более глубоко изучить питон, pyqt и иже с ними. В итоге сейчас (после трех ну очень ленивых месяцев пописывания) manager3 вполне готов к эксплуатации. А теперь, когда появился активный разработчик гуя (то есть я, ага) - можно сделать из manager3 ну просто очень охрененную конфетку :-) Чем я и буду заниматься в следующем году.

Конечно, я не буду останавливаться на написании одного гуя к пакетному менеджеру. Я уже запланировал пописывание пары интересных плюшек, одна из которых - ABR (ABuild Repository).

Игры

На тему игр этот год у меня не был особо богат - все как всегда. А именно - поигрывание в Urban Terror. Наша команда (Stunning Bears на данный момент, это все те же Loaded Arms, только плюс несколько других игроков) с треском провалила ClanBase («спасибо серверу за это!»), не особо выделилась на Urban Zone (3 место во 2 дивизионе). Есть надежда, что мы перейдем в 1 дивизион на UZ, только мне кажется, что она - призрачная.

Начал играть в Minecraft, но сейчас я на него немного «подзабил» - времени не хватает. Хотя игра безусловно интересная, хоть и графика «искаропки» - говнецо.

В декабре накупил себе игр в стиме - 30 игр за 1100р. Развлекалово будет, если вдруг делать станет нечего :-)

Жизнь

То, что жизнь я описываю в конце, никак не значит, что она у меня «в наименьшем приоритете». Да, по заключению почти всех моих знакомых, я есть задрот. Однако кто из нас, линуксоидов, не задрот? Если только бубунтоиды ;-)

Так вот, самое значимое событие - у меня появился любимый человечек! Да, да, ДА! У меня, очкастого задрота, появился человек, который отвечает мне взаимностью! Это самое значимое событие, так как в девушках я разочаровывался несколько раз - современным «фифочкам», зачастую, больше нравится «пожрать яги во дворе, дунуть и пойти сношаться в подворотне». Да, мне так не везло, жизнь - та еще стерва. Ебет как умеет ;-) А имя любимого человечка я раскрою, но не сейчас ;-)

В этом году решил не идти никуда учиться - у меня есть сестра с двумя детьми, которые тоже скучать не дают. Хожу, помогаю чем могу, что же еще делать. Хочется, чтобы они выросли нормальными людьми, а не очередным «поколением яги и гидры».

С работой у меня, мягко говоря, не складывается. А все потому, что систему образования развалили нахрен. У меня, к огромнейшему сожалению, минимальный балл за ЕГЭ по математике. Зато по русскому - 77%, а по информатике - 66%. Гыгы, правда? :-D Интересно, в какой инст на околокомпьютерную специальность меня возьмут с такими баллами? И куда идти работать? В манагеры? >.<

За этот год я также приобрел много новых друзей. По большей степени этому способствовала моя работа над Agilia Linux. Я познакомился с такими людьми, как aix27249, DIx_37, xpadla, Unnamed_Hero и другими, с которыми интересно не только пообщаться на разные темы, но и сходить в бар ;-)

Овервью

В целом, этот год не прошел для меня даром. Я много нового узнал, с многими интересными людьми познакомился, начал изучать что-то новое. Саморазвитие - это хорошо, это путь в будующее. И в то же время оно показывает, что еще есть над чем поработать, есть то, что надо сделать. Появились новые цели, которые я хочу достичь. А ведь в этом и скрывается весь смысл нашей жизни, не правда ли? :-)


С наступающим новым 2012 годом! Да прибудет с вами сила Пингвина, Питона, C++, Qt, нативных игр! Да обойдет вас стороной 21.12.2012! И вообще - всего самого наилучшего и спасибо, что прочитали этот ночной высер :-)

Le Internet Medley

Ну, тут все понятно. К просмотру каждому :-)

Для просмотра этого содержимого требуется Adobe Flash Plugin.

Телепортация в масло

Нет слов, одни эмоции :-D :-D :-D

Отныне этим тегом в блоге буду помещать особо запористую информацию :-D

Для просмотра этого содержимого требуется Adobe Flash Plugin.

 
blog.txt · Последние изменения: 2011/11/25 04:55 — Stanislav N. · [История страницы]
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Lighty template by pztrn