пятница, 31 декабря 2010 г.

Про телевидение

У меня нет телевизора. Нет, правда, у меня совсем нет телевизора. Фильмы я могу качать и смотреть дома, на хорошие фильмы потом иду в кино, плохие (таких большинство) удаляю, как только рейтинг раздачи поднимется больше единицы. Новости читаю в интернете, причём только такие, какие мне интересно, пропуская большую часть всего информационного поноса мимо ушей.

Но иногда, раз в год, мне приспичивает посмотреть телевизор. Например, хочу посмотреть новогоднее обращение президента России по привычке. И часов в шесть вечера я начинаю искать вещающий в интернет телеканал.



Вот первое попавшееся под руку. Конечно, телевизор есть почти у всех, все к нему привыкли и смотрят всё говно, что так показывают, вместе с рекламой и прочим. Но запрещать трансляцию в интернет программы - это полный бред. Улавливая радиоволны антенной я могу смотреть передачу, а получая поток с сервера - не могу. Надо отметить, что никто никогда на передающей радиостанции не сможет узнать, кто смотрит вещание, а кто нет - не даром же периодически названивают всякие операторы агентств соцопросов и спрашивают, кто у меня сейчас в семье смотрит телевизор (некоторые обижаются, когда я говорю, что у меня нет телевизора, думая, что я вру,чтоб их позлить).

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

Телевидение скоро сдохнет, превратившись окончательно в генератор фона для времяпрепровождения, пошлый, похабный, рекламный, аляповатый и вообще ужасный в нравственном, художестенном и всех прочих отношениях.

четверг, 30 декабря 2010 г.

Последняя в этом году порция твитов

Подмоскровный городок.

Покусавшую туристов акулу поймали, чтоб проверить, не больна ли она бешенством. Правозащитники животных негодуют.

Подмосрачье.

Смешарики? Нет, суккубики!

Вырвал у сына молочный зуб пассатижами.

Христусовка.

Плакать горючими словами.

Вёс нрмльано, тлоько что пршили. Скоропсиь!

Наногодняя ёлка.

Внематричная беременность.

Если Саакашвили войдёт в Нато, то потом, как честный человек, он обязан будет на Нато жениться.

Российка.

понедельник, 27 декабря 2010 г.

Меркуриал - это просто

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



Вообще, конечно, я по работе это сделал для юного падавана, чтоб ему проще было на сессии вникнуть в меркуриал и запомнить целых восемь самых часто используемых команд:
hg init
hg clone
hg pull
hg merge
hg up
hg st
hg ci
hg push
А, ну считая ещё hg help, то девять.

воскресенье, 26 декабря 2010 г.

Всего лишь ещё одна картинка

Про погоду

Был сегодня на улице. После вчерашней оттепели каждая машина, каждая веточка, каждая маленькая былиночка, торчащая из снега, заборы, конструкции на детской площадке - всё покрыто слоем льда толщиной 3-4 миллиметра. Кое-где ветер сдувает снег, обнажая наст, который с хрустом проламывается под моим весом. Но на дорогах не скользко, потому что выпало много снега за ночь. То есть там снежная каша. На Центральном проспекте её убирали. Мне нравится смотреть на вереницу снегоуборочных машин,которые едут одна за другой по соседним полосам; а следом за ними - несколько камазов, разбрасывающих противогололёдные реагенты. Типа такого мини-парада.

Как завтра по всему этому говнищу я буду водить машину в автошколе - не представляю.

суббота, 25 декабря 2010 г.

Про администрирование

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

Развернуть отладочные, тестовые и стабильные веб-сервера, настроить систему контроля версий и описать всякие принципы разработки - это, на мой взгляд, очень приятное и полезное времяпрепровождение, и мне нравится этим заниматься, несмотря на то, что я в этом не очень хорошо разбираюсь. Правда, может быть немного сложно сделать так, чтоб это было удобно сразу всем - кто-то не любит системы контроля версий в принципе, кто-то по религиозным соображениям не устанавливает себе Apache и PHP на свой компьютер и предпочитает работать по FTP удалённо...

Зима

Зима, Зеленоград, лесопарк между первым и пятым микрорайонами. Двадцать пятое декабря две тысячи десятого года, около полудня.



Вечер перед католическим Рождеством

Мы закрыли один-два (может, больше, я не уверен) проектов, по остальным сдали контрольные точки. А у меня ещё непостижимым образом отменилось занятие в автошколе, поэтому...

Поэтому коллектив Гринсайта решил немного выпить, невзирая на то, что следующая неделя всё равно рабочая.

четверг, 23 декабря 2010 г.

Первый выезд в город

Сожрав в одно рыло банку консервированных ананасов, я вспомнил, что сегодня впервые я выехал в город в автошколе. Кто уже водит, наверняка помнит свои ощущения от своей первой поездки.

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

вторник, 21 декабря 2010 г.

Итоговый рейтинг альбомов года

Наверняка до конца года ничего не успеет измениться, поэтому итоговый рейтинг альбомов года, который я за год слушал или услышал, можно подводить уже сейчас.
  1. Rage - Strings to a Web (2010)
  2. Catharsis - Крылья (2005)
  3. Rhapsody of Fire - Power of The Dragonflame (2002)
  4. Lordi - Deadache (2008)
  5. Helltrash - Cannibullshit (2007)
  6. Алиса - Изгой (2005)
  7. Слот - Тринити (2007)
  8. Phantom - Cyberchrist (1993)
  9. Ногу Свело - Идём на Восток (2005)
  10. Паха-Пау - Кто ты (2008)

воскресенье, 19 декабря 2010 г.

Вор и монета

Один вор украл у мужика мешочек с монетами. А из мешочка слышит голос:
- Эй, вор!
Открыл мешочек, а там одна монета ему:
- Эй, вор!
Он взял её, а монета говорит:
- Ты украл деньги у волшебника, теперь у тебя отсохнут руки.
Вор испугался и деньги выбросил. Наутро просыпается - одна рука скрючилась, как у глубокого старика, и усохла, но ещё шевелится. Побежал к знахарю, знахарь говорит:
- Ты должен вернуть волшебнику его заговорённую монету и в десять раз больше, чем ты у него украл, тогда он снимет заклятье.
Вор нашёл в сточном ручье те монеты, наворовал и назанимал ещё, нашёл того волшебника. К тому времени левая рука совсем почернела и перестала двигаться, а правая ещё двигалась, но с трудом и скрипом, как деревянная, и потеряла чувствительность. Отдал деньги волшебнику, волшебник снял заклятие. Вор обрадовался, чувствует - руки обратно наливаются жизненной силой. Пошёл к знахарю отблагодарить его за совет, смотрит - а там сидят знахарь и волшебник, деньги вора делят.

суббота, 18 декабря 2010 г.

15 лет Swamp

В пятницу вечером состоялось небольшое праздничное мероприятие, посвящённое пятнадцатилетию студенческой общажной компьютерной сети Swamp.ru. И я там был, если не в числе специально приглашённых, то хотя бы в числе специально напросившихся в приглашённые. Когда на самом деле появилась сетка Swamp.ru, никто точно не знает. Предполагается, что в декабре 1995 года разрозненные компьютерные сети (созданные, чтоб по сетке порубиться в разные игры, несомненно) в разных корпусах начали объединяться в одну большую, на коаксиале.

На концерте об этом рассказывалось, но, к сожалению, в реквизите не оказалось коаксиального кабеля. Зато кто-то из тех, что уже был старожилами в то время, когда я поступил в МИЭТ в 2001, кажется, Enemy, принёс посмотреть какую-то коаксиальную хрень, то ли терминатор, то ли разветвитель.

Как и в прошлый раз (на 10-летней годовщине, когда я ещё был студентом), были танец живота в исполнении полнотелой красавицы и конкурс "кто быстрее обожмёт витую пару". Были и другие разнообразные конкурсы и номера, с разной степенью удачности интегрированные в сценарий представления, но было отвратительное освещение. Поэтому у меня большинство фотографий получились шумными и размазанными. Не очень шумными и не размазанными вышли только две:


Бирманцы поют песни Егору.


Какая-то знакомая физиономия, где-то я его видел до этого...

пятница, 17 декабря 2010 г.

Немного увлёкся

Сначала это был небольшой запрос, предназначенный для сортировки и фильтрации по всевозможным полям нескольких связанных таблиц. Мегаинтерфейс инфоблоков битрикса не так гибок, чтоб можно было так сделать, поэтому я выбирал всё из таблиц с элементами инфоблоков и их свойствами вручную.

Потом немного увлёкся и добавил ещё чуть-чуть свойств. Потом ещё чуть-чуть. Пото ещё парочку.

71.09 КБ

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

четверг, 16 декабря 2010 г.

Про политику

Сегодня на работе, наблюдая из окна, как вертолёт садится на стадион (или расчищает его от снега), мы рассуждали о политике. И пришли к такому выводу, что Путин не один, а их несколько, и их постоянно клонируют. Если бы он был один, его давным-давно бы уже убили. На Путина постоянно совершает покушения оппозиция, самая настоящая до зубов вооружённая армия, просто в СМИ это всё не рассказывают, а рассказывают всякую муру про Киркорова и прочих. Иногда эти покушения оказываются успешными, тогда чекисты быстренько убирают остатки, и распаковывают нового Путина. Иногда клоны оказываются менее качественными, и Путин то с фингалом получается, то с засосом.

Тут должна быть зафотошопленная фотография того, как Путин здоровается в своём кабинете с Путиным за руку, но мне лень рисовать.

воскресенье, 12 декабря 2010 г.

Маленькая заметка о настройке Apache+mod_wsgi+Mercurial в Ubuntu

Собственно, большого количества подробностей не будет, так как это я, в основном, для себя пишу, чтоб не забыть, как это делается.

У меня есть: mercurial, apache2, Ubuntu 10.10, нужно установить libapache2-mod-wsgi.
В конфиге апача (где-то в имеющемся виртуальном хосте, или в отдельном) дописать:
WSGIScriptAliasMatch ^/dirname(.*)$ /path/to/hgweb.cgi$1
Там, соответственно, можно всякие штуки с авторизацией делать, с доступом через https и так далее - всё срадствами апача.

