2007-11-10

память? или склероз? :)

на днях совершил презабавнейшее наблюдение...
1) uname -a
Linux fly 2.6.23-gentoo-fly #3 SMP PREEMPT Mon Oct 22 22:50:58 EEST 2007 i686 Intel(R) Pentium(R) D CPU 3.00GHz GenuineIntel GNU/Linux
2) ps -elf | awk '{mem+=$10;}END{print mem/1000,Mb}'
770,886
3) free -m
total used free shared buffers cached
Mem: 2024 1951 72 0 48 655
-/+ buffers/cache: 1248 775
Swap: 4095 1293 2802

в чем проблема? да просто сума объема виртуальной памяти занятой приложениями (причем ps показывал и ядерные процессы) в _три_ раза больше, чем количество памяти занятой вааще: 1293 метра свопа + 1248 метров в оперативе (за вычетом буферов и кеша) против 770 метров занятой процессами.

причем переход в сингл мод и киляние всего лишнего ситуацию только усугубляют - почти 2 гига оперативы где-то "потерялось"

вопрос: в чем проблема? ядерный алокатор прикалуеться? либц? что может так злостно гробить память?

2007-10-22

notebook acpi suspend to mem

в убунте перестал работать suspend, причем достаточно давно (видно его хорошенько обновили :))
соответственно решил разобраться что к чему, и как оно работает.

в общем-то, отправить ноут в спячку - шара :) достаточно сделать
echo mem -n > /sys/power/state

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

собсно скрипт:

#!/bin/sh

# находим pciid видяхи
ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`

# создаем временный файл для хранения состояния видео
TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`
trap 'rm -f $TMP_FILE' 0 1 15

# переключаемся на 1й vty - что б не было проблем с иксами :)
chvt 1

# сброс буферов дискового ио
sync

# сохраняем состояние видео
cat /proc/bus/pci/$ID > $TMP_FILE

# собственно переход в режим suspend
echo -n mem > /sys/power/state

# восстанавливаем видео
cat $TMP_FILE > /proc/bus/pci/$ID

# переключаемся в иксы
chvt 7

# удаляем временный файл
rm -f $TMP_FILE


вот собственно и все :)
и естественно оно работает (по крайней мере у меня :))

2007-10-17

academynetspace.com

продолжаеться challenge...
правда я как и в прошлый раз опоздал на 2.5 недели к началу - первое место мне только сниться :)
зато за час я занял первое место по экс-совку :))

так же теперь есть магазин наград, гда за набранные очки можно приобрести:
  • волпапир за 15К у.е.
  • аватарки за 20К у.е.
  • скринсейвер за 25К у.е.
как оказалось, у меня около 200К у.е. :)
из них 10% за сегодняшний вечер :))

и еще, появился новый конкурс. называеться skills contest. завтра обязательно попробую :)

сводка с сертификационных фронтов

в конце лета меняли цену экзамена ццна, но вроде это не затронуло украину (пока не уверен, но pearsonvue пока предлагает здавать по старой цене :))

скоро устаревает экзамен 640-801. скоро - это 11 июня 2007 года. совсем понты осталось :-P
напоминаю, 640-801 соответствует версии курса 3.1
теперь доступен экзамен 640-802 по версии 4.0

вот что сообщил мне по поводу цен pearsonvue.com (цены для центра kvazar micro, но не думаю что это существенно :)):
640-801 CCNA® $US 150.00
640-802 Cisco Certified Network Associate $US 150.00
642-901 Building Scaleable Cisco Internetworks $US 150.00
642-812 Building Converged Cisco Multilayer Switched Networks $US 150.00
642-845 Optimizing Converged Cisco Networks $US 150.00

тем кто учит курс 3.1 стоит поторопиться.
тем кто хочет учить 4.0 торопиться не стоит :) в экзамене есть жесткий wan и switching, в курсе их пока нет :)

2007-08-30

старый новый груб

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

решил поделиться впечатлениями, и фичами, которые сам для себя недавно открыл. просьба дополнять в каментах :)

ну и для наглядности, попробу сравнить его с лило.

  1. груб интерактивный. он не требует при правке конфига переустановки в отличии от лило. более того, он предоставляет режим командной строки - прямо при загрузки его можно перенастроить и (!) сохранить эти настройки, или установить в другой БР
  2. груб поддерживат намного больше архитектур и применений: сетевая загрузка, ia64, раритетные risc, разнообразные фс(ext, reiser, ntfs, fat, ffs, ufs, xfs, jfs, ит.д.), сетевая консоль, serial-консоль, tftp, nfs, xen и многое, многое другое
  3. с другой стороны, то что лило не связан ни с одним разделом или файлами раздела позволяет ему пережить снос своей системы, но, после этого он как правило ничего загрузить уже не может :) а вынос boot в отдельный раздел делает груб универсальным загружчиком не зависящим от какой-то системы
  4. груб имеет свой сайт и поддерживаемую документацию, лило почти заброшен (свои фунции он выполняет уже много-много лет без изменений)
  5. груб может грузить не только линукс, но и бзд, макос, ос/2, виндос, дос, солярку, qnx, xen, и другие ОС
  6. может использоваться как загружчик с флешки/дискетки/сидюка/сети.
