Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2008-05-26

Обьединить харды

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

Основной плюс - винты можно по отдельности подключать и файлы будут доступны! В отличие от райдов всяких.

Suppose, you have three hard drives - sized 80, 40 and 60 GB. And 150 GB of music files, which you need to store on these drives. How would you do it?


The two solutions I knew of, were:


* either to simply have three separate «Music» folders - one per each drive;
* or create some sort of RAID, joining all the drives into an array.


However, the first method is quite tiresome, as one needs to decide how to split the data between the drives and keep track of what is stored where. For example, I might decide to store all «Classical» music on the first disk, and «Rock» music on the second. Then, suddenly, the first drive fills up and the second one still has plenty of space. Now I need to move the files between the disks, or jump around with symlinks.


The RAID method, while solving this problem, always incurs significant loss of either storage reliability or usable disk space.


But recently, I found a better solution to this problem and similar ones: mhddfs. It is a FUSE filesystem module which allows to combine several smaller filesystems into one big «virtual» one, which will contain all the files from all its members, and all their free space. Even better, unlike other similar modules (unionfs?), this one does not limit the ability to add new files on the combined filesystem and intelligently manages, where those files will be placed.


The package is called «mhddfs» and is currently present in Debian Testing and Unstable. It does not seem to be available in Ubuntu at the moment.

debaday.debian.net

Банкинг, демократия в действии

Зарисовка из моей текущей жизни, иллюстрирующая "полезность" инструментов "демократии". Или иллюзорность декларируемых свобод.

Отец поехал на заработки в Узбекистан. Деньгу ему решили платить безналом в долларах США. А счета у него нет. А он уже там. Ладно, поднимает он меня с утра телефонным звонком, говорит - счет мне сделай! А я, умный - не вопрос!