Содержимое hgweb.cgi:
#!/usr/bin/env python
#
# An example hgweb CGI script, edit as necessary
# See also http://mercurial.selenic.com/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/hgweb.conf"
# Uncomment and adjust if Mercurial is not installed system-wide:
#import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
import cgitb; cgitb.enable()
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
# эту строчку я закомментировал, а то с ней апач выдавал ошибку 500 wsgicgi.launch(application)

Содержимое hgweb.conf:
[paths]
mytestproject = /path/to/repository

Содержимое /path/to/repository/.hg/hgrc:
[web]
allow_push = *
push_ssl = false
contact = reposotory-contact
description = repository-desc

суббота, 11 декабря 2010 г.

Скан ноута

"Интересно, а что будет, если попробовать отсканировать экран нотбука?", - подумал я. И немедленно опробовал.

четверг, 9 декабря 2010 г.

Про разработку

106.45 КБ

Комментарии к изображению:

Почему Mercurial, а не git?
- для Mercurial есть клёвый TortoiseHg, а gitk это пипец;
- в Mercurial можно посмотреть, что будет отправлено в следующем пуше (hg outgoing), в git - так просто это сделать нельзя;
- "hg" набирается проще, чем "git" в командной строке.

На самом деле там у человечка, который "заказчик", IE7.

Лучшим способом разработки я считаю TDD с еженедельными билдами. Лучшим днём для накатывания релиза на сервер я считаю среду. Строго желательно НЕ понедельник, и НИ В КОЕМ СЛУЧАЕ НЕ ПЯТНИЦА!

вторник, 7 декабря 2010 г.

Осталось немного циклов

Буквально пару часов назад я подумал, что потерял 1/4 всего имеющегося у меня в наличии дискового пространства. Ан нет, не потерял ещё, но уже, кажется, в процессе. Винчестер SAMSUNG SP2514N объёмом 250 Гб и подмаунченный в /media/BRICK, внезапно перестал читаться. Торрент-клиент Deluge констатировала у всех торрентов ошибки ввода-вывода, e2fsck сказала, что файловой системы вообще не обнаружено или что-то в этом роде. Ну я, понятное дело, расстроился.

Выключил компьютер, вынул шлейф из винчестера, подумал, засунул обратно, включил компьютер. Всё определилось и работает (тьфу-тьфу-тьфу) нормально. S.M.A.R.T. говорит, что винчестер думает о себе, что он ок. Посмотрел данные - мамочки, 4 года работы (ну, практически непрерывной).
Время раскрутки 5,7 сек.
Циклов раскрутки и остановки 1550.
Циклов включения и выключения 883.
Аппаратных коррекций ошибок более 3 миллионов (я так полагаю, что это означает, что уже немного циклов осталось). Причём, пока я это писал, их количество заметно увеличилось.

Вот так-то. Самое важное я оттуда уже забекапил; размышляю теперь о покупке нового винчестера. А жена ворчит: "на фиг тебе эти твои железяки".

АААаааа! Провёл быстрое тестирование поверхности диска - аппаратных коррекций стало 4,2 миллиона.

У второго винчестера такой же модели и проработавшего почти столько же времени этих ошибок всего 4995.

Про вождение и работу

Вчера в 7 утра я приехал на автобусе к автошколе, познакомился с инструктором, и мы поехали на автодром. Там поменялись с инструктором местами (я сел за руль), и впервые в своей жизни я управлял машиной. Трогался с места, на первой передаче медленно ездил по автодрому, и тормозил. Ну и глох при трогании, естественно. Как оказалось, трогаться ещё сложнее, чем я представлял. Надо действительно очень нежно отпускать сцепление и очень нежно нажимать на газ.

Инструктор попался терпеливый и спокойный, в машине не курил, сильно на меня не ругался. Один раз даже похвалил меня за особо удачное трогание. Когда стало маленько посветлее, где-то уже в девятом часу утра, я попробовал выполнить упражнение "змейка", ну и, разумеется, с первого раза не вписался во все повороты. Со второго раза более-менее вписался, а потом мы поменялись местами снова, и поехали обратно в автошколу.

От вождения осталось ощущение полёта, наверное, что-то подобное чувствуют пилоты, когда впервые управляют самолётом самостоятельно, а ещё дети, когда впервые едут сами на велосипеде без дополнительных боковых опорных колёсиков. И ощущение собственной неполноценности, конечно, тоже.

На работе я полдня воевал со строптивым компонентом lists, к которому, по всем известной причине (Битрикс - беспомощное говно) отсутствует какая бы то ни была документация, кроме записей в блогах разработчиков.

Потом я нарисовал табличку, в которой в заголовках столбцов изобразил чашку и большие буквы М. Девнулл спросил, что это за табличка, а я сказал ему, что это специальная табличка, чтоб считать, сколько чашек чая я выпил, и сколько раз сходил поссать. И стоило мне выйти, Девнулл взял и всем про эту табличку рассказал. Теперь меня точно будут считать сумасшедшим.

понедельник, 6 декабря 2010 г.

воскресенье, 5 декабря 2010 г.

8 кубиков



Картинка из детской книжки. Там картинки всяких предметов количеством от 1 до 10, и всё там нормально, кроме этих вот кубиков. На мой взгляд, их тут никак не меньше десяти.

Сегодня мы придумали замечательную игру, в которую играли с мелким на улице, пока гуляли. Называется "это такая штука". Надо загадывать всякие штуки, кто первый отгадал, загадывает дальше.
- Это такая штука, из которой добывают дрова. (дерево)
- Это такая штука, которую кладут сверху на голову. (шапка)
- Это такая штука, которая нужна, когда моешь руки. (руки)
А началось всё с того, что я забыл слово "сочник" и пытался объяснить, что же именно я хочу :) (это такая штука, которая пирожное с творогом и стоит 22 рубля, но не заварное кольцо).

Ubuntu 11.04 alpha 1

Спустя несколько дней после выхода первой альфа-версии релиза 11.04 дистрибутива Убунту Линукс я скачал себе её посмотреть. Честно признаюсь, я хотел взглянуть на интерфейс новой обещанной графической оболочки Unity, настрогать скриншотов, а потом горестно восклицать: "какое говно! Пора искать дистрибутив получше". Однако, моим планам не суждено было сбыться, так как Unity у меня не запустилось вообще, а запустился классический десктоп GNOME.

Итак, 11.04. Установщик стал совсем красивый-прекрасивый.
67.08 КБ

суббота, 4 декабря 2010 г.

Наконец-то нормальная зима



Наконец-то в Зеленограде началась нормальная зима. Нормальная в моём понимании - это когда есть снег, температура где-то -6°C, ветра мало, нет поземки. А то ветрище ледяной и снега нет, то морозище, то оттепель. Кстати говоря, что-то теплеет, судя по градуснику, похоже, что впереди всё-таки снова оттепель вместо нормальной зимы.

А ещё я купил себе ещё одну клавиатуру, теперь у меня их дома 5 штук.

Что я слушал в последнее время

Ha-Lela — Pabudimas (1998)

Паган-фолк-метал. Сначала я не мог долго понять, на каком языке поют. Оказалось, на литовском. Музыка довольно заунывная, но вполне себе слушабельная. Точнее, была бы слушабельная, если бы качество записи, которая мне попалась, было бы получше. Местами всё сливается в однообразный шум, в котором слышно, как бухает барабан. Такое ощущение, что записывались не в 1998, а в 1989, и не в литовском городе Утена, а в гараже под Тверью.

четверг, 2 декабря 2010 г.

Skyline / Скайлайн

Это такое типа фантастическое кино про конец света по версии "всех попытаются убить пришельцы из космоса". Мы с женой сейчас вот посмотрели. Это какое-то говно, честное слово. Ну спецэффекты, да. Кроме спецэффектов больше смотреть не на что, да и те так себе. По сценарию - жалкая попытка повторить ошеломительный успех "Монстро". Тоже какая-то непонятная штука, которую не берёт даже ядерная боеголовка, летает над городом, но тут она синеньким светом ворует людей, делая себе из их мозгов новых роботов, чтоб воровать людей.

А в самом конце, вместо того, чтоб дать главным героям счастливо быть превращённым в роботов, вообще какое-то говнище придумали. Причём придумать-то придумали, а вот продолжать снимать не стали, оставив типа недосказанность.

А главный герой вообще урод, псих и придурок. Не ходите в кино и не смотрите.

Второй день

Сегодня второй день как я работаю на новой работе. Кто-то считает её лучшей во Вселенной, а я пока ещё не определился. Это студия greensight.ru.

Вчера пришёл, поработал день, ушёл. А сегодня мы ездили к клиенту. Кто-то - подписать договор, кто-то - получить боевое крещение знакомством с нереально крутыми админами. В итоге программу-минимум я таки выполнил - сейчас у клиента в демилитаризованной зоне работает виртуальная машина, на которой стоит ненастроенный Ubuntu Server 10.10, туда снаружи прокинут ssh и http, а ещё у меня три огрызка бумаги с записанными паролями и адресами. И визитка.

Да, мне бы тоже нужна визитка. Приезжаю я такой небритый, в свитере, с ноутом с дохлой батарейкой, даю визитку - опа! И сразу видно, что человек серьёзный, а не хуй с горы :)

Впечатления от новой работы:
1) холодно в офисе, надо нормально заклеить окна, которые тут под высоченный потолок;
2) дохера всего, во что надо быстро вникнуть - и это круто! Нечего расслабляться и месяцами пережёвывать одно и то же;
3) служебный ноут сука тяжёлый, надо из него батарейку вынуть, всё равно она дохлая.

среда, 1 декабря 2010 г.

Опять двадцать пять

6.02 КБ

И это ещё не предел, так как солнце не встало (несмотря на то, что я уже встал).

понедельник, 29 ноября 2010 г.

Очередная порция твитов

<stdio.h></stdio.h>

Общественное Движение Гопников Всея Руси предлагает провести собственными силами Всероссийскую Перепиздь Населения.

Лицемерик сочинил лимерик.

Чайки - души погибших. Над морем - моряков, над порогами - туристов, над свалками - бомжей.

Интересно, с какого раза эти кретины правильно смогут записать адрес sobaka@....com под диктовку по телефону.

Database backup error. Stuppid by user.

Те, кто не слушает, не будет услышан.

Alles Gute!

46.81 КБ

воскресенье, 28 ноября 2010 г.

Снова каталонский засранец