интересные фичи:
  • автодополнение. нажмите таб, и получайте удовлетворение :) дополняет: параметры, адреса разделов, имена и пути файлов и наверно многое другое :)
  • поиск (!!) как найти из 10 разделов нужный boot? наберите find /vmlinux-2.6.23-rc4 (или find /stage1 или find /boot/stage1) и получите адрес нужного раздела.
  • savedefault - позволяет сохранить текущий выбор как умолчательный.
timeout saved
title XXXX
...
savedefault
  • мепинг. пример загрузка с исо-образа:
title Boot from iso on a harddisk
map (hdX,Y)/your.iso (hdZ)
map --rehook
chainloader (hdZ)+1
rootnoverify (hdZ)
boot
  • fallback. "резервный" вариант загрузки:
default saved # грузить сохранненный умолчательным
fallback 1 # указываем резервные варианты (может быть несколько)

title A # основная система, 0
root (hd0,0)
kernel /kernel
savedefault fallback # сохраняем умолчательным резервный вариант

title B #резервная система, 1
root (hd2,0)
kernel /kernel
savedefault

и добавить grub-set-default в инитскрипт для того чтоб груб мог знать что система загружена успешно.
так же можно указать savedefault N для того чтоб при следующей загрузке грузился вариант N.
  • защита паролем. как отдельных пунктов, так и редактирования, командного режима, или выбора.
#открытый пароль
password blabla
#пароль в md5
password --md5 $1$U$JK7xFegdxWH6VuppCUSIb
#при вводе пароля использовать другой конфиг
password PASSWORD /boot/grub/menu-admins.lst

#пункт запаролен общим паролем
title password protected
lock
....

#свой пароль
title passwd2
password XXX
....
остальное можно найти тут

FreeBSD vs Linux

решил попытать счастья с фрей. некоторые индивиды упорно настаивали что она по всем параметрам лучше чем родная линуха.
пытаясь переключить эту черепаху на 2ю передачу софтапдейтами нарыл такую херню :)

и решил воспользоваться этим как основой для сравнения, и откоментировать по полной :)

1) Reliability
обе ос rock solid. обе поддерживают резервирование (рейды, карпы и т.д.), балансировку (виртуальные серверы и т.д.).
но мое имхо: современные линуксы поддерживают некоторые кластерные технологии, позволяющие задействовать более гибкое резервирование аппаратного обеспечения (есественно специализированного), поддерживаеться multipath, утяжеленная поддержка многопроцессорных систем, и сильносвязанных кластеров.

2) Performance
в оригинале сравнивался линукс 2.2 с какой-то то там фрей :)
2.4 - новый сетевой стек, асинхронная работа большинства подсистем, намного более быстрая ФС.
2.6 - серьезная модификация дисковой подсистемы и подсистемы памяти. улучшены планировщики процессов, планировщик ввода/вывода и многое другое.
так что если и системы не равны по производительности, то разница проявляесть в специфических задачах. и конечно это все можно сильно тюнить :)
по поводу сильно нагруженных стерверов - некоторые стервера kernel.org отдают в сутки более 3Тб (см какти), аналогичная ситуация с серверами redhat.com, ibiblio.org, osuosl.org и многими другими - сервера работают годами под предельной нагрузкой.

3) Security
обе системы имееют мощные средства обеспечения безопасности включая системы мандаторных списков доступа (MAC). НО. обе системы по умолчанию не используют утяжеленные политики. средства линукс: selinux, pax, grsecurity, apparmor, rsbac, hardened gcc, pie, pic - позволяют настроить и политики отдельных приложений, и роли, и обеспечить защиту програмных ошибок, защиту от сплойтов, ограничить права супер-юзера, и очень, очень многое другое. легко настраиваються (настройка политик по примеру, утилиты с графическим пользовательским интерфейсом, и т.д.).
многие дистрибутивы линукса сертифицированы по ISO CC: RHEL(3,4,5), SLES(8,9,10). да, сертификация проводиться для определенного железо. но линукс неоднократно проходил эту проверку на уровне eal4+. и все средства, использованные в этих дистрибутивах - доступны все дистростроителям и пользователям. т.е. можно свой сервер сделать безопасным на очень высоком уровне.
проблемы безопасности отдельных програм - общие для обоих систем, т.к. обе системы используют много общего ПО. в линукс системы безопасности позволяют свести опасность от таких уязвимостей к минимуму.
файрвол: pf в bsd и netfilter в линукс - очень мощные штуки. только в бзд очень часто используют некий ipfw, отзывы о котором не столь лестные :)

