k001
k001
:...
Back Viewing 20 - 40 Forward
git stash

А ещё в новых версиях GIT появилась отличная команда git stash. Это когда у вас есть локальные модификации, которые коммитить ещё рано (или совсем не нужно), а нужен чистый репозиторий. Так вот, обычно я откладывал в сторону эти модификации так:

git diff > my.diff
git diff | patch -p1 -R


А теперь это можно делать так:

git stash

Ну и там есть команды, чтобы посмотреть отложенное в сторону, применить его, и т.д.

Update: ну да, не "в новыз версиях", а несколько раньше. Эта фича появилась в середине 2007 года. Чёрт его знает, почему я про это сейчас пишу. Наверное, потому, что с недавних пор git в некоторых случаях предлагает явно ей воспользоваться.

Tags: , ,
wiki spam checker

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

Тулза представляет из себя дикую смесь shell-скриптов с вкраплениями sed, awk, sort и т.п. Воткнул вызов в крон, получаю отчёты по почте. Вот пример отчёта:

-274.38	http://wiki.openvz.org/w/index.php?title=Talk:Main_Page&oldid=7616&diff=7852
  -8.00	http://wiki.openvz.org/w/index.php?title=Compiling_the_OpenVZ_kernel_(the_Debian_way)&oldid=6641&diff=7857
   0.00	http://wiki.openvz.org/w/index.php?title=Main_Page&oldid=7484&diff=7854
   0.00	http://wiki.openvz.org/w/index.php?title=Template:List_of_precreated_contrib_templates&oldid=7572&diff=7856
  31.22	http://wiki.openvz.org/w/index.php?title=Download_mirrors&oldid=7467&diff=7855
 100.67	http://wiki.openvz.org/w/index.php?title=A_managed_OpenVZ_installation&oldid=7834&diff=7846
 140.15	http://wiki.openvz.org/w/index.php?title=Multiple_network_interfaces_and_ARP_flux&oldid=7835&diff=7847
 187.22	http://wiki.openvz.org/w/index.php?title=Installing_Trixbox_2.0_in_CentOS_VE&oldid=7833&diff=7845
 233.31	http://wiki.openvz.org/w/index.php?title=PPP_in_container&oldid=7836&diff=7848
 274.38	http://wiki.openvz.org/w/index.php?title=Talk:Main_Page&oldid=7852&diff=7853


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

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

git-commit --interactive

Открыл для себя git-commit --interactive, позволяет выбрать файлы, а из файлов выбрать ханки, которые надо коммитить. Вполне удобно.

git-svn rules

Какая, оказывается, чудесная вещь git-svn! Я с её помощью вполне удобно работаю с SVN репозиторием, свободно используя весь "локальный" арсенал git. А как накидаю патчей, говорю две команды

# отложить мои коммиты в сторону
# вытащить всё самое свежее из svn
# положить как коммиты в локальный git
# накатить поверх мои отложенные патчи
git-svn rebase

# закоммитить мои коммиты в удалённый svn repo
git-svn dcommit

О, сколько нам открытий чудных...

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

if ((fp = fopen(file, "w")) < 0)
...


Удивился, конечно. Видимо, раньше было написано open, или ещё почему. Исправил, конечно. Но не в этом суть.

Более всего удивился тому, что gcc не ругается даже с -Wall. Выяснил, что указатель он приводит к unsigned, поэтому результат сравнения всегда ложен.

Попробовали с коллегой написать так:

unsigned int a;
if (a < 0)
return 1;
return 0;


И опять gcc не ругается, а вместо этого даже с -O0 генерит код, который не делает никаких сравнений, а сразу возвращает результат. То есть, собака, знает, что сравнение бессмысленное, но молчит.

Оказалось, надо ему сказать -Wextra, и уж тогда начинает ругаться. Для второго случая вот так:
warning: comparison of unsigned expression < 0 is always false

про баш и про даш

В баше можно сделать
. /some/file || exit 1

При этом мы получим, что хотим -- или заинлайним файл /some/file, или выйдем с ошибкой:
a.sh: line 1: /some/file: No such file or directory

Просто и понятно.

А в даше (который в Debian часто стоит шелом по умолчанию) такой фокус не проходит. Самый простой вариант добиться того, что мы делаем выше -- написать
cat /some/file >/dev/null || exit 1
. /some/file || exit 1


(Второй exit 1 тут нужен для совместимости с предыдущим вариантом, если последняя команда в /some/file вернула ненулевой код). Чем плох такой вариант (кроме того, что много писанины и имя файла два раза упоминается)? А тем, что сообщение об ошибке будет менее осмысленное:
cat: /some/file: No such file or directory