Засранец это такой засранец! Да и паста для моделирования фирмы Jovi, как выяснилось, подходит не для всякого моделирования, и больше напоминает глину, чем пластилин. Короче, засранец в процессе высыхания маленько потрескался и развалился на четыре составные части, из которых я его собрал - подставочку, туловище, голову и какашечку. Теперь остаётся только дождаться, пока оно всё до конца высохнет, и склеить перед покраской. Если к тому времени оно не развалится вообще.



И ещё я не придумал пока, что делать с трещинками, которыми покрылось туловище. Если бы у меня была ещё эта стрёмная паста для моделирования, можно было бы попробовать замазать их сверху, как шпатлёвкой, но остатки мы пустили на всякие мелкие кубики и шарики.

И в качестве бонуса, автор разваливающегося засранца:

суббота, 27 ноября 2010 г.

Каталонский засранец

Несмотря на то, что я никогда не был в Каталонии, благодаря всяким интернетам я в курсе о том, что в Каталонии есть обычай дарить друг другу на рождество фигурки засранцев. Они там такие весёлые ребята, что делают фигурки срущих всех подряд - политических лидеров, героев сериалов и комиксов. Не обошли и Путина с Обамой, и папу Римского, и даже королеву Великобритании. Ну можно почитать поподробнее и посмотреть картинки, поискав в интернете по слову "caganer" (не путать с Леонидом Кагановым).

Так вот, я решил тут сделать фигурку засранца самостоятельно. Для этого я купил пару упаковок терракотовой пасты для моделирования Jovi и быстренько соорудил из неё фигурку. Эта паста для моделирования обладает свойством засыхать и застывать на воздухе, как настоящая глина, но не нуждается в обжиге. Надеюсь, нормально высохнет и застынет, не растрескавшись и не развалившись. Тогда можно будет раскрасить акрилом.


На снимке - самый ответственный момент: приделывание какашечки.

четверг, 25 ноября 2010 г.

Линеечки для форумов

У нас в качестве бесплатного приложения к магазину игрушек есть линеечки для форумов (их можно вставлять в подпись). Когда-то давно эти линеечки запрограммировал для моего начальника какой-то парень, знакомые начальника и их родственники нарисовали фоны и бегунки, ну и всё типа работало. Но тот парень запрограммировать-то запрограммировал, но про высокую нагрузку он тогда, наверное, не слышал ещё, потому что линеечки реализованы так:
1) линеечка находится по адресу, скажем, /cache/123.png. На самом деле папки cache нет, и запрос обрабатывается директивой ErrorDocument в апаче, и редиректит его на скрипт cache.php.
2) скрипт берёт номер линеечки (123 в нашем случае), лезет в базу, смотрит, когда в последний раз линеечка была обновлена, если надо обновить, то перерисовывает её, файлик сохраняет в папку cacheimages, ну и потом отдаёт его.
Каждый раз лезет в базу, при каждом запросе каждой линеечки. Четыреста линеечек притормаживают сервер, восемьсот линеечек потребляют 90% процессорного времени, тысяча линеечек кладёт сервер :)

Линеечки я быстро соптимизировал - поставил перед апачем Nginx в качестве кэширующего фронтэнда и настроил его примерно так:
error_page 404 =200 /cache.php;
location /cache.php {
proxy_pass http://127.0.0.1:80$request_uri;
}
location /cache {
rewrite ^/cache/(.*).png$ /cacheimages/$1.png break;
}
То есть Nginx сначала пытается отдать файл с линеечкой. А если его его нет, то только тогда уже передаёт вызов апачу, чтоб тот со своим еррордокументом подцепил cache.php, тот слазил в базу, обновил линеечку... ну и каждый день в полночь всё содержимое папки cacheimages, в которой лежат сделанные за день линеечки, удаляется.

Всё работало прекрасно до тех пор, пока начальник не решил перенести линеечки на отдельный сервер вместе со всеми парсерами, и не арендовал под это дело серверок с FreeBSD на каком-то хостинге. Я там всё установил, но вот почему-то Nginx у меня не захотел настраиваться. И с такими настройками, и с сякими я его запускал - не работает так, как надо. У меня сложилось впечатление, что он игнорирует директиву error_page. Может, надо пересобрать его с какой-нибудь особенной опцией, или в конфиге где-нибудь какой-нибудь флажок включить или написать чего-нибудь? Апач, например, игнорирует RewriteRule, если не указать FollowSymLinks или ещё какой-то *SymLinks в Options. Может, Nginx тоже как-то так устроен?

27

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


Картина называется "бомж".

А эта картина называется "Иешуа Га-Ноцри".

среда, 24 ноября 2010 г.

Про поросят, работу, автошколу, ну, короче, про всё

Мне ночью приснился кошмар. Снилось, что у нас установлен старый телефонный аппарат, и он звонит, хотя отключен от сети. Я взял его в руки, чтоб посмотреть, чего это он звонит, а за провод, уходящий за стол, кто-то или что-то дёргает. Проснулся от охватившего меня ужаса, разбудил жену и заставил её лечь на край, а сам лёг к стенке.
До сих пор, как вспоминаю, неприятно.

А вот те самые поросята, на которых я отлаживал какую-то штуку в админке и во время финального тестирования на промышленной базе забронировал их у поставщика, а потом бронь снять забыл. И их пришло 56 штук. За месяц где-то штук 10-15 уже раскупили, ну и я одну купил.

Древесина отличного качества, гладкая, прочная, без заноз и прочей дряни. Детальки аккуратные, покрашены даже почти без смещения цветов относительно друг друга, и краска ещё не облетает.


Типичные ошибки развёртывания сайтов

Оказывается, так тяжело работать техподдержкой :) На днях один товарищ решил установить себе LAMP и на него попробовать мою кассу для ведения семейного бюджета. Я её делал, в основном для себя, поэтому настойчиво никому не рекомендую, но кто хочет - тот себе её устанавливает и пользуется. Исходники открыты. Таких человек, которые не стали пользоваться имеющимися в интернете бесплатными решениями, а решили опробовать мой велосипед, оказалось двое - МБТСирожа и товарищ Слава Пэ. Оба ни разу не веб-разработчики, поэтому наступали на грабли, которые я научился обходить на автомате ещё несколько лет назад и, разумеется, про которые я их не предупредил :) Я же изо всех сил старался им помочь, общаясь посредством мгновенных сообщений, и, в итоге, оба, кажется, всё же преуспели :)

Поэтому потом я решил написать этот пост, посвящённый основным проблемам и ошибкам, с которыми все сталкиваются во время развёртывания сайтов на платформе LAMP.

1) нехватка прав доступа.
Ошибка 403 чаще всего свидетельствует именно об этом. Апач и пхп просто не имеют прав доступа на чтение файлов и доступа в поддиректории. Обычно все ставят на директории права 755, а на файлы - 644. Причём права надо ставить рекурсивно. Может быть так, что расположенный в корне файл php запускается, но вываливается с фатальной ошибкой при первой же попытке подключить другой файл (командой require() или require_once()), хотя вы твёрдо уверены, что требуемый файл присутствует именно там, где надо. А всё дело в том, что файл-то требуемый, хоть и лежит, где надо, но либо в папке, куда апач не может зайти, либо сам файл запрещён для чтения апачу.

2) суровый AllowOverride.
В конфиге апача есть директива AllowOverride. Она указывается для каждой директории и её влияние распространяется рекурсивно на все поддиректории. По умолчанию AllowOverride имеет значение None, что запрещает какое-либо изменение настроек и параметров для любых поддиректорий сайта. И, само собой, в таком случае всё содержимое файла .htaccess будет проигнорировано. Я уже говорил о том, что пишу AllowOverride All и не беспокоюсь о том, что .htaccess не подцепится.

3) забытые модули апача.
Это ну просто наитипичнейшая ошибка :) В папке /etc/apache2/mods-enabled лежат симлинки (символические ссылки) на файлики из /etc/apache2/mods-available, который загружают и конфигурируют модули для апача. Если сайт работает на php, то там должны присуисивовать @php5.conf и @php5.load. А если используется реврайт, то и @rewrite.load.

Но иногда попадаются совсем странные ошибки. Например, как-то раз я не мог понять, почему require_once() выдаёт ошибку, хотя требуемый файл лежит там, где надо, и права доступа к нему есть. Оказывается, путь к нему выглядел как /var/www/site-folder//subdir/file.php - обратите внимание на двойной слэш - и потому и не подцеплялся. Причина была в том, что функция выглядела так:
require_once($_SERVER['DOCMENT_ROOT'].'/subdir/file.php');
А $_SERVER['DOCUMENT_ROOT'] берётся из директивы DocumentRoot из конфигурационного файла апача. Стоило там убрать закрывающий слэш и перезапустить апач, как всё заработало.
Причём сейчас на Ubuntu 10.10 Maverick Meerkat (2.6.35-23) + Apache 2.2.16 + PHP 5.3.3 подобное я повторить не смог (может, какая-то настройка у пхп есть по убиранию двойных слешей, или патч какой-то в glibc, я не знаю), а вот несколько месяцев тому назад ошибка легко воспроизводилась.

понедельник, 22 ноября 2010 г.

Знаки и ягоды

Наконец-то я реализовал свою давнюю мечту по регулированию людских потоков у себя на работе в узком коридорчике. Бывает, что стоишь и хочешь выйти, а навстречу целый косяк операторов да курьеров, кто к бухгалтеру, кто в туалет, кто на кухню. А как проходят мимо, так уж и забываешь, зачем надо было идти.





Ну и пара картинок на избитые мотивы. Пока мы ждали курьера, который за нами должен был заехать и отвезти обедать в "Диалог", я сходил, взял фотоаппарат, и сделал несколько снимков куста боярышника (по-моему, это всё-таки боярышник), который растёт под окнами офиса.



суббота, 20 ноября 2010 г.

Пассатижи

iPad

Вчера я впервые подержал в руках айпад. В принципе, прикольная игрушка благодаря всяким прикольным фишечкам, но по мне так совершенно бесполезная в силу своих технических ограничений.

Дело было так.

пятница, 19 ноября 2010 г.

Пупсик Paola Reina

Есть у нас в магазине игрушек пупсики одной испанской фирмы под названием Paola Reina. Они, пупсики эти, замечательны двумя вещами: 1) одни на вид симпатичны, в отличие от ужасных пупсиков, которые были у девочек из моего советского детства, 2) они, судя по описанию на разных сайтах, "приятно пахнут ванилью или фруктами".