4) ФС
linux: ext3, ext4, reiserfs, reiser4, xfs, jfs, gpfs, coda, afs - все как на подбор высопроизводительные, журналируемые и надежные ФС.
bsd: ffs/ufs/ufs2 - в последних версиях, с софтапдейтами (которые я ну никак не могу включить :)), с журналированием (хотя его тоже никогде не видел), почти полностью синхронные (а значит очень надежные, и не менее медленные :))
в случае сильных сбоев синхронную фс стоит считать более надежной. но журналирование, и бесперебойники ставят под очень сильный вопрос целесообразность этого.
асинхронные фс линукс намного(ну как минимум заметно) быстрее.

5) дрова
в обоих ОС бывают проблемы с дровами. НО.
т.к. линукс официально поддерживаеться многими крупными производителями серверного оборудования - с серверами у линукс проблемы не возникают.
с десктопами - линукс отлично работает в большинством оборудования - поддерживаеться большинство чипсетов, очень многие ide и sata контроллеры (кроме наколенных поделок, но и с ними со временем разбираються), все популярные звуковые карты (слышал только что есть проблемы с x-fi), usb, почти все существующие сетевые карты, для видеокарт от нвидиа и ати есть дрова от производителей, очень многое беспроводное оборудование легко устанавливаеться и нормально работает.
код драйверов часто заимствуют друг у друга, так что у фри проблемы с дровами не так уж и сильно большие.

6) комерческое ПО
линукс - признанная платформа, под которую выпускают свое ПО ibm, intel, sun, vmware, 1C, oracle, opera, google, nero, nvidia, sgi, mathsoft, id software, epic games, transgaming, loki games и многие, многие другие.
если нет нативного ПО есть wine (Wine Is Not Emulator), значительно расширяющий диапазон доступного ПО. есть cedega, позволяющая запускать очень-очень многие игры.
есть и эмуляторы и виртуальные машины, позволяющие запускать все остальное.
фрибсда - имеет бинарную поддержку линукс. которая позволяет пытаться запускать вышеперечисленный софт, с тем или иным результатом.

7) свободный софт
его дофига. стоит только заглянуть на freshmeat.net, sourceforge.com, code.google.
успешно работает под обоими системами.
последнее время тенденция: больше софта изначально разрабатываеться (а затем успешно работает) под линукс.

8) средства разработки
конечно весь софт доступен и под бзд, я не спорю. НО.
GNU/Linux, GNU Compiler Collection , gnu vim, gnu emacs, gnu debugger - средства разработки почти под любой язык программирования :)
java (под бзд с ней бывают большие проблемы, линукс - официально поддерживаеться), C# (gnu mono :)), qt, gtk, и много-много скриптовых языков - все изначально разрабатываеться именно под линукс :)
ну и конечно linux совместим с posix, имеет lsb, и если не делать явных глупостей, софт скомпилированный под линукс успешно выполняеться под линукс.

9) инфраструктура разработки
бред полный :)
фрибсд - один проект + порты. результат - все целосно, но в рамках собственно фрибсд юзер не имеет выбора и поставлен перед фактом (про порты я не говорю :))
линукс - один огромный(см. kernel.org :)) проект ядра, плюс дистрибутивы - сборки ядра и софта для определенных целей, вкусов, вероисповеданий. результат - линукс КРАЙНЕ гибкий, чрезвычайно универсален, очень модульный, и независимый. всегда есть альтернативы, всегда есть выбор.
недостатки - можно наткнуться на бинарную несовместимость, необходимо делать выбор.

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

11) цена владения
без коментариев. как хочеш так и считай. многие считают что по этому пункту венда нам даеться аллахом даром (или с доплатой).

2007-08-18

размышления о dhcp

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

далее я выяснил, что провайдер выдает через dhcp 5 маршрутов. мой тазик принимает только дефолт. причем только дефолт принимали как мой тазик, так и wrt54gl, который я использовал как роутер.

раскопки показали, что клиент dhcp от isc не совместим с стандартом. точнее, как написали на сайте "Both the client and the server provide functionality that, while not strictly required by the protocol, is very useful in practice" :)

но поиски по портежу показали что есть альтернативы:
$ eix dchp -c
[I] net-misc/dhcp (3.0.3-r9@19.03.2007): ISC Dynamic Host Configuration Protocol
[I] net-misc/dhcpcd (3.0.16-r1@18.08.2007): A DHCP client
[N] net-misc/selfdhcp (~0.2a): a small stealth network autoconfigure software.
[N] net-misc/udhcp (0.9.9_pre20041216-r4): udhcp Server/Client Package

1й из них - от isc, от которого я решил отказаться.
2й - сразу заработал, и принял все как и следовало :)

вывод: не все что от такого крутого имени, есть хорошо.