Казалось бы, причём тут cat?

Вариантом, работающим в обеих шеллах, будет что-то вроде
if test -f /some/file; then
echo "/some/file: No such file or directory"
exit 1
fi
. /some/file


Вроде всё хорошо (кроме того, что кода ещё больше, имя файла упоминается уже три раза)? Ан нет! Мы проверили, что файл есть, но не проверили, можно ли его прочитать. Ну, добавим ещё один if... Но даже и это не спасёт нас, потому что системное сообщение об ошибке strerror(ENOENT) мы заменили на своё произвольное, что сводит на нет усилия локализаторов.

Итого -- лучше всего сделать через cat, а юзер пускай догадывается, причём тут cat.

Если у кого есть более кошерный вариант -- расскажите.

Tags: , , ,
what a long day

Что-то задержался я нынче на работе... Зато
(1) домой, небось, минут за 15 доеду;
(2) завтра (сегодня уже!) у меня отгул!

Tags:
CentOS + EPEL

CentOS 5 -- хороший серверный дистрибутив. Хотя бы потому, что его не надо апгрейдить на CentOS 6 через полгода.

С появлением репозитория EPEL он стал ещё и удобным. Кто бы мог подумать, там даже есть пакеты с расширениями Cite и ParserFunctions для MediaWiki!

Ещё бы не было в нём таких замороченных зависимостей.

Tags: ,
перфоманс тестинг ин прогресс

Я тут вчера, вооружившись большим компьютером и ядром 2.6.31, мерял производительность network namespaces с помощью netperf.

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

Меряю я, значит, меряю, а получается всё время какая-то ерунда! То побыстрее, то помедленнее, то ступеньками -- каждый следующий прогон на 5 mbps хуже предыдущего. Интуитивно поставил между прогонами паузу на 2 минуты, вроде стало почти хорошо, но всё равно какие-то есть флуктуации.

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

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

Собственно, к чему пишу?
1. И на старуху бывает проруха, как говорил друг моего детства Коля Остен-Бакен...
2. Следите за троттлингом (dmesg | tail), а то потеряете день, как я.
3. Большинству результатов измерений, которые вы видите в разных публикациях и т.п., доверять категорически нельзя, ибо большинство измеряющих не настолько въедливы и скрупулёзны, чтобы выяснить, что мешает, как мешает, почему мешает и как померять правильно.

Tags: , ,
Вот и поговорили...

(23:33:19) pp--: ????
(23:35:22) pp--: ? 2.6.27 ????? ?? ??? ? ???????, ???????? ???? ? ?????. ?? ??? ???? ???? ? drbd ?? ??????????
(23:35:31) pp--: ???? ????? ?????? ????????? ?? drbd
(23:36:14) pp--: ? ? rhel5-2.6.18 ??? ??? ???????, ?? ??????????? ????????? aufs ;(
(23:37:41) pp--: kir mou cyrillic vidno?
(23:39:44) pp--: ? ???? ?????????? ???????? ? ??????????? ? loop, ? ?????? ?????????? ???? ?????? ? ???? ?????. ??? ??????? ???????? + ????????? ??????????? ???????? ???????? loop ??????? ? ???? ?????????
(23:40:00) pp--: ??? ???? ??????????? ???????? ??? ?????? ???????? loop ?????
(23:41:56) pp--: ????? ?? ?????? ????????? ?????? ?? ???? ?????? ???? ?????.
(23:43:06) pp--: kir ??? ?????

Tags: ,
это пиар!

Не могу молчать! From [info]taraslive@lj:
малоизвестная IT компания Parallels

:)

А вообще интересно, есть ещё какие-то крупные русские IT компании, работающие на мировой рынок (то есть системных интеграторов разных не считаем).

Tags:
чудесный день

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

Update1: днём при подключении навигатора (Qtek G100, что ли, или как-то так) линуксовое ядро упсилось, после чего переставал работать USB и что-то с SATA тоже искривлялось. [info]koct9i@lj сказал, что это у меня ядро кривое и старое (Fedora 10), а вот у него на Ubuntu всё новое. Из спортивного интереса проверили -- прям сразу после установки synce-hal словили упс.

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

Вечером в принтере кончился тонер в картридже. Админа, могущего выдать картридж, уже нет на работе. Другой принтер не умеет дуплекса, а мне надо. Третий принтер дохнет через каждые 10 страниц с непонятной диагностикой (мигает красненьким, ага). Пытаясь его починить, вынул из него картридж, вставлял обратно минут 10.