Вы посмотрите, какая милашка. У меня даже не возникает гленофобии от этого пупса. Но рассказать я хочу про то, как паоловские пупсы "приятно пахнут ванилью". Да, действительно, пахнут ванилью! Сладенький такой, приятный в небольших количествах запах. Очень стойкий. Мытьё с хозяйственным мылом его не отбивает и не снижает интенсивность.

Принёс я этого пупса домой, мы с женой его понюхали и положили в шкаф, чтоб он там в шкафу дожидался, пока его подарят. Шкаф провонял этой ванилью, несмотря на то, что пупсик был в пакете. Точно такой же запах ванили я обнаружил, зайдя в магазин детских кормов и товаров "Кроха+" на площади Юности. Зашёл туда, и даже принюхиваться нее пришлось - в нос шибанула ванилиновая вонь.
- Паола Рейна? - спросил я, и тут же увидел с десяток этих милашек, сидящих на витрине. Ванилином в "Крохе+" пахнет всё - детские каши, упаковки подгузников, коляски и автокресла.

У нас дома тоже теперь установился стойкий аромат ванили. Дочь нарекла пупсика Олей (это единственное имя пока, которое она может выговорить нормально), мы с женой называем этого пупса не иначе, как Вонючкой. Прихожу домой с работы и чувствую ванильный аромат пупса Оли. Он меня уже навязчиво преследует - я чувствую запах ванилина в магазинах, в офисе, в кафе и общественных уборных.

На вкус, кстати, он совершенно отвратительный - резина она и есть резина.

среда, 17 ноября 2010 г.

Подсветка синтаксиса

У меня так вот:
109.93 КБ
Подписал, где что для того, чтоб если кто-то не знаком с си-подобным синтаксисом, то тому было проще разобраться, где какая раскраска.
Пользуюсь редактором KomodoEdit, табуляция в четыре пробела табами.
На скриншоте - начало функции отсылки сообщения по почте по протоколу SMTP через сокеты (умеет отсылать письма с вложениями и AUTH PLAIN).

вторник, 16 ноября 2010 г.

Социальная реклама

Нарисовал тут на досуге плакатик, призванный повысить безопасность дорожного движения. Я его распечатал и повесил на стену, где у нас стенгазета. Курьеры иногда читают её, пока ждут операторов, и ржут, может, плакатик увидят и хоть чуточку будут аккуратнее на дорогах.

18.24 КБ

И ещё один аналогичный, уже для нашего айтишного брата.

27.58 КБ

понедельник, 15 ноября 2010 г.

Про работу и ICQ

Главная новость сегодняшнего вечера - от пиджина (libpurple) отвалились протоколы ICQ. Что мой (на картинке), что супруги. Я так слышал, что сейчас все права на ICQ принадлежат компании с красивым названием "Digital Sky Technologies" и гнилым нутром. Тем самым, которые владеют mail.ru и "одноклассниками". Что один, что второй сервисы - беспробудное дерьмище, теперь вот туда же отправляется и проприетарный протокол ICQ.

9.69 КБ

Когда-то не так давно, точно не помню когда, но когда ещё ICQ принадлежал фирме AOL, аоловцы внезапно что-то меняли в айсикьюшном протоколе, что отсекало "неродные" клиентские программы. Потом их разработчики находили особенности протокола, позволявшие идентифицировать "родные" клиенты, мимикрировали под них. Это потому что в "родном" клиенте ICQ показывается реклама, а в неродных - нет, и поэтому для владельцев компании AOL было невыгодно использование их протокола сторонними клиентами. Вроде всё утряслось, но внезапно рашен бизнес детектед! Всё по-новой, как меня это достало. А потом всякие родственнички обижаются ещё, чего это мы не в онлайне... хорошо хоть, у них ещё скайп есть, и то ладно.

DICQ! (читается, по задумке автора, то есть меня, как "дайсикью", что должно наводить на мысли о то, что это немного созвучно словосочетанию "die icq", что в переводе с аглицкого означает примерно "да здравствуют открытые протоколы и свободное программное обеспечение! Долой поганую проприетарщину!").

Ну и о погоде. Написал сегодня заявление об увольнении. У нашей несравненной бухгалтерии и отдела кадров в одном лице, как мне показалось, чуть ли не навернулись на глаза слёзы. Начальник тоже немного расстроился. Мы с ним долго говорили на кухне; для меня это был довольно тяжёлый разговор. Поэтому я после работы пошёл с Герой в "Темпл-бар" и мы там с ним напились и поговорили.

воскресенье, 14 ноября 2010 г.

Про погоду

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

Ну, баг в Deluge 1.3.0 - названия трекеров и статусов в списке слева съехали и выглядят уродливо. Но это ничто по сравнению с чем? Конечно! С апплетом уведомлений! Проблему с регулятором звука я решил, я просто засунул в автозагрузку команду, стартующую стандартный гномовский апплет звука, и он сам в области уведомлений появляется. Правда, несколько выпадает из черно-серо-оранжевого убунтовского дизайна, но это не страшно.

Во-вторых, это индикатор раскладки клавиатуры. В нём буковки заменили на картинку клавиатуры, одинаковую для всех раскладок. Но хотя бы лампочка скроллока горит, когда раскладка русская. А обычный апплет уведомлений, которым, наверное, так гордится Марк Шаттл-в-рот, просто ужасен. Это всё очень плохо и грустно, а больше всего меня напрягает желание ребят из Canonical заменить GNOME на Unity. Интерфейса Unity я пока не видел и ничего сказать про него не могу пока что.

Но думаю - а не стоит ли в новый год войти уже с новым дистрибутивом?

Так-с, ну и про погоду. На улице сегодня +5...+9, пасмурно весь день. Не ноябрьская какая-то погода. Помню, когда я был маленьким, на мой день рождения всегда было холодно и сугробы были по колено. Мама рассказывала, что в день, когда я родился, был жуткий мороз и всё засыпано снегом. А сейчас мой день рождения обычно проходит в слякоти. Ни ничего, для того, чтоб навалило снега и ударил мороз, время ещё есть.

пятница, 12 ноября 2010 г.

Установка и настройка LAMP-сервера под Ubuntu

Для меня данная тема является настолько тривиальной, что я даже боюсь, что меня засмеют знакомые. Тем не менее, некоторым это может пригодится.

LAMP = Linux + Apache + MySQL + PHP. Это самая, наверное, ходовая комбинация программного обеспечения на веб-серверах мира. Ну, как устанавливать Ubuntu, я рассказывать не стану. Начнём с установки всего, что необходимо.

sudo apt-get install php5 apache2 mysql-server php5-mysql

четверг, 11 ноября 2010 г.

Про производительность труда

Как вчера и собирался, сегодня я переключил хамстер в постоянный режим учёта рабочего времени, даже когда включен скринсейвер и компьютер считается простаивающим. Это получше. Хотя мне немного стыдно показывать такой свой график рабочего времени (а то я работаю непрерывно меньше 10 часов в сутки), я всё же покажу.

36.05 КБ

Сегодня был необычный денёк. Обедал я почти полтора часа, потому что после обеда пошёл на склад и там искал упор от своей дрели. Не нашёл - вот, блин, принесёшь на работу дрель попользоваться, ведомый благими намерениями, всё ведь проебут! Потом пролил чай на стол, и минут 20 ликвидировал последствия, так что и чаепитие незапланированно затянулось. Но в целом так и получается, похоже, что суммарно 20-30% времени (в обычный день, без халявы и авралов) я трачу на обед, чай, чтение rss, жж и всякой почты (потом через неделю можно будет посмотреть статистику поточнее, когда она за побольше дней наберётся). Интересно, это очень высокий параметр и я должен больше времени уделять рутинной нудной ерунде, или это у всех так и это нормально?

среда, 10 ноября 2010 г.

Учёт рабочего времени

Решил я на работе вести учёт своего рабочего времени. Для этого я установил hamster-applet для гнома. Сел читать жж - ставлю статус "читаю жж", сел работать - ставлю статус "работаю", ушёл срать - ставлю статус "сру". Он суммирует время, которое у меня был включен тот или иной статус, а потом показывает статистику.

Вроде удобно. Но есть пара минусов. Во-первых, неразрешимая дилемма - считать или не считать статус, когда компьютер простаивает (включен скринсейвер). Сейчас у меня не считается, и почти три часа из рабочего дня является неучтённым временем. Ну час, допустим, я обедал. Но я ставлю статус "обедаю", ухожу, врубается скринсейвер, статус сбрасывается. Получается, я обедал 2 минуты, а еще 58 - неизвестно. Остальное неучтённое время - срал, жрал, разговаривал с начальником и стажёром (о работе, между прочим, разговаривал), помогал девчонкам разобраться с админкой и линуксом или просто забыл поставить статус "работаю".

Скорость интернета

С помощью простенького флешового сервиса speedtest.net я провёл ряд экспериментов по измерению скорости интернета. Скорость измерялась до ближайшего узла spedtest.net, если не ошибаюсь, хостящегося где-то в Москве у netbynet.ru.

57.62 КБ

Верхняя картинка - это мой домашний резервный канал, предоставляемый МГТС через телефонную лапшу (тонкий неэкранированный невитой плоский провод из двух медных жил, разделённых небольшим расстоянием). Ну там понятно как устроено - к телефонной розетке подключен разветвитель, одна пара идёт к телефону, другая - к модему. И кругом мешанина проводов - это самой телефонной лапши.

Вторая картинка - это мой домашний основной канал, Акадо, приходящий ко мне через коаксиальный кабель.

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

вторник, 9 ноября 2010 г.

О чём говорят мужчины

Как всем известно, живу я в далёкой-далёкой провинции, куда женская мода приходит через 5-6 сезонов после столицы, а что уж и говорить о произведениях культуры и искусства. Вот, к примеру, когда все, кто только мог, уже посмотрел по сто раз фильм "О чём говорят мужчины" (в главных ролях "Квартет И"), уже нахваливать его устали, я только-только его посмотрел.

329.13 КБ

Ничего фильмец, хороший, мне понравился. Только вот... смутило меня в нём то, что, судя по фильму, все мужики изменяют жёнам, даже вот этот самый замечательный семьянин Лёша, у которого красивая жена мелькала в самом начале фильма в белье (одевалась) и, судя по сюжету, две замечательные дочки и странная любовь к фашистам.