п.с. надо посмотреть, может бинд у них тоже такой "интересный"?

п.п.с. есть еще клиенты не содержащие в своем названии dhcp :) это pump, dibbler, может и другие.

п.п.п.с удобные средства управлениями dhcp предлагае /etc/conf.d/net, стоит просмотреть на это тему /etc/conf.d/net.example - можно выбирать клиент dhcp, и тонко его настраивать

2007-08-08

atime or noatime? that's the question

на lkml торвальдс начал немаленький флейм, посвященный вопросам производительности ФС и ипции atime.
некоторые разработчики заявляют, что noatime позволяет получить прирост производительности интенсивного чтения с диска до 50%

ну и соответственно я решил это протестить. заодно потестить не только на екст3, на которую лились все обвинения, но и рейзер.
суть теста: рекурсивный греп по дереву портежа. с atime, и без него. поиск на время. причем в 2х режимах: с "холодным" кешем, и с прокешированым деревом. тест повторю по 2 раза.
почему именно портеж? потому что на большом количестве файлов большее количество раз надо выполнять обновление atime, следовательнее будет более заметен результат. другими аналогичными примерами могли бы быть: компиляция большой программы, работа почтового сервера под большой нагрузкой, и т.д.

1) рейзер (3я версия, из 2.6.23-гит6), atime
Cold cache:
real 5m12.021s
user 0m13.316s
sys 0m7.575s
Warm cache:
real 3m39.969s
user 0m13.341s
sys 0m6.831s

Cold cache:
real 5m43.197s
user 0m13.491s
sys 0m8.068s
Warm cache:
real 5m19.285s
user 0m13.426s
sys 0m8.343s


2) рейзер (3я версия, из 2.6.23-гит6), noatime
Cold cache:
real 4m26.874s
user 0m13.172s
sys 0m7.058s
Warm cache:
real 2m57.963s
user 0m13.373s
sys 0m6.871s

Cold cache:
real 4m24.752s
user 0m13.237s
sys 0m7.149s
Warm cache:
real 2m47.410s
user 0m13.277s
sys 0m6.116s


3) екст3 (2.6.23-гит6), atime
Cold cache:
real 10m34.207s
user 0m13.986s
sys 0m6.704s
Warm cache:
real 0m16.512s
user 0m13.073s
sys 0m2.427s

Cold cache:
real 10m51.976s
user 0m13.450s
sys 0m6.677s
Warm cache:
real 0m16.305s
user 0m13.018s
sys 0m2.445s


4) екст3 (2.6.23-гит6), noatime
Cold cache:
real 8m36.656s
user 0m13.007s
sys 0m5.223s
Warm cache:
real 0m14.773s
user 0m12.878s
sys 0m1.892s

Cold cache:
real 8m29.148s
user 0m12.869s
sys 0m5.148s
Warm cache:
real 0m14.791s
user 0m12.895s
sys 0m1.894s


что сразу заметно:
  • с использованием кеша екст3 - просто молния
  • дир_индекс намного быстре происходит работа с большими каталогами
  • разнице atime - noatime хоть и не вдвое, но все-таки весьма заметна
  • на портеже рейдер эффективнее чем екст :(
причина 1го - то, что рейзер использует свои, оптимизированные, функции работы с блочными устройствами. и не смотря на все заявления ганса, это вовсе не плюс, т.к. их никто фактически не поддерживает и не развивает, и она не использует многие достижения подсистемы ио линукса.

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

выводы: все использую noatime. часто вместо него имеет смысл использовать inotify. или mtime.

2007-07-31

NCQ на ICH7*

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

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

но есть один нюанс. на большинстве материнов в биосе можно выбрать режим работы сата-контроллера: raid, ahci, legacy. ncq не только недоступен в режиме legacy, но и при этом контроллер идентифицируеться как принципиально не поддерживающий ahci.

в режиме легаси - 8086:27c0 :
# lspci
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
# lscpi -s 00:1f.2 -n
00:1f.2 0101: 8086:27c0 (rev 01)

в режиме ahci - 8086:27c1 :
# lspci
00:1f.2 SATA controller: Intel Corporation 82801GR/GH (ICH7 Family) SATA AHCI Controller (rev 01)
# lspci -n -s 00:1f.2
00:1f.2 0106: 8086:27c1 (rev 01)


соответственно ядро использует разные драйвера для работы с этими контроллерами:
# cd /usr/src/linux/drivers/ata
# grep 27c0 ./ -R
./ata_piix.c: { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
# grep 27c1 ./ -R
./ahci.c: { PCI_VDEVICE(INTEL, 0x27c1), board_ahci }, /* ICH7 */
для 27c0 (82801/GB) - ata_piix, без ncq
для 27с1,27с2,27c3 (82801/GR/GH/GHM) - ahci, с поддержкой ncq


соответственно, включив в биосе ahci режим, ncq будет включен автоматически:
# dmesg | grep ncq -i -B1
ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part
--
ata1.00: ATA-7: SAMSUNG SP2504C, VT100-38, max UDMA7
ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 31/32)
.....
обращаем внимание на надпись (depth 31/32), 31 значит что используються 31 элемента очереди. значение 0/32 значит, что ncq не может работать - не поддерживаеться контроллером либо винчестером.

для ручного выключения/включения ncq можно использовать интерфейс sysfs:
выключить (установить количество используемых элементов в 1):
# echo 1 > /sys/block/sdX/device/queue_depth
включить (задействовать все элементы очереди):
# echo 31 > /sys/block/sdX/device/queue_depth
где sdX - выбранное устройство..

удачных экспериментов :)