Иду в банк, рисую ситуацию, говорю: "сделайте мне счет на имя бати моего". А в ответ - не моги. Долларовый - никогда. Пусть сам приходит. Ну, на крайняк, доверенность приноси.
Я считаю это дебилизмом номер раз.
Не могу придумать разумного обьяснения для такого ограничения. Какого [ez, я не могу оформить банковскую запись на паспорт человека "не здесь"? Паспортные данные есть, образец подписи есть, чего вам, жлобам, еще надо? Я ж не смогу деньги снять, только владелец, придет и паспорт покажет. Не, не моги. Правила такие. А я даже знаю, кто эти правила придумал и реализовал.

Ладно. Говорю: "сделайте счет на меня, я батю не обману, деньги ему отдам". А в ответ - не моги. Долларовый - никогда, а вдруг вы деньги с батей отмываете?
Это дебилизм номер два. Какое вам, собакам, дело, как мы с батей деньги попилим? Если батя сказал - переводите деньги на этот конкретный счет - значит он в курсе, чем это ему грозит? (я его кину типа). Это его и мои проблемы, куда вы лезете? Нет, не моги. Бухгалтер переводит деньги на "батю" а счет то на "сыночку". Явно деньги отмывают (а отмыв пасут, это надо для вступления в ВТО. Да нафик мне такой ВТО). Да вам, блин, и знать не положено, на чье имя счет (типа тайна вклада, да? от кого тайна?). Ваша задача деньги отправить по распоряжению "оплата по контракту №...". Куда лезете? Не, все ходы записаны - от кого, кому, за что. Ну ладно, записаны. Вопросы? Приходите, спросите "че за деньги, почему тебе?" а я отвечу, мне скрывать нечего. Нет, просто не моги и все. Нам так удобно. А я типа хрен собачий. Ну да. Так и есть. По факту.

Короче, вариант один - доверенность и счет на имя отца. Я только понять не могу, ну нахрена доверенность то нужна? От тоже, придумщики.

Храните деньги в сберегательной банке. На глубине 3-х метров.

2008-05-24

В винде "сервис" а в линуксе?

А в линуксе "демон".
Но речь не об этом. Понадобилось мне навести ревизию (и внести правки) в демонячем хозяйстве станции с дебианом. А как?
Полез в тырнет, нашел:

Два (даже три) струмента. Первый
update-rc.d
предназначен для использования в скриптах при развертывании пакетов, для ручного употребления не рекомендуется. А используется примерно так:
update-rc.d exim4 start 20 2 3 4 5 . stop 20 0 1 6 .
Этой командой демону exim4 дается установка на запуск в уровнях 2,3,4,5 и оснанов на уровнях 0,1,6. А 20 это номер для сортировки относительно других демонов.
Кстати, уровень можно глянуть командой
runlevel
А что происходит при переходе на умолчальный второй уровень:
ls -la /etc/rc2.d/

Второй (и третий) струменты полезнее для ручного применения:
sysv-rc-conf для консоли и
bum
для графики.

Командой
sysv-rc-conf --list
я поглядел состояние демонизации и командой
sysv-rc-conf --level 0126 exim4 off
зарубил exim4 для уровня 2. Уровни 0,1,6 - уровни на которых пользовательские программы и демоны не работают по умолчанию.

Жить можно.

Верстка, CSS

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

Представляю - система грид 960! Позволяет сверстать страницу рассматривая ее как лист шириной в 960 пикселов, разбитый на колонки. 12 или 16. Смотрите сами:

The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.

960.gs

И на базе 960-ой один чувак (18 лет!) сделал то (или почти то) чем гордится Тёма:

Typogridphy is a CSS framework constructed to allow web designers and front-end developers to quickly code typograhically pleasing grid layouts.

Based on the popular 960 Grid System, Typogridphy allows you to create grid layouts which are versatile and great looking. Typogridphy is made of fully validate, semantic and strict xHTML, and validate CSS.

csswizardry.com

ну и на закуску, YAHOO!
developer.yahoo.com/yui

2008-05-21

День поломок (или починок)

Забавно день сегодня складывается, один к одному. В метро я "успел" на поезд, который "задерживается по техническим причинам". Потом закапризничал Subversion, выдавая сообщения
Could not read status line: SSL error: Rehandshake was requested by the peer.
А до кучи, чтоб не скушно было, я решил даблклик на одну из лишних мышиных кнопок вернуть.

Вот и поделюсь радостью.

Subversion шалить начал (как выяснилось после гугления) по причине глючной библиотеки в свежей сборке (я ж теперь на тестовой ветке дибианчика). Пришлось сделать downgrade:
# dpkg -i --force-depends /var/cache/apt/archives/subversion_1.4.6dfsg1-3_i386.deb
# dpkg -i --force-depends /var/cache/apt/archives/libsvn1_1.4.6dfsg1-3_i386.deb
Полезная штука - кэш пакетов. И все заверте... в смысле заработало.

Как я сделал даблклик. Опять же, по мотивам гугления, сам я до таких вещей додуматься не в состоянии - слишком мало знаю.

apt-get install xserver-xorg-input-evdev
cat /proc/bus/input/devices

смотрим на вывод, у меня так:
I: Bus=0003 Vendor=09da Product=010b Version=0110
N: Name="A4Tech PS/2+USB Mouse"
похоже на мышчь, верно?

gedit /etc/udev/rules.d/19-local.rules
и в нем пишем:


KERNEL=="event[0-9]*", SYSFS{../name}=="A4Tech PS/2+USB Mouse", NAME="input/event9"

Теперь все устройства ввода с номерами от 1 до 9 и с именем Logitech USB-PS/2 Optical Mouse будут ссылаться на одно устройство event9.

gedit /etc/X11/xorg.conf

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Generic Keyboard"
# Valik, add mouse evdev event 9
# InputDevice "Configured Mouse"
InputDevice "evdev mouse"
EndSection

то, что было я закомментарил и вставил новую строку.
И ниже по файлу, старое закомментарил, новую секцию вписал:

# Valik, add evdev mouse, event 9
Section "InputDevice"
Identifier "evdev mouse"
Driver "evdev"
Option "CorePointer"
Option "Device" "/dev/input/event9"
EndSection
#Section "InputDevice"
# Identifier "Configured Mouse"
# Driver "mouse"
# Option "CorePointer"
# Option "Device" "/dev/input/mice"
# Option "Protocol" "ImPS/2"
# Option "Emulate3Buttons" "true"
#EndSection

Перезапуск компа.
Запустил программку
xev
понажимал интересующие меня кнопки, нужная мне для даблклика оказалась номером 8.
Далее уставка пакетов:

apt-get install xbindkeys
apt-get install xautomation

Пропишем что надо делать по нажатию кнопы 8:

kedit ~/.xbindkeysrc

"/usr/bin/xte 'mouseclick 1' 'mouseclick 1' &"
b:8 + Release

Запускаем утилиту:
xbindkeys

Всё, даблклик работает.
Magic!

Источники:

2008-05-20

Debian и его пакеты

Попался на глаза маленький FAQ по использованию пакетных утилит Дебиана apt-xxx

Использование менеджера пакетов Debian

Для начинающих дебиановодов неплохое подспорье.

А вот более длинная, но и более ценная статья. С примерами:

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

Debian и его клоны: управление пакетами

Научитесь программировать за десять лет

Видели книги "Научитесь ... за ... дней"? Думаете реально?

Исследователи (Хейес, Блум) показали, что для приобретения экспертных знаний в любой широкой области человеческой деятельности, включая шахматную игру, сочинение музыки, рисование, игру на фортепьяно, плавание, теннис, а также проведение исследований по нейропсихологии и топологии, требуется приблизительно десять лет. Причем создается впечатление, что в действительности этот срок невозможно сократить: даже Моцарту, который проявил выдающиеся музыкальные способности в возрасте 4 года, потребовалось еще 13 лет для того, чтобы он начал сочинять музыку мирового класса. Рассмотрим другой музыкальный жанр; неосведомленные люди считают, что Битлз совсем внезапно появились на музыкальной арене, выпустив ряд хитов, занявших первые места, и появившись в шоу Эда Сэлливена в 1964 году. Но они играли в маленьких клубах Ливерпуля и Гамбурга с 1957 года, и смогли издать диск Sgt. Peppers, который стал их первым важным успехом, лишь в 1967 году, а до этого просто пользовались определенной популярностью. Сэмюэль Джонсон считает, что фактически требуется больше десяти лет: “Превосходства в любой области можно достичь только упорным трудом в течение всей жизни; его нельзя купить по меньшей цене”. И даже Чосер жаловался: “Жизнь так коротка, что не хватает времени на овладение мастерством”.



Поэтому я предлагаю следующий рецепт достижения успеха в программировании

www.williamspublishing.com

А вот чувак так не думает. Вьехать в тему за месяц можно, а вот научится с нуля - нет однозначно.

2008-05-17

Аптитьюда (aptitude)

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

Здравствуй, aptitude!

Программа aptitude не столь универсальна по своему назначению. Функции ее сводятся к установке и удалению пакетов и получению информации о них. Однако и то, и другое она делает не просто хорошо, а очень хорошо. А уж в отслеживании зависимостей и разрешении связанных с ними коллизий, особенно в нетривиальных случаях, она не имеет себе равных. И потому разработчиками Debian она рекомендуется ныне в качестве основного средства для управления пакетами. В документации к дистрибутивам семейства Ubuntu внимание на ней не столь акцентируется - там отдается предпочтение либо традиционному apt, либо графическим утилитам Synaptic или Adept (в зависимости от рабочей среды). Однако и убунтийцам использование aptitude никак не возбраняется.

Программа aptitude работает в текстовом режиме и предполагает два метода использования – интерактивный, через основанный на ncurces интерфейс, и командный - непосредственно из строки шелла.

citkit.ru

Посмотрим, каков он в деле...

2008-05-16

Literate Programming

Продолжаю тренироваться в переводе. Сразу скажу, это не последний текст с ресурса:

http://www.literateprogramming.com/

Donald Knuth. The CWEB System of Structure Documentation. Addison-Wesley. 1994. pg. 1.

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



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



Кроме того, предоставляя документирующие инструменты, CWEB улучшает язык C предоставляя возможности перестановок кусков текста программ, так что большая система может быть понята целиком в терминах маленьких сегментов и их локальных взаимосвязей. CTANGLE программа так названа потому как берет предоставленную паутину и перемещает сегменты из веб структуры в последовательность требуемую C. Преимущество программирования на CWEB в том, что алгоритмы могут быть выражены в "распутанной" форме, где каждый сегмент разьяснен отдельно. CWEAVE программа так названа потому как берет представленную веб и сплетает порции TeX & C содержащиеся в каждом сегменте, увязывая исходный материал в структурированный документ.

Кстати, я и не знал, что то, к чему я при программировании стремлюсь, имеет простое название - LP

2008-05-15

Literate Programming

http://www.literateprogramming.com/

В качестве тренировки языка решил попереводить, подвернулось значимое:

Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.

Я верю, что пришло время для существенного улучшения документирования программ, и мы можем наилучшим образом достичь этого представляя программы как произведения литературы. Отсюда мой заголовок: "Литературно грамотное Программирование".

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

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

Прошу понять правильно, перевод не литературный, но верный - к этому стремлюсь.

Оригинал:

I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming."

Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.

The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.

2008-05-13

Пассаж про крыс

Очень понравился, не могу не поделится:

Если спроса нет и люди знают, что не будет, то самый твердый человек станет воровать. Может, не сразу, через время, но станет. Внутри крови у нас подляна сидит, ее не денешь никуда. У каждого, понял? Ты, я, все — крысы в душе. Только надо гасить ее всю жизнь, по башке бить, чтоб не могла, сука, рыло свое поганое из грязи вытащить. Само по себе воровство, Сереж, полбеды. Крыса — всегда означает кровь. Вот что плохо. Когда ты выбираешь крысиную дорожку, она кончится кровью, без вариантов. Хорошо, когда только крысячьей — поймают, на железа подымут. В этом беды нет, одна польза — когда крыс режут, люди радуются, а крысы боятся, пределы знают. Хуже, когда крыса людей жрать начинает. Если крысу вовремя не замочить, она вырастет, пределы забудет и начнет у людей жизнь крысить, мочить всех начнет. Это суть крысы — она рядом с собой людей не терпит. Понял, душара?

— Ну… Нет. Дак и спроса не было, так ведь, Старый?

— Был. Дом весь лег.

— Старый, растолкуй. Что мы сделали?

— Ничего.

— Ну, я и говорю, что ничего.

— В этом и косяк. Если ты человек, то крысу терпеть нельзя. А мы терпели, гнулись. Я раньше тоже не понимал. За что мы вообще легли все, понимаешь?


Да, из отсюда - "Каратель" Беркема нашего, Аль Атоми.

А вот еще про крыс, толково изложено:

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

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

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

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

Статейка aleks1958 - Кто и как разрушал СССР
Крысы масдай!

А чтоб не так печально было, развлекитесь словарем тупичка

2008-05-11

Зюганыч жжот

У Гоблина наткнулся на цитату. Приведу цитату из цитаты (Зюганов отжигает):

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

Из страны уехало 800 тысяч самых образованных и подготовленных блестящих специалистов. Сейчас они работают за рубежом. Там их не рожали, не готовили. А ведь подготовка одного инженера стоит миллион долларов. И абсолютное большинство из них не собирается при нынешних условиях возвращаться в страну.

Самое печальное, из 74 миллионов работающих, 55 миллионов живут на 5-6 тысяч рублей в месяц. В то время как плата за двухкомнатную квартиру – примерно 2 тысячи. Напомню, что в среднем содержание уголовника в российской тюрьме обходится в месяц в 6 тысяч 200 рублей.

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

kprf.ru

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

2008-05-10

А вы довольны "сервисом"?

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

Да, был относительно короткий период времени, когда продавец – звучало почти гордо. В те самые бурные девяностые, когда за ночь работы в палатке можно было заработать месячную стипендию. Соответственно, в палатки и рестораны шли люди с оконченным и неоконченным высшим, знанием языков и психологии. И чрезвычайно дорожили местом, найти которое было действительно непросто. Этим людям было сильно некомфортно на рабочем месте, но вне его они могли себе позволить вполне пристойный по тем временам уровень жизни. Неудивительно, что та эпоха вспоминается как звездный час сервиса в России. Теперь ситуация обратная, в крупных городах найти продавца – серьезная проблема и все чаще эту работу приходится отдавать иммигрантам (помните отчеты об опустевших торговых рядах, когда, поддавшись популистской ксенофобии, правительство ввело квоты на «коренные национальности» на рынках?). У гастарбайтеров нет наших социальных комплексов, есть обычно искреннее желание быть полезным и услужливым, однако объективно существующий языковой барьер препятствует признанию их уровня сервиса высоким. К слову, если вам кажется, что в московской торговле много нерусских, съездите в Лондон и поищите за прилавками англичан: даже страна, гордо называвшая себя «нацией лавочников», испытывает проблемы с рекрутированием в сервисный бизнес.

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

www.novayagazeta.ru

О как. И в добавок - а что лично вы сделали для того, чтобы вас качественно обслуживали и были вам рады?

День грусти, 9 мая

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

Но по любому, миллионы людей погибших раньше своего часа - это очень и очень печально.

В конце 1930-х сложилась почти уникальная в истории ситуация, когда развитие наступательных средств изменило общую парадигму военного мышления. До этого военную мысль двигала оборона, основные этапы развития в XIX – начале XX вв.: Гражданская война в США, Англо-бурская война, Первая мировая – определялись беспомощностью атакующих. Во Второй мировой вопрос состоял не в наличии у той или иной стороны танков или авиации и не в их техническом уровне - тот же Роммель в 1941-м имел меньше танков, чем англичане, и они уступали английским и тем более американским почти по всем тактико-техническим показателям. Стратегический успех определялся пониманием танково-авиационной войны как динамической системы сил, постоянно развивающейся во времени. В предыдущих войнах движение было переходным, весьма опасным и нежелательным состоянием между фазами стабильности – обороны одними и штурма другими ключевых позиций. Обороняющаяся сторона при таком подходе всегда имела колоссальное преимущество, потерять которое при наличии минимальных резервов было почти невозможно, – именно в этом образе мышления крылась причина краха оборонительных доктрин Польши, Франции и СССР. Радикальный разрыв со старой парадигмой, в результате которого штурм и оборона стали менее важны, чем маневр, определил и чрезвычайную эффективность немецкой обороны при союзнических контратаках – как в первом Эль-Аламейне, когда Роммель смог справиться с натиском существенно превосходящих сил.

Есть достаточно оснований предположить, что причина поражений лета 1941 г. весьма проста: Красная Армия столкнулась с противником, на голову превосходившим любую другую армию мира в стратегическом и тактическом отношении, действовавшим в принципиально иной парадигме военного мышления. Вопрос «Почему план «Барбаросса» успешно осуществлялся в июне-июле 1941 г.?» оказывается аисторичен. Логичным вопросом в общем контексте событий было бы «Почему план «Барбаросса» перестал осуществляться с августа 1941?». Строго говоря, есть только одно, но кардинальное, отличие советской войны лета 1941 г.: в СССР последняя стадия - паника и апатия - почти наступала несколько раз, но во всех случаях была подавлена либо усилиями сверху, либо инициативой снизу. Только на Восточном фронте было выработано хоть какое-то противоядие немецкому штабному и полевому мастерству.

Необходимо отметить, что действия советского правительства и командования в первые недели войны - часто описываемые как хаотические и непродуманные - предстают образцом хладнокровия по сравнению с мероприятиями других стран. Уже 30 июня выходят коррективы годового плана производства, подразумевающие между строк затяжную войну с оккупацией значительной части территории СССР (ближайший западный рубеж эвакуации предприятий, установленный планом, - Поволжье; фактически советское планирование допускало наихудший сценарий, совпадающий с намеченной немецким генштабом «линией АА» - Астрахань–Архангельск). Ни Польша, ни Франция вообще не задумывались о планомерной эвакуации промышленности с целью экономического обеспечения длительных боевых действий.

www.novayagazeta.ru

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

2008-05-08

Debian-ские страдания

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

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

Прописал в списке репозиториев дистр lenny (убрав остальные варианты) и выдал
apt-get update
apt-get upgrade
apt-get dist-upgrade

ой!?!

Updated:

Докладываю - эксперимент прошел удачно, около гигабайта трафика потратил, слетел драйвер видео и драйвер виртбокса. При переустановке драйвера видео инсталлятор ругался на компилятор, говорил, что установлен gcc-4.2 а ядро собрано через gcc-4.1 и "быть беде". Фигня, на самом деле надо было переустановить пакет linux-headers с нужной версией. И драйвер встал как надо.

И stardict обещает собраться...

Updated2:

Собраться - не собрался пока, зато поставился новейший из пакетов. Даже оказался новее, чем я скачивал с сайта SF.NET несколько дней назад. О как. Сборка опять откладывается... ведь работает, новье. Кстати - рекомендую, он, падла еще и говорит!

Лекция про любовь, со слайдами

Это отсылка к совковому анекдоту.
А пост про другие слайды: habrahabr.ru

2008-05-04

SSH через прокси (proxy)

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

Как это сделать? Легко, устанавливаю программулину Corkscrew. Ну, типа так:


tar -xzvf corkscrew.tar.gz
cd corkscrew
./configure
make
make install

В файле
/home/valik/.ssh/config
пишу такую строку
ProxyCommand /usr/local/bin/corkscrew proxy.home.net 3128 %h %p ~/.ssh/proxyauth
где proxy.home.net - имя компа с прокси, 3128 - порт прокси, ~/.ssh/proxyauth путь к файлу с именем и паролем для прокси.
Содержимое этого файла (/home/valik/.ssh/proxyauth) такого вида
valik:superDuperPass
имя:пароль, понятно, да?
А, собственно, всё.

Дальше набираю заклинание открытия сеанса SSH:
ssh -v -p 22 -i /home/valik/.ssh/keyname.ssh.rsa.pk guest@server.worknet.net
и имею сессию через прокси.

Кстати, если добавить к команде довесок вида
-L 3389:lanhost:3389
то локальный порт 3389 (localhost:3389) пробрасывается прозрачно на машину lanhost (lanhost:3389) в сети сервера к которому я подключился секурным шеллом. Я эту фишку использую для работы с "удаленным рабочим столом" в офисной сети (а сам дома сижу, за прокси).

Убойная технология, практически VPN, да еще через прокси!

Оригиналы, с которых я это замутил:
Updated:
Не забыть в SQUID разрешить соединения методом CONNECT для нужных портов. У себя я это сделал просто, закомментировал запрет соединений на "не безопасные" порты:

# Deny CONNECT to other than SSL ports
#http_access deny CONNECT !SSL_ports

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)