Поэтому я немного расстроился, потому что до конца фильма видел в нём (ну, точнее, хотел видеть) хотя бы единственного честного мужика. Поэтому и написал в полпервого ночи (когда досмотрел), что всё как-то не так.

пятница, 5 ноября 2010 г.

Про пиво и космических торговцев

У меня на кухне лампочка взорвалась. Очень эффектно. Хорошо, что это обычная ламка накаливания, я не какая-нибудь энергосберегающая. Просто осколки собрали, выкинули, никаких особых мероприятий по демеркуризации проводить не надо. Под впечатлением я написал научно-фантастический рассказ.

Про пиво и космических торговцев

Торговцы у нас никогда не останавливались раньше. Я имею в виду не торговые караваны у нас в деревне — это-то иногда случалось, не без этого. Я имею в виду Космических Торговцев и наш мир в целом. Бывают миры, куда Торговцы заглядывают раз в сто лет. Там к месту Базара за несколько лет из самых разных уголков планеты выходят караваны, гружёные драгоценными металлами, полезными ископаемыми, ценными породами древесины и разными прочими странными и бесполезными вещами, которые почему-то Торговцам очень нравятся, а уходят оттуда с разными волшебными и странными (а подчас и страшными) вещами, которые выменивают у Торговцев. Бывают миры, где Торговцы бывают раз в несколько лет, и не в одном месте, а в разных. Там, говорят, они продают металлы, древесину и прочее в обмен на те самые странные и страшные вещи. Бывают миры, где Торговцы бывают раз в несколько недель, меняя там вообще неизвестно что на неизвестно что. А есть ещё, говорят, мир под названием Базар, где сплошняком — сплошной Базар и сплошные Торговцы, и выменять там можно что угодно на что угодно, без ограничений, которых придерживаются Торговцы в разных населённых мирах, в зависимости от уровня развития этих миров (в основном это касается, конечно, оружия и всяких высоких технологий, которыми можно нечаянно разрушить галактику, если нажать не туда). А есть миры, куда торговцы обычно не заглядывают — например, наш.
То ли в нашем мире совсем нет ничего такого, что бы было им интересно, то ли добираться до него неудобно, но, кажется, никогда раньше Торговцы у нас не останавливались.

Powered by

Во время посещения сайта dragonflybsd.org я наткнулся на список предлагаемых ими бейджиков для сайта. Ну, то есть если у вас сайт крутится на DragonFlyBSD вам неплохо бы в самом низу в футере каждой страницы разместить в виде ссылки такую картинку, которая вела бы на страницу dragonflybsd.org.

С одной стороны, хотлинковать картинку с их сайта неприкольно - вдруг он отвалится или они поменяют адрес картинки, или вовсе её удалят? А, с другой стороны, если не хотлинковать, как же они узнают посещаемость вашего сайта, который работает на компьютере, на котором установлена их ОСь? Конечно, это знать им необязательно, но почему бы и нет. Некоторым, может, даже приятно будет, что не только на них ссылку ставят, но и картинку от них берут, может, они там рейтинг какой-нибудь рисовать будут или ещё что-нибудь.

Поэтому я придумал решение, чтоб картинка показывалась в любом случае, и попробую объяснить на примере их же бейджика:

14.61 КБ

Ссылка лежит в диве, например, размеров 120 на 50 пикселей, у которого в свойствах цсс указана картинка, являющаяся локальной копией их бейджика. А внутри ссылки - картинка с их сайта. Пока она не подгрузилась, пользователь видит только фон.

Вот если бы у меня был сайт, то, скорее всего, его низ бы выглядел как-нибудь так:

38.29 КБ

четверг, 4 ноября 2010 г.

Logitech Internet 350

У меня на работе была чёрная клавиатура. Это было нормально до недавнего времени, когда по вечерам стало уже темнеть рано, настолько рано, что я не успевал уйти с работы до того, как неженки начинают ныть, что их глазки устают от контрастного освещения, и включают свет. А когда горит верхний свет, а от окна света нет, я вижу на своей чёрной клавиатуре вместо букв на клавишах только блики. Я терпел, терпел, потом пошёл в магазин, среди завалов клавиатур выбрал более подходящую белую, без извращений и наворотов. Она мне так понравилась, что я оставил её себе дома, а ту старую, которая была дома до этого, отнёс на работу.

Новая клавиатура - Logitech Internet 350. У неё есть мультимедийные клавиши. Если бы они не работали в линуксе, возможно, я бы эту клавиатуру отнёс бы на работу (чтоб они не работали в линуксе там), но они работают! И регулировка громкости, и все остальные, причём можно настраивать, какая что делает. И где.

Расположение кнопок не такое, какое мне нравится больше всего, но тоже ничего, нормально.


Кнопки нажимаются тихо, но не бесшумно. Предел свободного хода до нажатия около 0.5 мм, потом, после небольшого усилия, кнопка мягко проваливается до щелчка. Глубина нажатия примерно 3-4 мм. Символы чуть выступают над поверхностью кнопок (наверное, это обусловлено процессом их нанесения), то есть человек с чувствительными пальцами может придрочиться печатать натурально вслепую :) А вот пробел нажимается очень мягко, практически бесшумно. Это очень круто, потому что пробел - самая часто нажимаемая и часто самая громко клацающая клавиша.

Функциональные клавиши - delete, insert и так далее - расположены именно так, как, по моему мнению, должны быть расположены. Любое другое их расположение и добавление к ними клавиш типа выключения компьютера я считаю неприемлемым. Enter должен быть большим. На некоторых клавиатурах Enter занимает всего одну строчку, а между ним и Backspace размещена кнопка "\". Это пипец.

Сама кнопка "\", расположенная справа от "Э", мне обычно не мешает, но иногда я попадаю по ней, когда целюсь в "Э" (когда мне нужна кавычка), но это происходит обычно не очень часто. На некоторых клавиатурах она бывает расположена справа от "=", но, так как я уже привык к широкому Backspace, я на таких клавиатурах фигачу по ней. Тогда получается что-то типа "привеь\\\\\\" и я психую :) У меня такая фигня на второй клавиатуре, которая лежит дома. Если бы "\" была расположена справа от "/" за счёт уменьшения ширины правого Shift, то это было бы стопудово неудобно, потому что тогда вместо запятых я бы точно ставил "\.".



Короткий левый Shift меня не напрягает совершенно, а по дублёру "\" я не попал ни разу, целясь в "Я". Кстати, в английской раскладке эта кнопка печатает открывающиеся и закрывающиеся треугольные скобки, наверное, это удобно при вёрстке HTML, надо будет попробовать. Помнится, когда-то я видел экзотическое расположение кнопок Tab и CapsLock (то ли какой-то из них не было, то ли она была очень маленькой за счёт ещё какой-то добавочной кнопки), но это совсем редкость. Как мне кажется, большинство производителей на всех моделях располагает эти крайние левые кнопки одинаково, даже на ноутбуках.

Короче, я доволен.

Шаблоны проектирования

Некоторое время тому назад, когда я поделился с друзьями вопросами, которые я подготовил для проведения собеседования, чтоб выяснить уровень подготовки кандидата на должность программиста, Мисата раскритиковал их, и в его критике звучали такие термины, как "отличие ключа от индекса" и "шаблоны проектирования". Чем отличается ключ от индекса я знал (на всякий случай уточнил свои знания в википедии и узнал заодно, что такое нормальные формы баз данных и почему их лучше нормализовать), а вот про шаблоны проектирования я как-то был не в курсе. Но ничего по этому поводу, разумеется, не сказал, я тут же побежал и купил книжку под названием "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" и взялся её читать.

Пока я читал, я плакал, кусал руки и обивку дивана и дрыгал ногами от обилия открывающихся передо мной Великих и Секретных Тайн Объектно-Ориентированного Программирования. Чего только стоит фраза (из раздела о порождающих паттернах):
Абстрагируя процесс создания объекта, эти паттерны предоставляют вам разные способы прозрачно ассоциировать интерфейс с его реализацией в момент инстанциирования.

И вся книга написана таким языком. Неудивительно, что я пока не осилил её и на треть :) зато когда дочитаю, захватить мир станет гораздо проще, правда, не факт, что к тому времени мне это будет уже надо.

Но сейчас, к сожалению, я сейчас отвлёкся от впитывания Великих и Секретных Тайн, поскольку читаю (и рассматриваю картинки) официальный текст ПДД от 2010 года с цветными иллюстрациями и комментариями. Для меня явилось откровением, что по дороге нельзя ехать по крайней левой полосе, если свободны правые, и что ограничение скорости всего 110 км/ч на автомагистралях.

среда, 3 ноября 2010 г.

DragonFlyBSD 2.8.2

Совсем недавно вышел релиз 2.8.2 операционной системы DragonFlyBSD. И я решил себе поставить её на виртуальную машину поиграться. Ну, поставил, поигрался... честно говоря, я что-то DragonFlyBSD не осилил.

Итак, по порядку. Устанавливается быстро. Но есть некоторые тонкости. Во-первых, при установке в обязательном порядке требует себе отдельный раздел под /boot (без него вообще отказывается устанавливаться), и по умолчанию делает его в 768 мегабайт. Я сделал поменьше, и установщик выдал ошибку - дескать, не удалось разметить диск. В следующую попытку я оставил разметку по умолчанию как есть, и всё заработало. Вторая тонкость - в настройке сети. Во время установки получение адреса по дхцп не работает, потому что дхцпдемон не может залогиниться под пользователем nobody, полагая, что его нет (на самом деле есть). После перезагрузки сеть работает нормально.

DragonFlyBSD имеет общие корни с FreeBSD, более того, можно даже сказать, что когда-то она была от фряхи ответвлена с целью внесения улучшений и изменений в ядро. DragonFlyBSD, как я понял, оптимизирована для работы под высокой нагрузкой. Ну, то есть там всякие динамические балансировки всякие в ядре, и так далее. Особенно меня поразило описание файловой системы hammer, которую они сами придумали и используют. Эта файловая система требует для работы жёсткие диски объёмом не менее 50 Гб, потому что она постоянно делает всяческие чекпоинты, сохраняя состояние данных на диске в текущий момент времени, что позволяет делать откаты с точностью до 30 секунд. Ну, потом специальный демон, видя, что свободное место заканчивается, данные чекпоинтов подчищает. Зато вроде бы hammer тоже оптимизирован для работы с высокими нагрузками.