п.с. интересно, какой выигрыш может дать ncq....

2007-07-30

косметическая модификация chroot

ни у кого никогда не случалось, работая одновременно в основной системе и в chroot'е задусываться, в какой именно системе выполняеться шел? а то и хвататься за голову, обнаружив что сделали что-то не в той системе?

конечно же, это будет наиболее полезно всяким гентушникам, часто занимающимися сборкой системы в чруте (а может и виртуальные машины? openVZ?)

используем програмку chname(sys-apps/chname), ядро >=2.6.19 с подддержной utsnamespaces, и небольшая модификация bashrc/zshrc

рецепт - небольшая процедурка скрипт, заменяющая chroot:
[начало]
chroot() {
chname `hostname`/`basename $1` chroot $*
}
[конец]
процедурку можно поместить в bashrc
так же можно модифицировать как угодно результирующее имя хоста

результат:
1) до
# hostname
fly
# chroot /mnt/oldg bash
# hostname
fly

2) после
# hostname
fly
# chroot /mnt/oldg bash
# hostname
fly/oldg

так же можно настроить приглашение коммандной строки, чтоб оно выглядело например так:
fly/chroot / #

иногда очень удобно :)


п.с. а кто знает, можно ли привязать к простому чруту интерфейс/айпи-адрес/влан? было бы чрезвычайно прикольно! :)

2007-07-28

приятная прогулочка

на этой недельке угораздило меня слегонца прогуляться... километров 50 пешкарусом, и результат - высота 2060.8 метров над уровнем моря :))

к сожелению, как всегда вышло "как всегда" - забыт и нормальный фотоаппарат, и пленка, и они бы не понадобились, так как все гора была покрыта туманов - видимость пара метров, и протопать 50км оказалось не так просто, и ливень пришелся очень кстати, но все равно, прогулка удалась :)


почти победа - пара метров от обелиска на вершине... туман - виднимость пара метров...

уже при спуске туман рассеиваеться...

когда туман немного рассеялся - открылся захватывающий вид на карпаты... как же жаль что не удалось увидеть это с самой вершины :(

собственно сам спуск: каменистый склон 25-35 градусов, заваленный валунами...


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

2007-06-26

CCNA 4.0

наконец-то появился на cisco.com
курс есть в двух версиях:
  • облегченная discovery, расчитанная на нетехнических особей
  • утяжеленная exploration, пытающаяся задеть некоторые аспекты ccnp
забавное деление фактически создает на основе ccna два отдельных курса (такое же деление есть и в juniper networks - там тоже 2 базовых курса).

экзамены, соответствующие новым курсам пока неизвестны.

discovery состоит из двух курсов:
  • Networking for Home and Small Businesses -
    4.0
  • Working at a Small-to-Medium Business or
    ISP - 4.0
exploration тоже состоит из двух курсов:
  • Network Fundamentals - 4.0
  • Routing Protocols and Concepts - 4.0
как мы видим, из ccna полностью исчез свитчинг... но сделан акцент на маршрутизации...
полностью переработан материал и оформление.

2007-06-20

S.T.A.L.K.E.R.

не без проблем, но работает.
что необходимо: сталкер, носиди, осс, вайн>=0.9.35
цедега - не обязательно :)
запуск: wine XR_3DA.exe -dsound
в целом - работает превосходно :)

проблема №1: в меню нет текстов


проблема №2: на скринах полосы... может нужна какая-нить двойная буферизация?
конечно это не страшно, но как же я буду выкладывать скрины?


п.с. я ушел в зону

2007-06-03

Google Gears

google reader теперь может работать в офлайновом режиме - скачав фиды на локальный компьютер.

библиотека, которая позволит ридеру быть полностью автономным - google gears.

ждемс пока в автономном режиме будут работать gmail и google docs :)

2007-05-29

Электроника под линукс