Боюсь теперь домой ехать.

Tags:
спамеры повсюду!

Какой-то китайско-вьетнамский хостинг сервис провайдер не придумал ничего умнее, кроме как разместить свою рекламу (текст, картинки и таблички -- всё на полтора экрана) на Talk:Main page в openvz wiki! Это ж надо было додуматься!

Люто, бешено ненавижу.

Tags: , ,
my passport is back

zOMG! Мне привезли из Канадского посольства паспорт с визою! Ровно через месяц, ёлки-палки! И почти вовремя -- сегодня как раз последний день Linux Symposium 2009.

Хронология событий:
27 февраля: написал предложения по докладам на LS.
29 мая: попросил организаторов LS прислать мне приглашение, подготовил анкеты и прочие документы.
8 июня: попросил ещё раз, сказали "вот-вот сделаем, у нас тут GCC summit".
11 июня: попросил ещё раз, сказали "завтра, у нас тут свадьба".
15 июня: прислали приглашение, собрал все документы, отправил в посольство (кроме паспорта, потому как летел в Германию).
6 июля: дослал в посольство паспорт, после чего в тот же день получил звонок из посольства -- "пришлите нам паспорт". Уже прислал!
9 июля: написал организаторам, что, видимо, не поеду уже; отменил отель. Тут же ответили, что поднимут посольство на уши.
10 июля: стало понятно, что точно не успеваю на свой доклад (если паспорт привезут в понедельник 13-го), написал о том организаторам. Уехал в мини-отпуск
13 июля: паспорт так и не привезли, я в отпуске.
16 июля: паспорт так и не привезли, поинтересовался паспортом, ибо надо ехать на OSCON. Выяснилось, что в этот день посольство уже передало его курьеру.
17 июля: паспорт привезли.
20 июля: вылетаю в США.

planning for OSCON

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

В понедельник в San Jose начинается OSCON, а у меня ничего нету -- ни билетов, ни готеля... Завтра утром буду всё закупать, надеюсь, всё получится. Думаю Аэрофлотом прямым до LA, а там уж чем-нибудь местным за сто баксов, наверняка каждый час летают самолётики. Можно бы и на машинке, 340 миль всего, но устану после перелёта.

Интересно, а каким-нибудь паровозом там можно проехать? А то я ни разу в США не катался на поездах...

Tags: ,
web design

А нет ни у кого желания сделать тему для FUDforum? Надо, в общем, сделать примерно так, как на wiki.openvz.org, всё на CSS, без таблиц. Работы примерно на несколько дней, надобно знать HTML/CSS/PHP. Сам я уже слишком стар для этого, хотя, конечно, могу.

В свою очередь могу пообещать ссылку с главной страницы forum.openvz.org в виде "Design by XXX". Ну и славу, конечно!

Tags: , ,
be my sponsor!

Очень смешно. Прислали мне письмо, предлагают OpenVZ выступить спонсором какой-то опенсорс конференции в Юте. Говорят, бери Diamond Sponsorship Package, всего лишь $4000!

С кем-то они меня путают. Наверное, с компанией Parallels.

Tags: , , ,
[not] going to Linux Symposium

Три недели назад сдал все документы в посольство Канады. Недавно дослал туда ещё и паспорт (он мне был нужен, чтобы ехать в Германию). До сих пор ничего не вернули.

Хотел, собственно, в субботу ехать в Монреаль на Linux Symposium. Сейчас сидел, думал -- паспорта нет, билетов нет, скоро ехать, что делать? Решил, что не срастается, не поеду. Отметил бронь на отель, написал организатору конференции, что, мол, увы. Настроился не ехать, расслабился уже.

Он пишет, мол, не сдаёмся, будем воевать, щас найдём больших чинов в посольстве и всё сей момент разрулим! А я уже вроде как-то обмяк, сник. Теперь вот нахожусь в странном и неприятном состоянии неопределённости.

php/fudforum

Я мега php хакер.

forum.openvz.org не искал по-русски. Я выяснил, почему, и починил*. Детали потом, сейчас уже очень хочется домой.

* правда, в качестве побочного эффекта слетела openvz тема, но это я завтра буду починять.

Tags: , ,
back from LinuxTag

Прибыл с LinuxTag 2009. Очень насыщенная была поездка -- в первый день украли Blackberry, а в последний сломался основной ноутбук! Детали потом, а пока можно посмотреть на отчёт парней из Австрии, которые здорово помогли мне на стенде в первые 2 дня: http://systec.blogsite.org/

Tags: , ,
Back Viewing 20 - 40 Forward