Я не питал беспочвенных иллюзий по поводу использования этой операционной системы как десктопной, но всё же набрал команду из хэндбука:
pkg_radd gnome
Так понимаю, что "pkg_radd" это аналог "pkg_add -r" из FreeBSD. Так вот, пакет gnome найден не был. Ну я и не расстраивался, установил mc. Здесь, как и во FreeBSD, кстати, по какой-то непонятной для меня причине сразу после установки нельзя пользоваться установленным пакетом, дескать, команда не найдена. Как с этим бороться, я не знаю, поэтому перезагружался. Но мне пришлось жить без mc, так как он не запускается и ругается, что, дескать, неверный терминал. Хм, бывает.

Раз не вышло с дружелюбностью к пользователю, я решил установить Apache и подцепить к нему PHP (про MySQL молчу пока). Апач установился, и я принялся искать его конфиги по всему разделу. Наконец, они нашлись в /usr/pkg/etc/httpd/, но апач не запускался "из коробки". Более того, он не запускался и после редактирования конфига, хотя с синтаксисом всё было в порядке.

На этом свои упражнения я завершил и с позором отправился спать.

5 виол

Наверное, ни для кого уже не секрет, что концерн Валио выпустил в довесок к обычному плавленому сливочному сыру "Виола" ещё четыре сыра с разными вкусовыми добавками. А так как я вообще люблю хлеб с плавленым сыром, то незамедлительно купил все пять найденных видов и их попробовал.



Как и следовало ожидать, самым говённым на вкус оказался сыр со вкусом огурца и укропа. Покупать его и, тем более, есть, крайне не рекомендую. Чуть получше сыр со вкусом ветчины, но тоже отстой и его тоже есть не надо. Сыр со вкусом сладкого перца (паприки) ничего так, средненький, есть можно. А вот сыр с грибами лучше всяких похвал! И, конечно, классический сливочный сыр тоже очень вкусный.

вторник, 2 ноября 2010 г.

воскресенье, 31 октября 2010 г.

Отрыжка сознания про линукс (много букв)

Иногда я хочу прочесть большую лекцию про линукс, не углубляясь в политику и экономику, а просто так, с точки зрения простого человека — пользователя, которого идеологические соображения волнуют не так сильно, как удобство пользования. Но меня, конечно, никто слушать не станет. Дома — потому что не поймут (да дома и толку нет распинаться), на работе — просто не захотят и обзовут ещё занудой, лоббирующим свои интересы, а больше и негде рассказывать. А высказаться хочется :) Так что пусть будет тут, кто прочитает, тот сам виноват.

OpenSUSE 11.3

Уже точно не помню, зачем я скачал образ... а, вспомнил! Некоторое время тому назад я рассказывал о некоторых проблемах на работе, связанных с установкой линукса на два компа для девочек-операторов. Под Ubuntu 10.10 банк-клиент, написанный на джаве, запускается, но не загружает с сервера список операций, хотя коннектится и авторизуется. Может, там какие-то устаревшие или, наоборот, слишком новые функции используются. А под Linux Mint 9 не определяется сканер. В силу своих незначительных познаний в области администрирования я не смог решить этой проблемы, и в итоге Ubuntu заменил на Linux Mint, а сканер подключил к компу с виндой.

И вот я подумал, что, может, в других дистрибутивах дела обстоят по-другому и работать будет и то, и другое. Вот и скачал openSUSE 11.3. Ставится оно очень долго, как винда прямо.

89.58 КБ

суббота, 30 октября 2010 г.

Касса для ведения семейного бюджета, версия от 30 октября

Эдак с полгода назад я написал для себя небольшую программку, работающую на связке PHP+MySQL+Apache(+Linux) для ведения семейного бюджета. Мне было интересно, сколько мы тратим на то или на это. Для этого я даже сделал там простенькую статистику. И примитивное напоминание о предстоящих расходах (и приходах), которое, по замыслу, должно объединиться со статистикой и перерасти в крутое планирование бюджета на месяц, но пока не объединилось и не переросло. Сделал формочку для переноса средств с одного счёта на другой (с учётом комиссии даже). С тех пор, уже с полгода, я этой системой пользуюсь и вполне ей доволен - ещё бы, я же её под себя делал.

В общем интерфейс стал понавороченнее с того раза, как я показывал в последний раз (4-5 месяцев назад).
38.39 КБ

Статистика:
52.31 КБ

Админка выглядит так удолбищно и страшно, что я не покажу её :) Она нуждается в переделывании, но у меня пока нет идей, как её переделать и облагородить.

Недавно я сделал модуль install для деплоймента - он создаёт необходимые таблицы и делает в них записи по умолчанию, так что установка сводится к "далее-далее-ок", и МБТСирожа соизволил себе установить эту кассу и попробовать вести свой семейный бюджет в ней (я пишу об этом с его великодушного разрешения). Он сразу нашёл несколько недочётов, я их быстренько исправил, и с тех пор от него багрепортов и пожеланий по улучшению не поступало. На мой вопрос: "ну как те?" он ответил лаконично: "да вроде нравится".

Времени у меня не так уж и много для развития этого проекта, да и мотивации немного - я что-то туда докручиваю, только когда мне это что-то надо, а так оно меня вполне устраивает сейчас :)

Тем не менее, исходники находятся в открытом доступе. В некоторых файлах (типа библиотечных, некоторые из которых, например, отправку почты с вложениями по SMTP, я написал вообще несколько лет назад) написано, что исходный код опубликован под лицензией GNU GPL, в некоторых - нет, но, тем не менее, именно под GNU GPL он и опубликован. Это значит, что их можно скачивать и использовать по своему усмотрению, переделывать как угодно и встраивать в свои проекты, но при этом сохраняя две вещи: открытость исходников и ссылку на автора.

Советы устраивающимся на работу

Первое впечатление от фирмы можно сложить уже когда вы приходите туда на собеседование. Некоторые специалисты в области рекрутинга и собесединга делятся с нами сегодня небольшими секретами о том, как распознать плохую (и хорошую) фирму, только придя на собеседование, по ряду небольших признаков.

Представьте себе, вы пришли собеседоваться...
1) и видите сквозь приоткрытую дверь кабинета на полу спальные мешки, а в туалет - очередь с зубными щётками и полотенцами. В этом случае опасайтесь переработок и того, что из-за большого объёма работ вы будете опаздывать на метро и последние автобусы.
2) в офисе воняет говном, лица всех сотрудников измазаны шоколадом, а обёрток от шоколада не видно - плохая фирма.
3) у секретарши в офисе ценники: "пакетик растворимого кофе 30 руб", "1 кубик рафинада 5 руб", а в описании вакансии было написано, что кофе и сахар бесплатные - плохая фирма.
4) договор о трудоустройстве представляет из себя толстую пачку листов, исписанных мелкими буквами, вам его предлагают подписать кровью не читая, и очень нервничают всё время, переглядываются и смотрят на часы - это очень подозрительно.
5) так же подозрения в вас должны вселить пентаграммы на полу в коридорах и испуганно жмущиеся к стенам сотрудники.
6) если посещения туалета платные и/или строго по расписанию - плохая фирма.
7) если вы заметили возле каждого рабочего места цепь, одним концом прикованную к кольцу, забетонированному в пол, а другим концом - к ноге сотрудника, то, при длине цепи менее 1м - плохая фирма.

пятница, 29 октября 2010 г.

Про погоны

Тут совершенно случайно я узнал, что, оказывается, новую форму для российской армии проектировал никто иной, как Валентин Абрамович Юдашкин, известный отечественный модельер. Не знаю насчёт того, пидор он или нет, в википедии вот пишут, что он женат и дети есть. Но форма... когда я её увидел, мне захотелось плакать. Валентин Абрамович решил, что погоны на плечах - слишком старомодно, и перенёс один погон формы (не парадной) на пузо, а второй на руку. Это позже я узнал, что у многих стран, входящих в НАТО, у не парадных форм военных тоже погон на брюхе, но первая мысль была о том, что второй, для симметрии, надо разместить на спине или на жопе.

Но, поразмыслив, я пришёл к выводу, что убрать погоны с плеч - не такая уж и плохая идея. Только надо не на пузе их размещать, а на предплечье, над кармашком как раз. Почему на плече неудобно - объясню сейчас. Когда надеваешь рюкзак, кнопка от фальшпогона часто оказывается под лямкой, а замечаешь это, только когда уже полностью надел рюкзак, и чувствуешь, как она впивается в плечо. На то, что у военных погон может быть какой-то особенно почётной деталью одежды, мне насрать, а с точки зрения туриста гораздо лучше было бы, если б фальшпогон застёгивался в другую сторону, на предплечье, а на самом плече, под лямку рюкзака, ткань была бы поплотнее.

среда, 27 октября 2010 г.

Про тормоза сайта

Иногда, бывает, всякий сайт подтормаживает. Открывается медленно, плохо реагирует на действия пользователя. Иногда, бывает, это приводит пользователей в бешенство и они с него уходят. Уменьшается конверсия; а операторы интернет-магазина бьются в истерике и грозятся растерзать программиста.

Источник этих тормозов мне пока что неизвестен. Я и там, и сям пооптимизировал запросы, сделал кэширование в узких местах результатов выборки из БД или прямо кусков HTML. В целом сайт работать стал быстрее. Главная страница весит 106Кб, не считая картинок, JS и CSS, и отдаётся обычно в пределах 3-4 секунд целиком. Иногда приходится ждать до 10 секунд. А иногда... что происходит, я не могу предположить. Внезапно топ забивается форками апача, появляются их зомби, которые не успевает усыновить и убить инит, а мускуль начинает отжирать больше 700% процессорного времени (там 8 ядер). Если в этот момент посмотреть в мускуле full processlist, то полным-полно запросов, которые сортируются, копируются во временные таблицы, отсылают данные или просто (таких большинство) ждут своей очереди. Никаких особо страшных запросов среди них нет, все как обычно. Через некоторое время вся эта куча разгребается, и всё работает нормально. С чем это может быть связано - я не знаю. В рейде вроде как места дофига ещё, так что это не из-за этого.

Я написал скрипт под гордым названием adminka_drocher.php, который с моего рабочего компа каждые пять минут долбится на главную страницу и замеряет скорость получения контента. На основании собранной им статистики я надеюсь хоть немного приблизиться к разгадке тайны внезапных тормозов.