Долго размышлял, как можно работать с схемами, принципиалками и разводками под линукс. я всегда знал что есть мощные, но страшные нативные средства (ГЕДА, Орегано, и много-много других). но изза того что они страшные - никак не мог себя заставить разбираться...
вендовые - используються много лет в универе, на них ориентированы лабы и курсачи... и оказалось, что все на ура работает под линухой :)
из утилит, принятых у нас в универе - все заработало на ура:
  • Оркад (правда 9.2... 10й не удалось полечить :(( )
  • Микрокап (у меня 7й, остальные - даже не видел никогда :)
а что еще нужно? :)

Скриншоты:


2007-05-26

Броузер для Google

вчера решился побороть отвращение к gtk, и поставил firefox...
ради чего? ради полноценной работы со всеми службами Google.
по пути обнаружил, что Google firefox extensions очень сильно повышает юзабельность огнелиса...
в целом - пока не жалуюсь... не намного хуже чем опера... до конка конечно очень далеко - но конку надо очень много сделать для яваскриптов, css, и много чего другого... и получить поддержку от Google :)
хотя я конечно преувеличиваю - еще как жалуюсь! gtkengine-qt симльно помагает, но есть порядок кнопок, отсутствие отмены в настройках, конченые гтк-шные диалоги, и много другого что портит жизнь "по HIGу"...

и что Google browser sync очень прикольная штука :)

ну а положение кнопок в гтк... хоть бери и правь сырцы :))

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

2007-05-25

Nespace Challenge

на Academy Netspace проходит Netspace Challenge.
все кто принимает участие в академической программе приглашаються принять участие.

это онлайн-тестирование по 5 категориям знаний, и с рейтингом лучших.

2007-05-13

Google translate

гугл жжет....
переводчик
результаты:

в целом умеет и отдельные предложения, и страницы, и набор языков... слов нет :)

 

2007-05-12

Google books

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


например то что я давно искал - CCNP(R) Practical Studies: Switching.
конечно просмотр не без купюр... но возможность найти ответ из какого-то справочника или просто книги - очень удобно...

Google trends

накопал преинтереснейшую фичу гугла - google trends. позволяет смотреть статистику запросов. например так: :))

2007-05-11

GTK и C#

сегодня попробовал программировать на С#, точнее на С#, Gtk#, Glade#.
в общем и целом рвотный рефлекс сработал не сразу :)
он ярко просявился лишь когда я столкнулся с фичами ГТК. ограничениями видгетов. способами работы с обработчиками ошибок и т.д.
описывать что я делал смысле нет - я, не мудрствуя лукаво, воспользовался простым туториалом. и все кроме обработчиков событий действительно работает.
впечатления: куте действительно лучший тулкит :)

Работа с образами дисков

Образы дисков бывают разные
ксен использует raw образы разделов, и их с легкостью можно создвавать, форматировать, монтировать...
  • создавать - dd && mkfs
  • монтировать mount
куему и вмвара используют несколько форматов образов целых дисков. их просто использовать внутри виртуальной машины, но возникают вопросы как их использовать извне...
  • смонтировать раздел диска можно с помощью lomount (есть в пакете ксена).
  • смотреть и редактировать разделы можно непосредственно фдиском (см. опцию -u)
  • конвертировать образы целых диском между собой можно с помощью утилиты qemu-img.
  • но как их создавать? dd для получения заготовки это понятно... а как создать фс? как скопировать отдельный раздел?
интересный вопрос, не правда ли?:)
и еще вопрос, как конвертировать между такими форматами?

2007-05-10

борьба с networkmanager :)

надеюсь все знают что такое networkmanager?
это проект gnome, фреймворк для работы с сетевыми устройствами.
очень удобен своей простотой... а именно позволяет очень удобно работать с беспроводными сетями...
единственное что меня в нем смущает - отсутствие конфигов, и следовательно очень тяжело его контролировать и использовать совместно с другими фрейморками или ручной конфигурацией.
в частности он не дает возможности использовать дуал-хоминг...
еще одна проблема - форсированно перезаписывает resolv.conf
попутно с борьбой с этой прелестью обнаружил 2 жесточайших метода.

  1. использование CAP_LINUX_IMMUTABLE
  2. использование AppArmor
естественно что я не предлагаю использовать подобный вандализм вместо того что настроить нормально службу :)
просто эти методы применимы для контроля приложений

первый метод - установить на файл флаг CAP_LINUX_IMMUTABLE. файл с таким флагом невозможно модифицировать, даже имея права рут-пользователя :)
все что надо сделать chattr +i filename
аналогично с помощь chattr -i filename этот флаг можно снять...

второй метод - и использования фреймворка форсирования профилей приложений AppArmor. AppArmor позволяет присвоить приложению профиль, описывающий что именно приложение имеет право читать/изменять/выполнять/использовать.
статью по использованию AppArmor обещаю в скором будущем :)

проблемы с светом

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

2007-05-08

Novell apparmor в Gentoo

Apparmor - фреймворк для обеспечения безопасности системы и конкретных приложений. он позволяет жестко задавать права приложений и ограничивать их поведение.
  • объединяем оверлей n4g  с репозитариями исходников от новелл:
  • размаскируем нужные пакеты (app-doc/apparmor-docs, app-vim/apparmor-syntax, sec-policy/apparmor-profiles, sys-apps/apparmor-modules, sys-apps/apparmor-parser, sys-apps/apparmor-utils, sys-kernel/apparmor-sources, sys-libs/libapparmor)
  • устанавливаем их
  • пример применения (правда с использованием утилиты яст из SuSE)
  • пример применения (правда для убунту-фейсти, но вполне адекватен, особенно создание профиля)
  • еще один пример - ограниченный шелл.
  • в целом, примеры профилей можно найти в /etc/apparmod.d, они достаточно простые, и можно сразу попробовать написать профиль для какой-то программы...
  • список активных профилей можно вросмотреть в /sys/kernel/security/apparmor/profiles
  • удачи :)
как только испытаю на чем-нибудь :) - напишу краткое описание...

из трудностей: необходимо патчить ядро, и компилить модули ядра - надо над этим подумать (одолжить модули из убунты? :)).

2007-05-07

Очередные проблемы с xkb

После обновления системы сменилось поведение переключалки раскладки. естественно что никакие конфиги при этом не менялись.
в поисках решения нашел описание конфигурции xkb на самом низком и обширном уровне.
там описываються файлы данных, используемыи для описания кодов, симолов, ипрочих настроек xkb...
судя по всему эти файлы были модифицированы обновлением пакета x11-misc/xkeyboard-config
прийдеться разбираться...

2007-05-02

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

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

p.s. блог, посвященный событиям связанным с этим числом

2007-04-28

Tkabber

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

настройка шрифтов

ткаббер использует tcl/tk. tcl/tk может определять шрифты несколькими способами:
  • XLFD - длинный и непонятный шаблон, использовавшийся в иксах много лет назад

  • формат xft - имя, и свободный список параметров - то как шрифты описываються сейчас

  • еще один формат xft, те же яйца - другая форма записи модификаторов...

все бы хорошо, но для tk < 8.5 при описание шрифтов не в xlfd приводит к некорректному отображению символов НЕ latin1. в частности непропорционально большой размер, и прочие браки отображения.

напомню, как выглядит спецификация xlfd, это строка в таком формате: -foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-resy-spacing-width-charset-encoding естественно, что это очень неудобно, и не всегда такая строка позволяет найти соответствующий шрифт... пробовать искать шрифт в таком формате можно с помощью xfontsel.

я же, не мудрствуя лукаво, взял такую спецификацию (поставив звездочки почти во все поля :)):
-*-*-medium-r-*-*-12-*-*-*-*-*-iso10646-1

таким образом в ~/.tkabber/config.tcl дописал строки: set font -*-*-medium-r-*-*-12-*-*-*-*-*-iso10646-1
option add *font -*-*-medium-r-*-*-12-*-*-*-*-*-iso10646-1

Результат:

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

p.s. далее будет: цветовые схемы...

2007-04-27

проблема с xkb

трабла с kkbswitch разрешена.
напомню, что ни kkbswitch, ни xxkb, не могли работать - работал только xkb.
судя по логам emerge, могли быть виноваты:
=x11-libs/libXfixes-4.0.3
=dev-libs/dbus-glib-0.73
=x11-proto/inputproto-1.4
=x11-proto/randrproto-1.2.0
=x11-proto/damageproto-1.1.0
=x11-libs/libXi-1.1.0
=x11-libs/libXrandr-1.2.1
=x11-libs/libXdamage-1.1.1
=x11-libs/libXcomposite-0.3.1
но даунгрейд не помог... зато помогла переустановка xorg-server :)
забавно, не правда ли? :)  ведь ни битых зависимостей - ничего такого не было...
ну да ладно, работает - и хорошо :)

2007-04-26

google forever!

сегодня наконец доииследовал google apps.
очень мощная весчь.
позволяет:
  • привязать к домену организации множество сервисов гугла
  • почта gmail для домена организации
  • календарь
  • googletalk
  • docs
  • домашние страницы связанные с сервисами
  • стартовая страница для сервисов и организации
это основа. дополнительно:
  • общие контакты/адресная книга
  • совместное использование календаря
  • почта, списки рассылки
  • централизование управление
  • использование остальных сервисов google
одним словом офигенно :)



обязательно надо будет организовать у нас на кафедре/в академии :)

календарь google



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

в целом мне понравился намного больше, чем, скажем, аутлук.
тем более, что доступен практически везде где есть интернет.
очень удобно :)

развитие темы жаббера

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

2007-04-25

грабли с xkb

после траблы с ксеном отказал работавший без сучка без задоринки xkb. точнее перестал нормально kkbswitch. и khotkeys. и многие дополнительные клавиши.
одним словом скорее всего какие-то проблемы с самим xkb.
без него очень неудобно: нехватает хранения раскладки для отдельных окон, индикации, и вообще он мне дорог как память :'(
знать бы, как это пофиксить...