Превью, а ниже картинка побольше.

вторник, 26 октября 2010 г.

А тем временем...

Тем временем мы занимаемся украшениями офиса. Те вертолёты, которые пыталась выкинуть жена начальника во время последнего приступа наведения порядка, я нашёл в коробке и водрузил их на их законное место - подвесил на верёвочках к потолку.



А в соседней комнате операторы собрали несколько моделей зданий из 3d-пазлов и прилепили их к потолку.



Это не украшательства к Новому Году или Хэллоуину, это так, просто украшательства, чтоб не сидеть в унылом помещении с розовыми или жёлтыми стенками. А ещё у нас есть стенгазета, которую, кроме меня, даже кто-то читает иногда. Самый шедевр там - это продажа ёжиков в аптеке. "Имеются противопоказания, перед применением проконсультируйтесь с врачом". А, ещё статья про то, как мы на прошлый Новый Год с Герой закопали в сугробе колбасу, а потом в январе откопали и съели, тоже ничего так :)

Про менеджмент

Про управление предприятием от самого маленького, в 2-3 человека, до крупного концерна, в сотни тысяч человек, написаны и изданы миллионы тонн книг, и ни одной из них я не читал. Тем не менее, я подозреваю, что методы управления, применимые к фирме в 40 человек, не применимы к фирме в 1000 человек.

Аналогично, на примере фирмы, в которой я работаю, методы управления, которые применимы к коллективу в 5 человек, уже не применимы к коллективу в 20 человек. Хотя разница всего в 4 раза, но она уже ощутима. Хотя ещё начальник всех сотрудников знает в лицо и по имени, но уже не успевает контролировать все их дела. И получается так, что некоторые из них могут проводить рабочее время в бесполезном бездействии, ожидая решения начальства по какому-то вопросу, вместо того, чтоб этот вопрос решать самостоятельно. Конечно, 20 человек - это не такой большой коллектив, чтоб дробить его на большое количество отделов, но на несколько уже можно, по какому-либо признаку. Вот конкретно у нас уже такое деление произошло - есть "офис" и есть "склад". На складе ребята сами разруливают возникающие косяки по понятной причине, а потом просто рапортуют о проведённых работах в офис. А вот в офисе до сих пор множество вопросов не может быть решено без участия высшего руководство.

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

А я вот сижу и жду, пока дойдёт очередь внимания начальства до меня и пишу всякие текстики. Сейчас вот пойду чай себе налью. Если бы я был начальником, я бы всё совершенно по-другому организовал бы. В первую очередь, я бы добивался максимальной автоматизации бизнес-процессов и автоматической обработки наиболее часто встречающихся ошибок и отклонений, чтоб человеческое внимание тратилось бы только на самые выдающиеся проблемы. А задания выдавал бы максимально понятные. Чтоб без присутствия начальника в офисе ни у кого работа не стопорилась.

воскресенье, 24 октября 2010 г.

Конвертирование ape в mp3 или flac с нарезкой

Очень многие, если не все, пользователи торрент-трекеров делают свои музыкальные раздачи следующим образом: один здоровенный файлище, мегабайт на 300-500, с целым альбомом в каком-нибудь формате без потерь, чаще всего *.ape, и рядом CUE-файл. CUE-файл это текстовый файл установленного формата, в котором содержатся названия и длительность треков и прочая метаинформация по альбому.

Грех жаловаться, хотя это и неудобно, но вот для прослушивания музыки у себя в плеере в наушниках по дороге на работу это не годится абсолютно. Во-первых, я не уверен (я не проверял) в том, что плеер поймёт, что *.ape + *.cue - это несколько отдельных треков, и позволит играть любой на выбор, а не все подряд по порядку. Во-вторых, не так там много места, чтоб ради пары-тройки композиций держать в плеере целый альбом в таком массивном формате, как *.ape. Я предпочитаю там хранить музыку в *.mp3 с высоким битрейтом.

Для лёгкого превращения одного огромного файла *.ape в несколько мелких *.mp3 с правильными названиями и тэгами я пытался написать свой скрипт на баше, но не был в этом успешен, ибо я не башеписец. Поэтому, отказавшись от мысли найти и скачать готовое решение где-нибудь, я написал собственное на PHP. Чтоб оно работало, понадобится...

суббота, 23 октября 2010 г.

Лимерик

В новостях сегодня проскочила и такая среди прочих: во французском городке Ла Верьер 11 человек выпрыгнули из окна, приняв сожителя за Дьявола. Может, конечно, не за Дьявола, может, и не 11 человек, а может, и не во Франции даже, но тем не менее, новость заслуживающая внимания.

Жил-был старичок в Ла Верьере,
На чёрта похож в экстерьере,
Глазами сверкал
И соседей пугал,
Те прыгали в окна и двери.

пятница, 22 октября 2010 г.

Рубеж

Сегодня в моей жизни начался новый долгий и очень важный период. Он рано или поздно наступает в жизни почти у всех людей, у некоторых - раньше, у некоторых - позже, а у некоторых и не наступает вовсе. У меня вот наступил, и назад пути нет.

А когда я ехал домой в автобусе, продрогший и озябший после долгого его ожидания, навстречу проехал эвакуатор, тащивший разбитый в хлам ренджровер. Как будто серые сумрачные небеса мне послали такой знак: "смотри, парень, во что ты ввязался".

четверг, 21 октября 2010 г.

Очередная порция твитов

Учёный-диаретик.

updfate-manager - наверное, хорошая программка.

WWW - Warriors, Wizards and Wanderers.

autorun.inf ected.

Сено в снобах.

Отфсбитесь.

Если хочешь клёвым стать - надо дивами верстать. Коль со стриктом не знаком - то останешься лохом.

Van der Bij-jan (eng. Wonderbeijan) - особый голландский сорт, выращиваемый в окрестностях Баку.

Прошёл мастер-класс по теме "наебалово в тенденциях современного общества". Собралось более тысячи участников, организаторы не пришли.

Офисный звонок

Когда я с утра пришёл сегодня на работу, застал окончание очень интересного разговора. Все рассказывали о своих ночных кошмарах и о кошмарах вообще. Началось всё, как я понял, с объяснения Юлей Белой того, почему она опоздала на работу. Проспала, потому что долго не могла уснуть ночью из-за своих каких-то страшных сновидений.

Кто-то вспомнил, что ему ночью снится звонок офисного телефона в страшных снах. Действительно, это пиликание и меня даже преследует на грани слышимого постоянно, хотя мне не надо хватать трубку, потому что я программист, а не оператор.
- Этот звук телефонного звонка надо наложить для атмосферы на фон какого-нибудь фильма ужасов.
- Точно-точно!
- А давайте снимем свой фильм ужасов!
- "Офисный звонок", ага, я давно об этом мечтаю.

Потом, конечно, все забыли об этом, кроме меня. Потому что я всерьёз призадумался о съёмках. Нужна видеокамера, свободное время сотрудников и сценарий. Так как мы не обладаем особо большим бюджетом, то весь фильм снимать надо будет прямо у нас в офисе. Сначала все будут сидеть и разговаривать в комнате операторов. Будут всякие страшилки друг другу рассказывать, а потом что-то должно произойти такое, из-за чего нам придётся запереть дверь из комнаты в коридор. Там, в коридоре, могут быть даже и не мертвецы, и не какой-нибудь смертельный вирус, а что-то совсем уж мистическое и заразное. Потом ещё разговоры-разговоры, в результате которых выясняется, что открыта форточка, и это нечто может проникнуть через неё и заразить сидящего под ней. Все перебегают в другую комнату, запирают внутреннюю дверь. Этот кто-то заражённый мистическим чем-то ходит, стучит в дверь и в окно. Всё это должно сдабриваться беседами на страшные темы, которые должны нагнетать атмосферу. Потом ещё кто-то заражается, остальные прячутся на кухне. Необходимо нагнетать не только атмосферу страха, но и психологической напряжённости - все должны друг друга обвинять, орать друг на друга. Потом это нечто попадает на кухню, и один человек забегает в туалет и там закрывается. Далее следуют его рассуждения и монологи, ну и концовку какую-нибудь надо придумать необычную. Всё это я представляю себе как что-то такое малобюджетное артхаусное типа японских страшилок.

вторник, 19 октября 2010 г.

Легенда про трёх поросят

Невнимательность простого рабочего может привести к порче одного изделия (в случае с автомобилями - к одной аварии). Невнимательность конструктора - к порче серии автомобилей (сотни аварий). Также и у нас - невнимательность оператора интернет-магазина приводит к одному косяку, невнимательность программиста интернет-магазина - к десяткам.

Где-то числа 20 сентября я отлаживал новый интерфейс комплектации заказов, и в одной из последних стадий проверки я тестировал, как он работает, на реальной базе, но на тестовых заказах. Наделал себе несколько заказов, насовал туда товаров, типа "собрал" их, убедился, что всё хорошо, сделал откат, "собрал" на всякий случай ещё раз, и все заказы отменил.

Кроме одного (по невнимательности).

В тот заказ я добавил 56 (хорошо хоть не 123) деревянных конструкторов по сказке "Три поросёнка". Хорошие конструкторы, положительные отзывы покупателей. На сумму 9128 рублей. Кто-то из операторов, не обратив внимания на количество и на то, что у заказа нет даты доставки (если б обратил и зашёл в заказ поинтересоваться подробностями, то сразу всё стало бы на свои места, потому что там написано "test" вместо имени покупателя), отправил заявку поставщику. Поставщик отгрузил конструкторы.

Почти месяц три больших коробки с конструкторами по сказке "Три поросёнка" стояли на складе, и никто не обращал на них внимания. Потом, наконец, обратили, заинтересовались, и всё выяснилось. Я уже реально собрался отдавать собственных 9000 рублей в бюджет фирмы (разумеется, с тем, чтоб получить их обратно, да ещё и с наценкой, когда эти три коробки будут наконец-то распроданы), но шеф махнул рукой:
- Хоть ты и виноват больше всех, но остальные тоже руку приложили к этому безобразию. Это бардак! А ты впредь на реальной системе тестируй аккуратнее. Поросят же всё равно продадим рано или поздно.

Парочку конструкторов, наверное, я возьму домой. Но к легенде о динозавре точно добавится легенда про трёх поросят. А, легенда о динозавре... как-то раз из-за ошибки в коде у нас на сайте все фотографии всех товаров заменились на картинку какого-то заводного динозавра на радиоуправлении. Довольно быстро я всё исправил, но динозавром меня дразнят до сих пор.