проблемы с хостингом

сегодня, с часу ночи, на хостинге сплошные грабли. за сутки 4 раза падал жаббер. даже не сказал бы что он упал. попеременно процессы sm и router "висли". в лучшем случае потребляя процессорное время. в лучшем - потому что можно догадаться что-то не так.
возможно тому виной большая нагрузка на систему? в среднем за сутки 6.5... 
может быть высокий io? на сервере висит апач с посещаемым форумом, и количество процессов апача - полторы сотни активных...
может быть плохо настроеная ОС? допотопная и изрядно похеренная хорошими админами 6я фря...
может кривой жаббер? но ведь почти месяц до этого работал как миленький...
но вариантов не густо - надо тюнить, твикать, фиксить...

2007-04-24

спец-набор граблей :)

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

Fatal server error:
xf86MapVidMem: Could not mmap framebuffer (0x00000000,0x1000) (Bad address)

нашел такую граблю на lists.xensource.com - ни ответов ни коментариев на этот баг нету...

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

google reader

очень интересный сервис от google. суть - rss/news reader, работающий через ajax.
интегрирован с учетной записью google.
доступен здесь: http://www.google.com/calendar/
есть в варианте гаджета для домашней странички google.
также доступен для облегченных/мобильных клиентов (например с мобильного телефона): http://www.google.com/reader/m
работает с rss, atom, rdf. позволяет присваивать метки, расшаривать новости, и еще много и много чего любопытного :)

googletalk через psi

надеюсь все знают что googletalk использует протокол xmpp - jabber.
а значит, что его можно использовать с любым клиентом жаббера.
для примера возьмем psi.


добавляем учетную запись, jid - адрес gmail, или адрес почты используемой через googleapps. включаем ssl, включаем plaintext auth, указываем сервер/порт talk.google.com, 5223

и вуаля :)

скринкастерам посвящаеться...

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

зачем? например чтоб показать товарищам как выполнить какое-то действие. или похвастаться новыми эффектами берила :)

возникает вопрос "как"... на самом деле очень просто :) существуем уйма программ позволяющих производить захват изображения с экрана, сжимать, добавлять коментарии, выделять области для захвата, и т.д.
пример программ: xvidcap, istanbul, byzanz

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

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

byzanz - аналогично предыдущему :)
тоже гтк, но зависимостей все ж поменее...

п.с. обязательно дополню описание, когда докачаються все зависимости и смогу поставить и попробовать.. ;)

2007-04-23

неудача с opensolaris под xen'ом


к сожалению попытки запустить nexenta, belenix и shillix увенчались провалом...
во-первых, ни одна из соляр не захотели запускать с менее чем 128MB оперативы - "file doesn't fit memory", во-вторых, ни при каких значениях оперативы/ацпи/дма мне не удалось дойти дальше загрузки образа ядра в память - черный экран и немигающий курсор это все что я смог получить...
да и второй диск с opensolaris community edition позволил себя загрузить не намного дальше - появилось сообщение о копирайтах sun и версии sunos...

надо будет найти подходящий (достаточно мощный) комп, чтоб попробовать поставить нативно...

opensolaris

Вчера вечером получил посылочу: коробку с двумя DVD OpenSolaris "starter kit". на дисках: nexenta, belenix и shillix. теперь буду пробовать как это работает под Xen. :)

p.s. очень интересно, как выглядит nexenta, "A complete GNU-based open source operating system built on top of the OpenSolaris kernel and the Ubuntu userland"...

p.p.s примечательно, что на диске в корне лежат файлы autorun.inf, и winopen.exe :)

2007-04-22

кстати про rss :)

Пока прикручивал транспорт rss, нашел google reader (http://www.google.com/reader/view/) - очнь интересное средство работы с rss. имеет каталоги, позволяет использовать внешние фиды и т.д. Правда несколько тяжеловат :(
но мне очень понравился :)

транспорт rss же очень прост. зарегистрировался, послал ему сообщение help - а дальше по обстоятельствам :)

транспорт rss для jabber

Сегодня наконец решился прикрутить транспорт rss к серверу жаббера. Сложность состояла в том, что в портах подобного транспорта нет, и все что я нашел, мало  соответствовало требованиям... пока что я остановился на
pyrss - rss reader работающий как транспорт жаббера.
попутно пришлось находить и разрешать все зависимости - пожалуй это было сложнее всего.
pyrss хранит всю инфу в базе mysql, позволяет пользователям самим создавать нужные фиды и параметры их обновлений, просто послав транспорту сообщение типа "add myfeed http://myurl/ myrefreshperiod", и затем добавив контакт myfeed@rss.myserver...

пока буду тестировать :)

First entry in my new blog

i've discovered that i can use blog on blogger.com via my google account:)
lets try it :)