понедельник, 18 октября 2010 г.

Девочка, покорившая время

Моя жена ходила тут с подружками в кафе и они там обсуждали всё на свете, даже аниме. Ну, Миядзаки, естественно. И одна из подружек посоветовала посмотреть мультик под названием "Девочка, покорившая время". Ну я, конечно, отнёсся немного скептически, однако, скачал, и мы с женой, уложив детей, сели смотреть на кухне на ноуте.

воскресенье, 17 октября 2010 г.

Область уведомлений Ubuntu 10.10

Недавно вот обновил Ubuntu до версии 10.10 на ноутбуке. Там у меня торренты не раздаются и не скачиваются (поэтому проблем с Deluge нет), джава мне там не нужна, сканеры и тоже не подключаю, так что проблем нет. То есть почти нет - тот апплет, которым я пользовался для индикации раскладки, превратился из надписи ("США" или "Рус") в значок клавиатуры, и текущую раскладку можно узнать только ткнув туда и посмотрев на всплывающее меню.

Лампочки Scroll Lock на клавиатуре моего ноутбука нет, а лампочкой Caps Lock для индикации русского языка я не пользуюсь по религиозным соображениям. Пришлось мне установить на панель ненавистный мне апплет уведомлений.

18.69 КБ
1 - это сводка погоды,
2 - Pidgin,
3 - Dropbox,
4 - это вот вся длинная хуета - это апплет уведомлений.
5 - часики,
6 - кнопка выключения.

Помимо лишнего места, которое в пункте 4 используется для индикации раскладки клавиатуры (значок клавиатурки), там ещё давняя боль всех пользователей Ubuntu - регулятор громкости. Старый регулятор громкости (gnome-volume-control-applet) работал так: на него можно было навести курсор и регулировать громкость, крутя колёсико мыши, и никуда кликать не надо. Этот же регулятор громкости, встроенный в апплет уведомлений, работает так же ублюдочно, как регулятор громкости в винде. На него надо нажать, появляется шкала и ползунок, который по шкале можно перетаскивать туда и сюда. Два клика и движения мышью вместо одного прокручивания колёсика - это же ужасно!

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

Долой апплет уведомлений! Верните gnome-volume-control-applet!

А ещё когда включен русский язык, то за счёт того, что "Рус" короче "США", апплет укорачивается (по идее), но места занимает столько же, выражается это в уродской белой полосочке:

14.87 КБ

Я тоже фотографировал осенние листики

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



суббота, 16 октября 2010 г.

Немного статистики

Мой ЖЖ я начал вести где-то в апреле 2006 года, и с того момента и до 30 сентября 2010 года включительно я написал в него

2500194 символа, считая только текст сообщений, без заголовков, всякой метаинформации, но с пробелами и всем прочим, при этом html-символы в тексте интерпретируются ЖЖ как их представления, то есть "&lt;", "&amp;" и так далее. Поэтому данная цифра всего лишь приблизительна, но 2,5 Мб, будем считать, есть.

Использовано примерно 359 тысяч пробелов, 194 тысячи букв "о", 143 тысячи "а", 142 тысячи "е", 118 тысяч "т", 117 тысяч "и", 107 тысяч "н", и все остальные буквы тоже.

Наиболее часто встречающееся имя существительное в именительном падеже - "время" (354 раза), потом "день" (270 раз) и "человек" (219 раз). Всякие изменения форм по падежам, родам и числам я не учитывал.

Про Ubuntu, LinuxMint, Epson и пятницу

У нас на работе приятное нововведение. Теперь на двух машинах (у девчонок) установлен Linux. Но к этому подтолкнул начальника не я, а цены на лицензионные винды. Линукс же, как известно, свободно распространяемое программное обеспечение.

Юле Белой я установил Linux Mint 9 Isadora, потому что ей нравится зелёный цвет, а Полине - Ubuntu 10.10 Maverick Meerkat. Они довольны, да и что им переживать - FireFox остался тем же, а к Pidgin вместо QiP они привыкают быстро, OpenOffice это тот же Microsoft Office для них, только картинки на кнопочках другие :)

Но вырисовались несколько проблем. Первая проблема - это банк-клиент, написанный на джаве. Он запускается, принимает сертификат, но потом под Убунту зависает на стадии финального соединения с сервером и получения списка операций. При этом под Минтом он работает отлично; проблема, может, в сборке джава-машины, может, ещё в чём-то, я не знаю. Пока Полина ходила обедать, я быстренько установил ей Минт, сохранив домашнюю папку; теперь у неё банк-клиент работает отлично. Но перестал работать сканер.

Это даже не сканер, а целое МФУ - Epson Stylus TX200, усилиями одного моего начальника по установке СНПЧ (системы непрерывной подачи чернил) вручную превращённое в сканер. Так вот, под Убунту он определяется на лету, стоит только его подключить. А вот под Минтом он не определяется. МБТСирожа, когда я ему пожаловался на эту проблему, прислал мне несколько ссылок и инструкций по настройке sane, я перепробовал все их, и даже пересобрал sane из свеженьких исходников, надеясь, что недостающий бэкенд установится. После моих манипуляций sane-find-scanner перестал определять его вообще, а само МФУ отказывалось сканировать вообще под любой ОС и показывало какую-то ошибку до тех пор, пока я не вытащил его из розетки и не включил обратно.

Вот так-то. Наш приходящий администратор в четверг был занят настройкой ICQ-клиента для одного из наших сотрудников и установкой обновлений для DrWeb, поэтому мне помочь со сканером не смог, да и вообще он приходит раз в неделю по четвергам, так что в пятницу я фактически занимался администрированием вместо программирования.

И вообще пятница выдалась не очень хорошей. Я опоздал всюду, куда только мог, обварил руку кипятком, ударился об дверцу шкафа, а когда решил выдуть пыль из компьютера, отломал пластмассовое крепление радиатора на сокет :(

пятница, 15 октября 2010 г.

C-подобный C-нтаксис

// инит
предложение выражает законченную мысль и заканчивается точкой с запятой;
типичная ошибка всех новичков = не ставят в конце предложения точку с запятой;
в принципе, предложения можно писать все в одну длинную строчку,
если синтаксис языка это поддерживает,
но это затрудняет чтение текста;

// про работу (пример ветвления)
завтра пойду на работу;
если(будет хорошая == погода)
{
пойду в ветровке;
}
иначе
{
пойду в пальто;
}
ещё у меня на завтра кое-что запланировано, очень важное;
наконец-то пятница;

// про самочувствие (пример цикла)
проснулся сегодня во втором часу ночи;
{
не мог уснуть;
лежал, вертелся;
}
до(четырёх);
пойду ещё поваляюсь, может, усну;

{
тупо валяться;
}
пока(!усну() и !вставать());

среда, 13 октября 2010 г.

Для хомячков-домохозяек



Что там было до форумов, я не знаю, поскольку был ещё слишком мал. Начну с форумов. Форум представляет собой простую структуру - тема, в ней идут по порядку сообщения. Тема лежит в конференции, конференции сгруппированы по тематике. Сообщения могут быть как все на одном уровне, так и древовидные. На форуме все общаются обычно неспешно. Оставил сообщения в паре тем по делу и пошёл чай пить.

Потом появились блоги - максимальный простор для творчества отдельных индивидов, когда не обязательно пытаться попасть в тематику конференции форума, а можно писать о чём угодно, сколько угодно, выкладывать фотографии, и так далее. И комментировать, что там другие понаписали. Фактически, "конференция форума" превратилась в блог, а "темы форума" - в записи. Комментарии как комментариями были, так комментариями остались.

Народу в интернете становилось больше, и придумали смесь форумов с блогами - коллективные блоги, куда могут писать посты несколько пользователей, а не один. Ну, фактически, это продолжение идеи сообществ. По идее, для творчества ещё больший простор, но в силу того, что приток людей очень сильный, креативность отдельно взятого индивида снизилась. В интернете появились, помимо гиков, графоманов и прочего интересного люда, домохозяйки и домохозяева. Некоторым писать и рисовать лень, у других нет времени, третьи не умеют, четвёртые стесняются, пятые не понимают, зачем это вообще надо. Просто "читающих" стало гораздо больше. Некоторые, правда, находят в себе силы написать безграмотный ответ в форуме или комментарий в блоге, но большинство просто читают.

Потом появились социальные сети - получил развития институт "друзей" в блогах. Что там творится, рассказывать не имеет смысла, потому что и так все это знают. Фотографии "я и моя сраная кошка", "я в Турции", "я в красивой одежде" и "цветочек у меня на подоконнике" - стандартный набор, которым ограничиваются большинство пользователей социальных сетей. Поздравляют друг друга шаблонными найденными где-то в интернете поздравлениями. К фотографим других пользователей иногда пишут коротенькие комментарии типа "круто".

Потом появились микроблоги - вырванные из социальных сетей статусы. Здесь размер текста, который можно написать, фашистски ограничен мизерными стоней-двумя символами. Этого достаточно для того, чтоб написать заметку про погоду или про настроение. А если хочется написать что-то более глобальное, то уже никак. В связи с ещё кое-какими принятыми в микроблогах упрощениями, простор для творчества ну совсем никакой. А самое главное, туда переползает из форумов и из блогов домохозяйственная читающая масса, потому что там можно не только почти ничего не писать, но и даже значительно меньше читать.

Поэтому я предлагаю следующий концепт: социальная сеть для хомячков, которым лень писать и читать.

воскресенье, 10 октября 2010 г.

Хербст. Вальд. Нахт. Гут.

Чуть больше, чем три года назад, 30 сентября 2007 года, мы с моим боевым товарищем Сирожей сходили в лес с ночёвкой. Было замечательно - тепло и в то же время свежо, не было комаров и прочих летающих жужжащих кусачих тварей. И вот, спустя три года, мы с ним тот подвиг повторили, правда, в чуть более экстремальных условиях, но и будучи чуть более к ним подготовленными.



В лесу осенью замечательно. На солнце тепло, чистый свежий воздух. Пришли в лес уже в шестом часу вечера, и, пока шли, я даже вспотел.
Сухо и прохладно, никаких комаров и мух, красота! Поставили палатку, развели костёр. Накрыли стол.