Про железнодорожную артиллерию и русские линкоры

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

transporter

Рассказ о них начну издалека. В 1905 году все ведущие морские державы, изучая опыт русско-японской войны, пришли к выводу, что «традиционные» броненосцы с небольшим количеством крупнокалиберных орудий (10-12 дюймов) и внушительной батареей артиллерии среднего калибра (6-8 дюймов) — это тупиковый путь развития. Конечно, проекты кораблей с 10-12 дальнобойными орудиями калибра 12 дюймов и более начали появляться и в 1902-1903 году, но отказ от артиллерии среднего и мелкого калибра стал «модным трендом» лишь по итогам войны.

В январе 1905 года в США утверждают проект «Мичигана», в июне того же года в Англии обсуждается проект «Дредноута». Вступивший в строй уже в конце 1906, «Дредноут» стал прототипом для целого класса кораблей, а его название стало нарицательным.

Естественно, все остальные броненосцы, строившиеся в расчете на «старые» морские доктрины в одночасье оказались устаревшими. Фактически, ни один из них не мог составить сколько-нибудь серьезную конкуренцию английской новинке, более чем вдвое превосходившей их по мощности крупнокалиберной артиллерии. Все ведущие державы приступили к проектированию и строительству собственных дредноутов. Удивительно, но тяжелее всего в этой гонке пришлось Англии — если до 1905 года английский флот вдвое превосходил по силе флот любой другой страны, то после него англичанам пришлось спешно строить новые и новые дредноуты, чтобы хотя бы поддерживать паритет с немецким флотом, который до этого вообще не принимался в расчет. Свои дредноуты строили Франция, Италия, и даже Австро-Венгрия. Такие «гиганты» мировой политики, как Бразилия, заказывали постройку дредноутов в других странах. Россия тоже не осталась в стороне. Ни достраивавшаяся «Слава», ни «новейшие» броненосцы серии «Андрей Первозванный» уже не удовлетворяли современным требованиям, и в 1907 году был объявлен конкурс на лучший проект дредноута для Балтийского флота, в котором победил проект Балтийского завода, разработанный Иваном Бубновым.

Линкоры типа Севастополь (сверху) и Императрица Мария (снизу)
Линкоры типа Севастополь (сверху) и Императрица Мария (снизу)

Было построено четыре корабля: «Севастополь», «Гангут», «Петропавловск» и «Полтава». Все они были заложены в один день 15 июня 1909 года и вступилли в строй в конце 1914 года. Одновременно с постройкой дредноутов на Балтике, был разработан и проект для Черноморского флота. Серия включала три корабля: «Императрица Мария», «Екатерина II» и «Александр III».

Если балтийские дредноуты за всю войну не сделали ни единого выстрела, а с немецкими дредноутами сражались старые броненосцы, типа «Цесаревича» и «Славы», то их черноморские собратья, едва вступив в строй в 1915 году, сразу начали активно использоваться. Правда, единственным серьезным боем была встреча «Императрицы Марии» и немецкого линейного крейсера «Гебен».

Судьба всех черноморских дредноутов оказалась несчастливой. «Императрица Мария» затонула в 1916 году из-за взрыва и последовавшего за ним пожара, «Екатерина II», переименованная в 1917 году в «Свободную Россию», была затоплена по приказу Ленина в Новороссийске. Третий линкор этой серии, «Император Александр III», вступивший в строй в 1917 году уже под названием «Воля», остался в Севастополе, где «пошел по рукам», оказываясь в составе украинского, английского, немецкого, и, наконец, врангелевского флота. Вновь переименованный в «Генерал Алексеев», линкор в 1920 году ушел с остатками Черноморского флота в Бизерту.

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

Советское правительство, получив четыре линкора на Балтике, оказалось неспособно поддерживать их в боеготовом состоянии, а достраивать новые — тем более. Корпуса линкоров «Демократия» (до 1917 года — «Николай I») и «Измаил» планировали закончить вплоть до 1927 года, а «Бородино», «Кинбурн» и «Наварин» были проданы на слом в Германию в 1922 году.

В середине 20-х начался ремонт и модернизация балтийских линкоров. Был частично разобран и разоружен пострадавший от пожара «Фрунзе» (бывшая «Полтава»), а «Марат» («Петропавловск»), «Октябрьская революция» («Гангут») и «Парижская коммуна» («Севастополь») серьезно модернизированы. Кроме того, в СССР имелось большое количество предназначенных для недостроенных линкоров орудийных стволов, в добавок к которым водолазы ЭПРОН (Экспедиция подводных работ особого назначения) подняли уцелевшие орудия «Императрицы Марии» и «Екатерины Второй».

В 1927 году был предложен проект железнодорожной установки, вооруженной 14-дюймовым орудием (для серии «Измаил»). Предполагалось, что такие установки смогут вести огонь по линкорам противника, если те войдут в Финский залив. Установка получила название ТМ-1-14 (1 — порядковый номер, 14 — калибр орудия). Затем были спроектированы установки ТМ-2-12 с двенадцатидюймовыми орудиями от линкоров типа «Андрей Первозванный» и ТМ-3-12 с орудиями, предназначавшимися для черноморских линкоров. Эти установки применялись в основном на Балтике, но часть транспортеров перебросили на Дальний Восток. Кроме того, планировалось устройство позиций для них под Одессой.

Батарея №9, вооруженная установками ТМ-3-12, приняла участие в советско-финской войне. После завершения боевых действий батарея была переведена на полуостров Ханко. После начала Великой Отечественной войны и последующнй эвакуации советских частей из Ханко было решено уничтожить эти установки. Стволы были взорваны, а транспортеры выведены из строя.

Тем не менее, трудолюбивым финнам удалось восстановить батарею. Транспортеры отремонтировали, а орудия купили еще в 1939 году у правительства Франции. В 1936 году ушедший в составе белого флота линкор «Генерал Алексеев» был разобран в Бизерте на металл, но орудия французы сохранили. Финнам досталось 8 орудий из 12. Пароход с оставшимися четырьмя был задержан в норвежском Бергене после немецкой оккупации Норвегии. Несмотря на «союзнические обязательства», немцы конфисковали груз, и использовали орудия при создании «Атлантического вала», вооружив ими батарею на острове Гернси. Летом 1944 года эта батарея добилась попадания в американский крейсер. Кстати, есть мнение, что сюжет книги и фильма «Пушки острова Наварон» частично основан на действиях этой батареи.

Отремонтированные финнами транспортеры после заключения в 1944 году перемирия с Финляндией были возвращены в СССР и включены в состав морской бригады железнодорожной артиллерии. Эти установки состояли на вооружение ВМФ довольно длительное время. В 1984 году на вооружении флота еще находились два ТМ-3-12, не считая «музейного», установленного на форте «Красная горка». Не так давно эта установка была перевезена в Москву и установлена на Поклонной горе.

Решаем дифуры на PHP

Достаточно достать из коробки какой-нибудь Asus EEE PC, написать такой код в «блокноте»:

<?php
function f1($x, $y1, $y2){
return $y2;
}

function f2($x, $y1, $y2){
return (1-$y1*$y1)*$y2-$y1;
}

header("Content-type: image/png");

$st = microtime();

$image = imagecreate(640, 480);

$colorBack = imageColorAllocate($image, 0, 0, 0);
$colorFore = imageColorAllocate($image, 255, 255, 255);

imageFilledRectangle($image, 0, 0, 639, 479, $colorBack);

$x0 = 0;
$y01 = 0;
$y02 = 0.0001;

$h = 0.1;

while($x0 < 64){
$p11 = $h*f1($x0, $y01, $y02);
$p12 = $h*f2($x0, $y01, $y02);

$p21 = $h*f1($x0 + $h/2, $y01 + $p11/2, $y02 + $p12/2);
$p22 = $h*f2($x0 + $h/2, $y01 + $p11/2, $y02 + $p12/2);

$p31 = $h*f1($x0 + $h/2, $y01 + $p21/2, $y02 + $p22/2);
$p32 = $h*f2($x0 + $h/2, $y01 + $p21/2, $y02 + $p22/2);

$p41 = $h*f1($x0 + $h, $y01 + $p31, $y02 + $p32);
$p42 = $h*f2($x0 + $h, $y01 + $p31, $y02 + $p32);

$x1 = $x0 + $h;
$y11 = $y01 + ($p11 + 2*$p21 + 2*$p31 + $p41) / 6;
$y12 = $y02 + ($p12 + 2*$p22 + 2*$p32 + $p42) / 6;

$x0e = $x0*10;
$y0e = 240 - $y01*100;

$x1e = $x1*10;
$y1e = 240 - $y11*100;

imageLine($image, $x0e, $y0e, $x1e, $y1e, $colorFore);

$x0 = $x1;
$y01 = $y11;
$y02 = $y12;
}

$st = microtime()-$st;

imageString($image, 3, 10, 10, "Calculation time " . $st . " ms", $colorFore);

imagePNG($image);
?>

загрузить все это на какой-нибудь бесплатный хостинг, пользуясь стандартным консольным ftp-клиентом, встроенным в Windows — и наблюдать вот такую картинку (обратите внимание, что выдает ее php-скрипт):

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

А вот ZX Spectrum

Еще один график, на этот раз — построенный программой на Sinclair Basic.

Из-за ограниченных вычислительных возможностей ZX Spectrum пришлось обойтись построением графика «по точкам», но даже так на расчеты ушло около 3 минут. Сколько пишется программа — считайте сами, для меня наибольшей сложностью было работать с эмулятором, не имея под рукой раскладки «оригинальной» клавиатуры.

10 DEF FN F(X,Y,Z)=Z
20 DEF FN G(X,Y,Z)=(1-Y*Y)*Z-Y
30 LET X0=0
40 LET Y0=0
50 LET Z0=0.0001
60 LET H=0.1
70 INK 7
80 PAPER 0
90 IF X0 >= 64 THEN GO TO 280
100 LET P11=H* FN F(X0,Y0,Z0)
110 LET P12=H* FN G(X0,Y0,ZO)
120 LET P21=H* FN F (X0+H/2,Y0+P11/2,Z0+P12/2)
130 LET P22=H* FN G (X0+H/2,Y0+P11/2,Z0+P12/2)
140 LET P31=H* FN F (X0+H/2,Y0+P21/2,Z0+P22/2)
150 LET P32=H* FN G (X0+H/2,Y0+P21/2,Z0+P22/2)
160 LET P41=H* FN F (X0+H,Y0+P31,Z0+P32)
170 LET P42=H* FN G (X0+H,Y0+P31,Z0+P32)
180 LET X1=X0+H
190 LET Y1=Y0+(P11+2*P21+2*P31+P41)/6
200 LET Z1=Z0+(P12+2*P22+2*P32+P42)/6
210 LET X0E=X0*4
220 LET Y0E=88+40*Y0
230 PLOT X0E,Y0E
240 LET X0=X1
250 LET Y0=Y1
260 LET Z0=Z1
270 GO TO 90
280 BEEP 1,2

График более-менее совпадает с построенными в Qbasic и на ECMAScript:

spectrum-graph

Еще одно решение

На этот раз [info]soonts продемонстрировал, как можно строить графики и рисовать картинки, когда по рукой нет ничего, кроме приличного браузера. Windows с Internet Explorer «из коробки» не подходит, а вот, например, дистрибутивы Linux с KDE 4 и Konqueror должны будут показать вот такую картинку:

800x600, кликабельно
800x600, кликабельно

Кстати, придумалось еще одно «решение». Программа на PHP с использованием библиотеки GD пишется за 10-15 минут, затем ищется хостинг, все заливается туда и выполняется уже на сервере. Текстовый редактор и консольный FTP-клиент в Windows XP или Vista точно есть.

Решаем уравнения

Первым справился [info]stepanishchev, естественно, с использованием МК-152. Время составления программы — порядка получаса, время счета — 2 минуты 15 секунд. График бодро выводится по мере расчетов :)

На сайте НПП «Семико» выложен пример программы: http://mk.semico.ru/dr_info25.htm, снабженный комментариями. Если кому-нибудь вдруг потребуется решать на МК-152/161 системы дифференциальных уравнений — путем небольших поправок можно «научить» калькулятор делать это.

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

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

semiko_graph

graph

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

У меня есть теория: если вы хотите какой-то метод скомпрометировать — ищите решение уравнения Ван-дер-Поля
(П. Э. Задунайский, 1982)

Для подавляющего большинства «реальных» задач рассмотренный метод работает намного лучше.

С графиком в МК-152 все нормально, просто в первом варианте программы не было учтено, что ось Y направлена вниз. Если картинку перевернуть — все будет OK.

Спутниковое ТВ: что смотреть

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

Самый простой способ соотнести желаемый состав каналов с «реальным» — это внимательный просмотр списка на каком-нибудь сайте с базой данных по спутникам и частотам. Я лично пользуюсь LyngSat. Это внушительная база данных, содержащая довольно полную информацию по транспондерам, пакетам и каналам каждого спутника.

Самый главный плюс такой базы — наличие списков каналов по странам, а также алфавитного списка каналов. Например, если хочется узнать, на каких спутниках есть бесплатные российские каналы — к вашим услугам список «Free TV Russia«. Согласитесь, что список очень неплохой, даже если ограничиться несколькими «популярными» спутниками.

Конечно, практически невозможно за разумные деньги построить такую систему, в которой будет возможен прием всех перечисленных каналов. Но можно ограничиться несколькими спутниками. Например, как я уже говорил, очень распространен «набор» из спутников ABS 1 (75E), Экспресс-АМ2 (80E) и Ямал 201 (90E).

Получившийся бесплатный «пакет» из Первого, ТВ3, НТВ, Спорта, ДТВ, СТС, ТНТ, Вестей, РБК, Мира, Первого игрового, 2×2, A-one и еще нескольких каналов — очень неплох в сравнении с двумя-тремя каналами с эфирного ретранслятора.

К другим распространенным вариантам относятся Экспресс-АМ22 (53E), Intelsat 904 (60E) и уже знакомый нам ABS 1 (75E) — на европейской части России, и «европейский» набор из Amos (4W), Sirius (5E), Hotbird (13E), иногда — с добавлением Astra 1 (19E) — это более характерно для Украины и Прибалтики (с пакетом Viasat). В последнее время на европейской части России стали ставить Hotbird (13 E) вместе с Eurobird 9 (9E) — из-за недорогих HD-каналов на последнем, и обилия музыкальных, спортивных и порнушных каналов на первом. Учитывая, что практически все эти импровизированные пакеты — намного дешевле стандартного российского НТВ+, а по качеству некоторых видов контента не уступают ему, можно задуматься и об их установке. Замечу, что последний вариант — Amos-Sirius-Hotbird-Astra — отличная находка для тех, кто хочет смотреть европейские каналы.

Еще одна опция LyngSat — выбор каналов из алфавитного списка. Например, если в списке принимаемых каналов обязательно должен быть CNN, то достаточно открыть страничку «LyngSat Adress«, найти в списке «CNN International Europe» и убедиться, например, что на Astra 1M он есть в «открытом» виде, а на Hotbird имеется две «кодированные» копии (правда, одна из них доступна для просмотра — но об этом будет отдельный разговор).

Думаю, сейчас надо раскрыть смысл некоторых встречающихся на LyngSat понятий. Начнем с таблицы-списка каналов. Первая графа — частота и транспондер, как я уже говорил, совершенно необходимая для приема информация. Для каждого транспондера указан список его каналов, символьная скорость и FEC. Для каналов в списке указываются номера SID и PID для видео и аудиодорожек (которых может быть несколько). Кроме того, для транспондеров указывается тип модуляции (DVB или DVB-S2), а для каналов — информация о видеопотоке (MPEG-2 или MPEG-4), а также наличие «кодирования», как в прсторечии называют системы условного доступа.

Если на канале кодирования нет, то канал называется «открытым» и его можно смотреть, не прилагая к этому особых усилий. «Кодированные» же каналы обычно принадлежат какому-нибудь пакету, и для «раскодирования» нужны специальные средства — чаще всего «карточка условного доступа», но иногда — и специальный очень дорогой профессиональный ресивер, как в случае с кодировками PoverVu или Rosscrypt. Системы условного доступа — отдельная очень большая тема, к которой я обязательно вернусь, когда речь пойдет о выборе ресивера.

Очень важная графа в таблице — «луч» (beam), обычно содержащая гиперссылку на карту покрытия, вроде такой:

astra1m_wide

Теплые цвета соответствуют высокому уровню сигнала, холодные — низкому. За пределами закрашенной зоны прием практически невозможен. Цифры на карте соответствуют EIRP — эффективной мощности сигнала, справа от карты находится табличка для пересчета EIRP в необходимый размер отражателя параболической антенны. Этот параметр будет важен при выборе «тарелки».

Конечно, реальные размеры антенны лучше выбирать несколько больше, чем рекомендует LyngSat, а еще лучше — проконсультироваться, например, на местных форумах, о том, какие «тарелки» ставят.

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

Решаем уравнение бурбулятора

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

Чтобы не извращаться, возьмем возникающее из физики уравнение Ван-дер-Поля. Речь идет о «модификации» уравнения осциллятора

y» + ay’ + y = 0.

Как легко показать (ну-ка, кто умеет решать дифференциальные уравнения?) при a>0 колебания будут затухающими, а при a<0 - неустойчивыми, то есть система пойдет вразнос. При a=0 получится малоинтересное уравнение идеального колебательного контура, которого в природе не бывает. Параметр a играет здесь роль сопротивления. Теперь подставим вместо константы a изменяющуюся величину (например, включив в цепь триод). В качестве простого "идеализированного" триода выберем a = y2 — 1. Тогда уравнение превратится в

y» + (y2-1)y’ + y = 0,

или, после стандартного понижения порядка — в систему двух уравнений:

y’1=y2
y’2=(1 — y12)y2 — y1

Как показал в 1920-1926 году Ван-дер-Поль, у такой системы сущеcтвует устойчивое периодическое решение, к которому сходятся все остальные решения. Это не может не радовать, так как система возникла из математического описания генератора незатухающих колебаний на триоде (кстати, для 20-х — вполне себе чудо техники).

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

y’1=f1(x, y1, y2)
y’2=f2(x, y1, y2),

мы умеем вычислять функции f1 и f2 в любой точке, и нам известны значения y1, y2 в точке x0. Тогда мы можем приближенно вычислить их значения в точке x1 = x0 + h, где h достаточно мало, по следующим формулам (в «Кратком физико-математическом справочнике» Аленицына, Бутикова и Кондратьева 1990 года издания они приведены, как «формулы Рунге-Кутта»):

p11 = hf1(x0, y1, y2)
p12 = hf2(x0, y1, y2)

p21 = hf1(x0 + h/2, y1 + p11/2, y2 + p12/2)
p22 = hf2(x0 + h/2, y1 + p11/2, y2 + p12/2)

p31 = hf1(x0 + h/2, y1 + p21/2, y2 + p22/2)
p32 = hf2(x0 + h/2, y1 + p21/2, y2 + p22/2)

p41 = hf1(x0 + h, y1 + p31, y2 + p32)
p42 = hf2(x0 + h, y1 + p31, y2 + p32)

x1 = x0 + h
y1(x1) ≈ y01 + (p11 + 2 p21 + 2 p31 + p41) / 6
y2(x1) ≈ y02 + (p12 + 2 p22 + 2 p32 + p42) / 6

Конечно, в современной вычислительной практике применяются гораздо более сложные варианты метода Рунге-Кутта, например, формулы Дормана-Принса, но для грубых расчетов хватит и этого. Не будем усложнять задачу такими «бонусами», как автоматический выбор длины шага, а ограничимся этими формулами. Для упрощения написания программы я «раскрыл» вектор (y1, y2). Для вычисления y1(x1) и y2(x1) достаточно лишь применить эти формулы в том порядке, в котором они выписаны. Вычисления надо повторять, пока не исчерпается отрезок, на котором нас интересуют значения y(x).

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

x0 = 0,
y1(0) = 0,
y2(0) = 0,0001

Очень небольшое значение y2 — необходимый для запуска генератора «толчок». Я утверждаю, что при таких условиях y1(x) довольно быстро «стабилизируется» и колебания станут незатухающими, с постоянной частотой. Для того, чтобы убедиться в этом, предлагаю проделать вычисления с шагом 0,1 вплоть до x = 64. Получим довольно симпатичный график (масштаб по y — в десять раз меньше, чем по x):

graph

Предлагаю всем желающим попробовать построить такой же график любыми доступными с компьютером «из коробки» средствами. К таковым, например, можно причислить Excel — офисный пакет довольно часто является предустановленным, Matlab же к «коробочным» не относится. Разнообразные варианты Basic — от Sinclair Basic до VBScript, Javascript, различные варианты интерпретатора командной строки — только приветствуются. Интересно было бы взглянуть на программу для какого-нибудь программируемого калькулятора (при отсутствии графического экрана достаточно просто «распечатки» значений). Сомневаюсь, что «старинные» МК-52 или МК-61 «потянут» это, памяти у них маловато (хотя метод Ньютона для них реализовывали), а вот для МК-152 такая задача — в самый раз.

PS Я свой график строил на QBasic из комплекта MS-DOS 6.22

Что такое консерватизм

Консерватизм — это идеология, выступающая за уменьшение числа государств на карте мира. Думаю, достаточно двух-трех десятков. Например, Африку можно «сократить» примерно до такого вида:

africa-map

Царь Гарри

Пока всякие «палитеги» рассуждают, как им обустроить Россию сверху, снизу поступило предложение восстановить монархию, пригласив варягов Генриха Чарльза Альберта Дэвида Виндзора (Саксен-Кобург-Готского), более известного под агентурной кличкой «принц Гарри» к нам на царство. Между прочим, Гарри — прямой потомок Николая I по отцовской линии, принадлежащий к царствующему дому, так что прав на престол у него на порядок больше, чем у нынешних Romanoffых.

Кстати, ни один из Romanoffых не служил в армии, в то время как Гарик имеет воинское звание корнет и побывал в Афганистане в качестве авиационного наводчика.

В ЖЖ создана инициативная группа, ставящая свое целью восстановление монархии, естественно, с Гариком на престоле: [info]tsar_garry. Вступаем, пиарим, участвуем.

Про SEO, аптечное радио и радиохулиганов

Борюсь со спамерами, раскручивающими фарма-сайты. Как же их поведение похоже на круглосуточную рекламу биодобавок по всем трем программам «аптечного радио»!

Придумался идиотский рассказик про печальную судьбу «аптечного радио». Представьте себе, что никакого интернета нет, а место «развлекательных сайтов» и аськи занимает «медвежий угол» — участок коротковолнового диапазона примерно от 1800 до 3000 кГц, заселенный радиохулиганами с незапамятных времен — по причине его абсолютной ненужности.

…Большой десантный корабль «Платон Щукин» медленно шел по Зондскому проливу. Наверное, мало кто знал о его присутствии здесь. «Официально» «Щукин» должен был находиться почти на две с половиной тысячи миль севернее, а в Зондском проливе находился украинский сухогруз «Мыкола Перебейнiс» с грузом бронетехники для очередного «освободительного движения» где-то в Юго-Восточной Азии. Впрочем, голландские фрегаты, патрулировавшие район, не обращали внимания на пребезобразнейший корабль, заваленный контейнерами, особенно после того, как этот «Cola Per Bivis» разразился по рации в ответ на собственный позывной потоком пьяной брани.

В радиорубке «Щукина» было тесно, жарко и душно. Наверное, если бы голландцы все же поднялись на борт фальшивого сухогруза, они бы очень удивились наличию огромного числа оборудования, явно не характерного для обычного корабля, укрытой под парусиновым чехлом антенне пеленгатора и вахте из двух радистов и штурмана, сменяющейся каждые четыре часа. Если бы они решились заглянуть в трюмы, то вместо трех записанных в декларации «тракторов Рикардо производства Великобритании» обнаружили бы там полторы сотни бойцов спецназа ГРУ и компактный вертолет Ка-282, специально предназначенный для быстрого взлета с любой площадки. Контейнеры же скрывали скорострельные пушки и огнеметную установку «Буратино».

ship

Радисты же занимались странным на первый взгляд делом. Почему-то офицеры на боевом корабле слушали переговоры «свободных операторов» на территории Дальнего Востока. Опускался вечер, и уже стало слышно солдат-срочников с Камчатки, рыбаков в Охотском море и даже пару «простых» радиохулиганов из Владивостока. Удивительно, но осуждая их действия на словах, власти не предпринимали в их отношении ничего, а фактически — чуть ли не поощряли. В среде хулиганов было распространено недалекое от истины мнение, что они «заселили» диапазоны, используемые для дальней радиосвязи кораблями НАТО.

Разговоры были самые обычные для «медвежьего угла» — от обсуждения конструкций усилителей на табуретке до матерных монологов. По мере того, как открывалось прохождение, в дискуссии вступали жители Якутии и даже восточного Казахстана. Внезапно мирный разговор прорезал рекламный слоган: «Покупайте Танакан — хуй не вместится в стакан!». Эфир разразился руганью то ли в адрес «рекламщика», то ли в адрес замешкавшегося «свободного оператора», не успевшего вовремя перейти на передачу. Радисты же на «Щукине» попытались запеленговать источник сигнала, находившийся невероятно близко в сравнении с остальными — каких-то 20-30 миль.

Тем временем эта же станция стала передавать буквально каждые две-три минуты «нарезку» из рекламы биодобавок, виагры и лично доктора Курпатова. Это упростило задачу дежурившей в радиорубке смене, довольно быстро радисты и штурман определили, что до передатчика, расположенного среди маленьких островков прямо по курсу — всего лишь пара часов хода. В тропиках темнеет быстро, поэтому уже никто не мог заметить приготовлений к бою на палубе БДК.

…На маленьком атолле, где кроме небольшого здания с дизельным генератором и передатчиком был лишь пальмовый лес и красивый песчаный пляж, этой ночью все было совершенно спокойно. Рууд даже решил, что ему уже не обязательно следить за работой аппаратуры — со всем справится его приятель, который считал себя уже «профессиональным диджеем». Шутка ли — работать на пиратской радиостанции, которая покрывает почти всю Яву и Суматру, а по ночам порой слышна даже в Австралии?

shack

Рууд, правда, был далек от оптимизма. Когда они втроем с друзьями начинали все это дело, им мерещился тропический рай, остров с пальмами, выпивкой и наркотиками — а главное — девушки, балдеющие от одной лишь перспективы сказать что-нибудь в микрофон вместе с «известным в всей голландской Ост-Индии ди-джеем». К сожалению, все это оказалось страшно непохоже на реальность. Вместо девушек и «Баккарди» их моторная лодка доставляла на остров преимущественно бочки с соляркой для генератора. Кто же мог подумать, что купленный по дешевке передатчик будет жрать столько электричества? Даже Рууд, учившийся в техническом колледже, и, следовательно, отвечавший за всю техническую сторону этой затеи, не мог представить, как десятикиловаттный усилитель потребляет «из розетки» все 50 киловатт. Слабосильный двигатель с трудом справлялся с этой нагрузкой.

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

Не очень весело было и с «веселой травой». Казалось бы, чего стоит зайти в любой кофешоп на берегу — но денег едва хватало на еду и бензин. «Russian marijuana», которую в синих пачках с картой Европы можно было выменять у моряков с русских сухогрузов, оказалась редкостной дрянью. В этот раз, правда, Рууд выпросил у добродушного русского, с которым они вместе пили на берегу, пакетик с настоящей коноплей, называвшейся странным русским словом «Chujskaja». Кто их разберет, этих русских. Вроде и пьют, а совсем не пьянеют — последнее, что Рууд помнил в тот день, это то, как его русский приятель волок его совершенно пьяного в порт. Пишут странными буквами, говорят непонятными словами. Вроде как научили его в баре русскому приветствию «Poshol ha huj mudila», да вот только все радисты с проходивших русских сухогрузов почему-то обижались и начинали ругаться на смеси английского и своего странного языка. Странные люди, чего уж говорить.

Погруженный в мысли, Рууд забил косяк и затянулся. На этот раз русский не обманул, трава действительно была ядреная. Стоявший в полумиле сухогруз вдруг расцвел пучком желто-оранжевых искр, летевших к острову. Искры приближались, увеличивались в размерах — Рууд мог сравнить это только с LSD, который он пару раз пробовал на вечеринке у приятеля. Когда же летевшая первой искра попала на другой конец острова и подожгла стоявшие там пальмы, оставалось только удивляться…

Снаряженные особой горючей смесью, снаряды «Буратино» успели догореть к тому моменту, как первая десантная партия ступила на берег. Залп тяжелого огнемета превратил остров в крематорий, сгорело буквально все, даже песок оплавился и застыл в виде стеклянных бусин. Остатки огнесмеси догорели, но десантники чувствовали жар даже через толстые подошвы ботинок. Командир группы доложил, что на острове не осталось ничего живого, а сам атолл напоминал полигон для испытаний ядерного оружия.

Когда десант начал уже возвращаться на корабль, обследовав остров на предмет возможных подземных бункеров или укрытий со свидетелями «фаер-шоу», устроенного «мирным сухогрузом», радары на «Щукине» засекли быстро идущий к острову катер. На импровизированной вертолетной площадке, сооруженной на двух контейнерах, уже стоял вертолет, так что капитану оставалось лишь отдать команду «Вертолет — в воздух!». Маленький, но грозный Ка-282 оторвался от корабля и на малой высоте понесся к катеру, доставлявшему радиопиратам топливо и провизию. От первой же очереди крупнокалиберной авиационной пушки бочки с топливом вспыхнули, как факел, трое находившихся на катере упали в воду. Вертолет еще несколько раз «проутюжил» место затопления лодки и поспешил вернуться на корабль — начинало светать, и совершенно не нужно было привлекать излишнее внимание к «Мыколе Перебейнiсу».

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

«Платон Щукин» в это время уже стоял во Владивостоке, но вряд ли бы кто-нибудь из его команды усомнился бы в том, что месяц назад их корабль участвовал в учениях в районе Камчатки. Офицеры ГРУ вообще не склонны к излишней болтливости.

Слушаю XRadio

Сегодня соорудил первую в своей практике более-менее постоянную «заоконную» антенну («веревка» от Дегена, которую я на изоленте вешал на балконе отеля в Литве — не в счет). Конечно, жить на 14 этаже в относительно новом доме — это приятно, но «стандартную» суррогатную антенну из 10-15 метров тонкого эмальпровода, закинутого на дерево во дворе, здесь не соорудишь.

Собственно, особых иллюзий по поводу антенны «из окна на балкон» я не испытывал, но мои ожидания более чем оправдались. Антенна подвешена примерно так:

p-3_1

Устройство антенны — очень простое, к «крайнему» контакту разъема Jack 3.5 припаян длинный кусок эмальпровода, который выкинут в окно, к «земле» — короткий провод с «крокодилом» на конце, цепляющийся к батарее отопления.

5-6 метров провода, повешенные вдали от таких источников помех, как зарядники для мобил и блоки питания компьютеров, творят чудеса. Даже не очень мощное XRadio слышно во всех диапазонах очень и очень неплохо (когда не мешают китайцы), лучше, чем, например, на активную антенну Degen DE31. Подключал антенну и к культовой магнитоле Sony CFS-B5S, прием отличный.

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

XRadio

А вот хорошие парни из Тамбова решили разбавить засилье китайцев и арабов в коротковолновом диапазоне хорошей музыкой.

http://xradio.su

Ежедневно с 16:00 до 24:00 по московскому времени XRadio работает в диапазонах 22 и 25 метров, частоты — согласно расписанию:

16:00-20:00 11770 кГц
20:00-22-00 13640 кГц
22:00-24:00 11945 кГц

Доставайте свои Спидолы и Дегены :)

Оператор наведения [info]stone_guest.

К вопросу о легкости программирования

Вчера в комментариях два раза прозвучала точка зрения, совпадающая с популярным в среде программистов и сочувствующих заблуждением, что языки высокого уровня, типа VBScript, Java, C# или VB.NET — это идеальные языки для «не-программистов» — простые в освоении и «безопасные», то есть не дающие совершить ошибку. Но… Давайте вспомним задачу об определении резонансной частоты. Предлагается следующий код на VBScript (немного исправленный для большей реалистичности единиц измерения):

strL = InputBox("Enter the inductance, uH")
strC = InputBox("Enter the capacitance, pF")
WScript.Echo "Resonance frequency in kHz is " & ( 1.0 / Sqr( CDbl(strL) * CDbl(strC) ) )

Казалось бы, все очень просто. Но давайте сравним его с вот такой программой на QBasic:

DIM L AS DOUBLE, C AS DOUBLE
INPUT "Enter the inductance in uH and capacitance in pF", L, C
PRINT "Resonance frequency is "; 1.0/SQR(L * C); " kHz"

В чем разница? Программа на «классическом» Basic записывается с использованием простых операторов — здесь это DIM, INPUT и PRINT. Согласитесь, что PRINT — намного более очевидная запись для оператора вывода, чем «заклинание» WScript.Echo, а INPUT — более естественная форма записи оператора ввода, чем InputBox. Функция CDbl — это вообще «по ту сторону добра и зла».

Изложение основ Basic в объеме, достаточном для простых «вычислительных» программ, занимает всего лищь десяток страниц. Конечно, можно на том же десятке страниц рассказать и об аналогичных возможностях, к примеру, VBScript. В чем разница полученных знаний? Если изучающий «классический» Basic получит полное изложение основных возможностей языка, то его собрат по несчастью, вынужденный разбирать нюансы VBScript, будет воспринимать команды вроде WScript.Echo как «заклинания». Это еще не самое страшное. Если десятистраничное изложение основ VBScript — это начало книги по этому языку программирования, то, естественно, будет упомянут и «объект» WScript. Что такое «объект» — разъяснить человеку, не знакомому с программированием вообще, невозможно. Можно сколько угодно говорить, например, о прелестях использования библиотеки классов MFC, но если вы ни разу не писали с использованием «голого» WinAPI — вы никогда не поймете, что объектно-ориентированное программирование по своей сути — это удобный способ записи некоторых реально возникающих конструкций. Не увидев того, как эти конструкции возникают, невозможно представить себе, что такое «объект».

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

bool IsNumber (string str){return (str.Replace ("0", "").Replace ("1", "").Replace ("2", "").Replace ("3", "").Replace ("4", "").Replace ("5", "").Replace ("6", "").Replace ("7", "").Replace ("8", "").Replace ("9", "").Length == 0);}

В чем мораль? Не надо считать пользователя идиотом, подсовывая ему усложненный ради какой-то мифической «безопасности» язык. В том же «классическом» Basic были команды PEEK и POKE, осуществлявшие прямой доступ к памяти. Естественно, никто в здравом уме ими не пользовался, пока речь не заходила о каких-то специфических операциях, типа «взлома» ресурсов игр на том же Спектруме. Что же мы получили в разнообразных вариантах «визуального Бейсика»? По сути — ничего, кроме отказа от старых интуитивно понятных команд в угоду ООП. Вместе с заменой PRINT на «заклинания» вроде WScript.Echo, были выброшены, как устаревшие, многие полезные конструкции, работа с файлами и графикой превратилась в дикий кошмар.

Замечу, что один из лучших языков для «не-программистов» — встроенный язык Matlab — за все время своего существования не переиначивался в рамках модных тенденций. Я бы сказал, что для определенных задач он подходит намного лучше, чем Basic, и намного превосходит многие языки в простоте освоения.

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

Спутники, орбиты и диапазоны

Продолжу серию постов о спутниковом ТВ. Сегодня — пост о «теоретических основах» спутникового телевещания.

Начну, как водится, издалека. Точнее, с удаленной от Земли на 35 786 км геостационарной орбиты.

Как можно показать математически, существуют орбиты, находящийся на которых спутник Земли будет вращаться с той же угловой скоростью, что и наша планета. Для наблюдателя на Земле такой спутник будет постоянно «висеть» над одним и тем же меридианом, поднимаясь и опускаясь над горизонтом. Их орбиты называются геосинхронными. Если же плоскость орбиты спутника совпадает с плоскостью вращения Земли, то спутник будет казаться неподвижным. Орбита, на которой находятся такие спутники, называется геостационарной.

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

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

Рисунок из статьи Артура Кларка
Рисунок из статьи Артура Кларка

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

Основной недостаток геостационарных спутников — высота орбиты. Проходя многие тысячи километров, сигнал очень сильно ослабляется. Поэтому для его приема необходимы узконаправленные антенны довольно внушительных размеров. Раз уж речь зашла про антенны, надо упомянуть о выделенных для канала «спутник-земля» диапазонах.

Сейчас основные диапазоны, используемые для ретрансляции телепрограмм со спутников — это диапазоны C (Це) и Ku (K-upper, Ку). Первый из них охватывает частоты от 3650 до 4200 МГц, второй — от 10700 МГц до 12750 МГц. Естественно, сигнал такой частоты затруднительно передавать по кабелю, поэтому непосредственно на приемной антенне устанавливается малошумящий конвертер (LNB — Low Noise Block), предназначенный для понижения частоты до «спутниковой промежуточной частоты» — от 950 до 2150 МГц. Об устройстве приемных антенн я напишу отдельный пост.

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

Российский и африканский лучи спутника Eutelsat W4
Российский и африканский лучи спутника Eutelsat W4

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

Для того, чтобы указать геостационарный спутник, надо знать его орбитальную позицию — долготу меридиана, над которым тот находится. Например, Eutelsat W4, «висящий» над Восточной Африкой, обычно называют 36E — «36 градусов восточной долготы», а то и просто — «тридцатишестиградусник». Сейчас эксплуатируется несколько десятков геостационарных спутников, посмотреть на их зоны покрытия можно на сайте SatBeams.com.

Конечно, в реальной жизни не бывает ничего идеального, и реальные «геостационарные» спутники немного колеблются вокруг своего теоретически предсказанного положения. Дифференциальные уравнения, описывающие движение спутника на орбите, имеют особую точку типа центра — во как загнул! На самом деле это означает, что спутник будет двигаться в окрестности своей позиции по траектории, напоминающей эллипс. Это явление называется либрация.

Обычно спутник за сутки может отклониться от своей орбитальной позиции где-то на полградуса, но многие спутники «удерживаются» в своей позиции гораздо более точно. Колебания спутника обычно незаметны при использовании антенн с небольшими размерами — центральный лепесток их диаграммы направленности имеет «ширину» около 1-2 градусов, но в профессиональных системах с диаметром рефлектора в 3-5 метров приходится дополнять антенну автоматической следящей системой, которая подстраивает антену вслед за колебаниями спутника.

Явление либрации используется при эксплуатации орбитальных группировок — нескольких спутников в одной орбитальной позиции. Параметры либрации спутников согласовываются так, что они двигаются вокруг одной точки по одной траектории, не сталкиваясь друг с другом. Для наземной приемной станции все эти спутники выглядят, как один. Конечно, организация такой «карусели» — довольно сложное мероприятие, приходится постоянно корректировать движение спутников. Обычно спутники, работавшие в составе таких группировок, по мере расхода топлива выводятся в другие орбитальные позиции. На данный момент фирма Eutelsat — крупнейший европейский спутниковый оператор — может обслуживать группировки до пяти космических аппаратов.

Для спутникового телевещания сейчас используются стандарты DVB-S и DVB-S2. Они предусматривают использование цифровых видов модуляции (различные варианты PSK — Phase Shift Keying, передача со сдвигом фазы) с коррекцией ошибок. Ширина полосы сигнала при использовании их для телевещания составляет около 20-30 МГц, а частотный ресурс ограничен. Во-первых, на соседних спутниках не должно вестись вещания на близких частотах, во-вторых, даже в довольно внушительных на первый взгляд С и Ku диапазонах места на самом деле оказывается совсем немного. Положение спасает использование поляризованного сигнала. Обычно применяется «линейная» поляризация (два перпендикулярных направления — «вертикальная» и «горизонтальная»), в России чаще используется «круговая», когда плоскость поляризации сигнала вращается вправо или влево. LNB позволяют выбирать поляризацию принимаемого сигнала.

Для того, чтобы «настроиться» на сигнал со спутника и декодировать его, необходимо знать частоту и поляризацию транспондера (проще говоря, установленного на спутнике передатчика), символьную скорость (Symbol Rate) — количество передаваемых в секунду символов, варьируется от 3000 до 40000 мегасимволов в секунду, обычно бывает около 27000 Мс/с и FEC — вариант алгоритма коррекции ошибок, указывается в виде дробного числа, например, 5/6 означает, что из 6 битов 5 — биты данных и 1 — проверочный. Декодеры обычно автоматически определяют вид модуляции, и выдают на выходе поток битов — то, что передается по радиоканалу.

В стандартах DVB-S и DVB-S2 предусмотрено мультиплексирование нескольких каналов на одном транспондере. Канал определяется своим номером SID (Service ID), который присутствует во всех пакетах с данными, относящимися к этому каналу. Также могут передаваться аудиодорожки к каналам и «транспортные потоки» — обычно содержащие служебную информацию для каких-либо целей. DVB определяет лишь содержимое аудио- и видеопотока — это тривиальные MPEG-2 и MPEG-4 для видео и MP-3 или AC3 для аудио. Транспортные же потоки могут содержать что угодно — вплоть до данных, используемых «спутниковым интернетом».

В следующих частях — рассказ о реально используемом для приема оборудовании.

По поводу необходимости программирования

На вчерашнюю запись [info]soonts оставил вот такой комментарий:

>можно заменить почти все специализированные электронные устройства достаточно мощным “стандартным” компьютером
И заменяют. В том числе в приложениях, исключительно критичных к надёжности. Те же американские марсоходы: PowerPC CPU + VxWorks OS.

Во-первых много людей уже умеют хорошо программировать стандартные компьютеры.
Во-вторых, как ни странно мощные стандартные компьютеры дешевле нестандартных.
Например материнская плата с вмонтированным процом intel atom 1.6GHz размером 17×17cm стоит как половина того калькулятора. Шоб сделать из неё полный аналог калькулятора, надо добавить RAM (200р за 256MB), USB флешку для загрузки какой-нить ОС реального времени и хранения данных (300p за 1GB), БП, дисплей и клавиатуру, и ессно написать софт.

>надежность такой системы будет довольно низкой. Сравните, например, мультивибратор на двух транзисторах и “мигающую лампочкой” программу для Windows

Если эта “мигающая лампочка” на дисплее, то всё упирается вовсе не в windows и не в надёжность аппаратной части, а в частоту обновления экрана.
Шоб мигать лампочкой на экране строго раз в секунду, всего-то надо не накосячить при реализации, а именно поднять приоритет процессу и использовать Direct3D для рисования.

Если же “мигающая лампочка” прицеплена например к выходу звуковой карты уровня m-audio audiophile, то даже под windows, при некотором умении программировать можно добиться при частотах от 0 до 20KHz надёжности и стабильности _существенно_ выше чем у двух транзисторов. А кроме универсальной windows, есть ещё системы реального времени.

Я не был в числе критиков МК-152, не считаю цену завышенной, но скорее согласен с теми, кто считает девайс бесполезным.
Точнее, я считаю что рынок очень-очень маленький.
Очень мало кто умеет этот странный МК.
В то же время куча людей, и у нас и в остальном мире, умеют пользоваться matlab на PC, и программировать PIC, Intel MSC, и прочие контроллеры.

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

За последние 20 лет вычислительная техника шагнула далеко вперед. Если 20 лет назад, к примеру, задача обращения большой квадратной матрицы (то есть решения системы многих уравнений, например, пары тысяч) даже сравнительно мощным компьютером (конечно, не Cray, а скорее что-нибудь из больших ЕС) занимала около часа, то сегодня любая персоналка делает это за пять-десять минут, а то и меньше. Теперь любому доступны вычислительные возможности, например, крупного НИИ образца 1989 года. Любая блондинка с гуманитарным складом мышления носит в сумочке (!) ноутбук, способный, к примеру, произвести расчет траектории баллистической ракеты за несколько минут.

Казалось бы, наступил «золотой век» в представлении писателей-фантастов. На каждого жителя Земли приходится такая вычислительная мощность, что все расчеты, необходимые, например, для полета на Марс, могут быть выполнены практически моментально. Думаю, если бы сейчас подготовкой к марсианской экспедиции занимались бы действительно эффективные менеджеры, то не возникло бы никакой необходимости в «распараллеливании» расчетов, как это было сделано при разработке первой советской термоядерной бомбы. Все прекрасно посчиталось бы на паре «самых мощных компьютеров Савеловского рынка».

marshalberia

Но, думаю, если бы кто-нибудь сказал, что при запуске программы для работы с электронной почтой объем производимых вычислений сравним с вычислением, например, траектории спутника (я не шучу, Lotus Notes действительно при запуске «отжирает» 100% загрузки не самого слабого Intel Pentium M на пару-тройку минут), то разработчики программы отправились бы валить лес далеко за Урал.

Такой непроизводительный расход вычислительной мощности просто поражает. Более того, скорость расчетов для пользователя остается неприлично низкой. Современные компьютеры уступают в этом плане даже «Синклерам».

В самом деле, даже на самом паршивом персональном компьютере 80-х был интерпретатор Бейсика. Сейчас даже в самой навороченной Windows 7 встроен довольно сомнительный калькулятор, по удобству значительно уступающий своему настольному собрату за 100 рублей. Казалось бы, что это дает, когда есть все необходимые программы? К сожалению, последний тезис просто неверен.

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

lc

С другой стороны, считать на калькуляторе, например, индуктивность, зная частоту и емкость, не очень приятно. Особенно — когда делаешь это много раз. «Программа» на Бейсике займет три строчки, и пишется за 5 минут — даже меньше. То есть, имея в распоряжении древний «Спектрум», и зная базовые конструкции Бейсика, мы можем ловольно сильно облегчить себе жизнь. Что же нам предлагает платформа Windows+Intel? Калькулятор в Windows? Это даже не смешно. Excel? Простите, но мазохизм — это извращение. Как это не удивительно, но в «стандартном комплекте» не найдется ни одной программы, которая позволила бы ускорить простейшие расчеты. Монструозный Matlab — вот, пожалуй, единственный программный продукт, предлагающий схожую функциональность (и даже больше — но эти возможности будут лежать мертвым грузом).

Итак, внезапно выяснилось, что пользователь просто не может задействовать имеющуюся у него вычислительную мощность для выполнения даже простейших расчетов. Природа не терпит пустоты, и многие (в основном — осваивающие Delphi или Visual Basic студенты) пишут свои программы для таких расчетов. Казалось бы, нет ничего проще. Накидал на форму мышкой компоненты, написал пару строк кода — готово! К сожалению, нет…

Вернемся к расчету емкости. Устав от Excel, зайдем на любую софтопомойку и наберем в поиске «колебательный контур». Ура! Нашлась программа, написанная каким-то студентом N-ского технического университета. Скачиваем, запускаем. Видим приятный интерфейс, где достаточно ввести два значения, чтобы посчиталось выбранное третье. Выбираем интересующую нас индуктивность, затем кликаем мышкой на поле ввода частоты и начинаем стирать имеющееся там значение. Красота! Значение индуктивности пересчитывается автоматически всякий раз, когда меняется введенная частота или емкость! Ничтоже сумнящеся, крепко давим на Backspace и стираем всю частоту, чтбы ввести свою. В недрах программы происходит страшное. Обработчик события «изменилось значение поля с частотой» считывает из поля текстовое значение — пустую строку, преобразует его в число — 0 и… делит, вызывая ошибку с вылетом всей программы.

Любой профессиональный программист всего лишь посмеется. Но автор программы по специальности — не программист, и он не обязан знать многих тонкостей. Может быть, он сначала вводит новое значение перед старым, а затем стирает «хвост» кнопкой Delete. Тогда программа работает. В принципе, автор может освоить программирование в необходимом для инженерных расчетов объеме — вычисления, ветвления и циклы, простейший ввод-вывод. Если бы программа писалась на Turbo Pascal или Quick Basic, то «вылет» происходил бы лишь при недопустимых входных данных, что более-менее нормально и допустимо. Любое же программирование под Windows требует знания всяческих тонкостей.

Давайте опустим завесу жалости над концом этой печальной сцены. Не буду переходить, например, к решению дифференциальных уравнений, когда вытащенный из коробки Спектрум довольно бодро начинает рисовать на экране график решения, получаемого методом Рунге-Кутта (10-15 строчек на Бейсике), а «свежий» Asus EEE PC пасует перед такой задачей.

Конечно, при наличии навыков, времени и достойной среды разработки можно написать программу, рисующую тот же график, но со значительно лучшей точностью, и на персоналке с Windows. Но все упирается в то, что все современные среды программирования рассчитаны на профессиональных программистов. Можно сколько угодно обсуждать преимущества C перед Бейсиком, но забыть о главном — в 80-х для программирования на Бейсике не требовалось ничего, любой компьютер имел его интерпретатор (кстати, в состав DOS вплоть до 6.22 тоже входил QBasic). Сейчас же доступных для пользователя технологий программирования просто нет, вместо них — 3D-ускоренный интерфейс Aero и картинки из Висты, своими названиями приводящие в изумление.

Между прочим, программируемые калькуляторы типа МК-52 или МК-61 предназначались в том числе и для инженерных расчетов. Для них, например, выпускались модули расширения памяти, содержавшие различные математические и инженерные подпрограммы. На Западе до сих пор применяют программируемые микрокалькуляторы Texas Instruments и других производителей. Появление МК-152 в 2008 году выглядит странно лишь потому, что подобная техника у нас не выпускалась и не использовалась почти 20 лет. А ведь для многократного повторения одних и тех же, пусть и несложных, вычислений программируемый калькулятор оказывается на порядок удобнее современного компьютера.

Возвращаясь к нашим Delphi и Quick Basic. В свое время много писали о необходимости преподавания в школах основ информатики и вычислительной техники, затем развернулись дискуссии о том, кого следует готовить — пользователей готовых программных продуктов (Windows, Word, Excel, Photoshop) или «программистов». Конечно, победила первая точка зрения. Но и в обучении азам программирования все же есть смысл. Но это оправдано лишь тогда, когда учат не «накидыванию компонентов на форму», а основам вычислений с использованием компьютера — то есть, как я уже говорил, конструкциям алгоритмического языка, операциям ввода-вывода, возможно — простейшим «общим» и вычислительным алгоритмам. Главное — это дать возможность самому произвести какие-либо расчеты, не дожидаясь появления специализированного софта. Кстати, про специализированный софт я хотел бы написать еще один пост, на этот раз — про аргумент начинающих линуксистов «у любой программы есть свободный аналог».

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

Получил письмо

Некий деятель, не поленившись выяснить мой e-mail и зарегистрировать «аккаунт» на 10minutemail.com, написал мне такое письмо по поводу недавнего поста про радиоприемники. Орфография и пунктуация оригинала сохранена.

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

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

Не буду отвечать только на это письмо — с ним все понятно, 95% виденных мной в интернете представителей «второго поколения» эмигрантов может как-то помочь только живительная лоботомия, а напишу лучше об одной очень популярной в интернетах теме — распиле бюджетов.

Как известно, любой офисный хомячок, ни дня ни проработав, например, в организации, получающей госзаказы, или в государственной структуре, эти заказы размещающие, все равно мнит себя великим специалистом по части «распилов и откатов».

Офисный хомячок в естественной среде обитания
Офисный хомячок в естественной среде обитания

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

Где-то год назад Рунет обошли фотографии разработанного новосибирским НПП «Семико» программируемого калькулятора МК-152. Номер модели, в соответствии с лучшими нашими традициями, образован путем прибавления числа 100 к номеру предыдущей разработки — МК-52. Традиция прибавлять сотню — очень давняя, по материалам [info]shushpanzer_ru, впервые этим приемом воспользовались в 1941 году при разработке танка Т-135.

Т-35 и Т-135
Т-35 и Т-135

Затем этим приемом пользовались и авиаконструкторы — достаточно вспомнить Ил-102.

Ил-2 и Ил-102
Ил-2 и Ил-102

А теперь, значит, дошла очередь и до конструкторов калькуляторов. Впрочем, про принцип «+100» можно поговорить и позже, вернемся к нашим калькуляторам.

МК-152 и его портативный младший брат МК-161
МК-152 и его портативный младший брат МК-161

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

Итак, имеем сухие факты. НПП «Семико» разработало и начало продавать построенный на импортной элементной базе (при этом достаточно современной, но с возможностью замены отечественными аналогами) программируемый микрокалькулятор МК-152, совместимый с довольно распространенными в свое время МК-52. Калькулятор выполнен в довольно «брутальном» дизайне, весит около килограмма, а дизайн корпуса заставляет эстетов плакать кровавыми слезами. Вычислительная мощность процессора и объем памяти довольно невелики, а стоит все это «удовольствие» 4000 рублей.

Какие выводы из этого делают интернетовские «комментаторы»? Естественно, разработка целиком и полностью выполнена на деньги налогоплательщиков, по заказу партии «Единая Россия» — в рамках программы развития нанотехнологий. Конечно, разработчики разворовали все деньги, а за два дня до «дедлайна» — взяли исходники «прошивки» МК-52, засунули их в импортные микросхемы, снабдили все это ужасного дизайна корпусом и запустили в производство. Никто из разработчиков, как водится, ни разу не видел ни современного компьютера, ни КПК, а вылез прямо из 1989 года. Цену, как водится, завысили ровно в 5 раз, и теперь в принудительном порядке заставят всех бухгалтеров использовать МК-152 вместо 1С:Бухгалтерии.

На самом деле ситуация выглядит несколько иначе. Во-первых, про «деньги налогоплательщиков». «Семико» — коммерческая фирма, дотаций от государства на разработку МК-152 не получала, а сделан был этот агрегат для использования вместе с приборами Мультитест производства той же фирмы. Думаю, многим будет интересно ознакомиться с порядком цен на промышленные компьютеры, которые обычно используются в таких условиях. Ссылок давать не буду, но если кто-то решит погуглить — цены с большим количеством нулей в долларах вас удивят. Стоимость устройства определяется не только стоимостью комплектующих, а еще и наценками от посредников. При мелкосерийном производстве «накрутки» возникают буквально всюду. Цены на комплектующие могут безбожно завышаться, свой гешефт имеют производители плат и фирмы-сборщики, даже пластиковые корпуса стоят по 500 рублей. Естественно, стоимость мелкосерийного устройства в таких условиях просто не может быть низкой. С другой стороны, аналогичная импортная продукция — программируемые калькуляторы от тех же Texas Instruments стоят порядка 50-100 $. Согласитесь, цены сопоставимы — а ведь TI выпускает свои калькуляторы гораздо большими сериями.

Мелкосерийность определяет и дизайн. Производитель малой серии не может заказать пресс-формы для выпуска «красивых» корпусов, приходится довольствоваться «стандартными» — например, такими, в которых выпускаются МК-152 и 161. Посмотрите, к примеру, каталог фирмы Gainta — корпуса абсолютно страхолюдны, а цены оставляют желать лучшего.

Конечно, в сообществе [info]ru_radio_electr кто-то выкладывал свою разработку на общедоступной ныне элементной базе, эмулирующую старые советские калькуляторы. Сколько в это было вложено труда — автор почему-то не задумался, и заявил, что все обошлось ему в 1500 рублей (или около того). Добавим стоимость монтажа, нормального корпуса, печатной документации — и тогда цена получится очень близка к установленной «Семико».

Как и любое специализированное устройство, МК-152 был раскритикован за то, что якобы может быть заменен компьютером, КПК или мобильником. Кое-кто предлагал даже использовать вместо него КПК с эмулятором. Не буду спорить, эмуляторы МК-52 и аналогичных програмируемых калькуляторов для Windows Mobile существуют, а многие КПК сравнимы по цене с МК-152. Но дело здесь в другом. Конечно, можно заменить почти все специализированные электронные устройства достаточно мощным «стандартным» компьютером. Но надежность такой системы будет довольно низкой. Сравните, например, мультивибратор на двух транзисторах и «мигающую лампочкой» программу для Windows. Применение полноценного компьютера оправдано лишь в сложных приложениях.

Применение подобного устройства для интернетовских комментаторов неочевидно. В самом деле — на нем нельзя сидеть в «одноклассниках» или раскладывать «косынку». Следовательно — девайс бесполезен. Отличная логика, но имеющая существенный недостаток. Я, например, не знаю, зачем в фирме X нужно такое количество юристов, кадровиков, экономистов и бухгалтеров — но это еще не повод, к примеру, начинать санитарный отстрел представителей этих профессий.

А на самом деле МК-152 сравним с импортной продукцией схожего назначения, о которой посещающий развлекательные сайты лемминг не имеет ни малейшего понятия в силу врожденного скудоумия. Но это не мешает «экспертам» орать про «попил бюджета». Замечу, что с «Вегой» ситуация аналогичная. Если приемник разрабатывался российскими специалистами, а собирается в Китае, то это еще не повод утверждать, что это — «китайчатина по 300 рублей». Стоимость схожих по характеристикам приемников начинается примерно от 2000 рублей (Degen 1102) и достигает 10 000 рублей (Sony ICF-SW7600G). Похоже, фирма Sony «пилит бабло» правительства Японии? Но леммингам виднее, да.

Надо бы маленько потроллить — подкинуть фотографии «Веги» на какие-нибудь fishki.net, с соответствующими комментариями («кирпич за пять тысяч рублей»), глядишь, «фан-клуб» появится, как и у МК-152 :) В этом случае позиция «а Баба Яга — против» оказывается невероятно плодотворной.

Веселая матросская песня

Текст сделал бы честь Сектору Газа и Красной Плесени, например:

On the good ship Venus
By Christ you should have seen us
The figurehead was a whore in bed
Sucking a dead man’s penis

The captain’s name was Lugger
By Christ he was a bugger
He wasn’t fit to shovel shit
From one ship to another

And the second mate was [info]andy
By Christ he had a dandy
Till they crushed his cock on a jagged rock
For cumming in the brandy

The third mate’s name was Morgan
By God he was a gorgon
From half past eight he played till late
Upon the captain’s organ

The captain’s wife was Mabel
And by God was she able
To give the crew their daily screw
Upon the galley table

The captain’s daughter Charlotte
Was born and bred a harlot
Her thighs at night were lily white
By morning they were scarlet

The cabin boy was Kipper
By Christ he was a nipper
He stuffed his ass with broken glass
And circumcised the skipper

The captain’s lovely daughter
Liked swimming in the water
Delighted squeals came when some eels
Found her sexual quarters

The cook his name was Freeman
And he was a dirty demon
And he fed the crew on menstrual stew
And hymens fried in semen

And the ship’s dog was called Rover
And we turned the poor thing over
And ground and ground that faithful hound
From Teneriff to Dover

When we reached our station
Through skillful navigation
The ship got sunk in a wave of spunk
From too much fornication

On the good ship Venus
By Christ you should have seen us
The figurehead was a whore in bed
Sucking a dead man’s penis

Вот к чему, в общем-то, приводит порочная практика называть корабли в честь древнегреческих богинь, ЕВПОЧЯ.

Про подписантов

В моей биографии есть один факт, который приводит кое-кого в бешенство. Выражается он одной строкой: с 2002 по 2005 год я учился в Московской Государственной Пятьдесят Седьмой Школе (МГПСШ). Кое-кто спросит — чем эта школа так замечательна? Наверное, тем, что попала на Лукмор.

Не могу не заметить, что статья на Луркморе в целом правильна. Например, в части про присущий выпускникам сего заведения (кстати, МГПСШ — нечто вроде «торговой марки», это название сохранится, даже если школе будет присвоен другой номер, тогда получится «Московская Государственная Пятьдесят Седьмая Школа №75», например) «элитизм» Луркмор вполне себе прав. Если хотите почитать про выпускников 57-й побольше (точнее, про их лучшую часть) — поищите Яндексом комментарии [info]_wep_ в официальном сообществе сего заведения [info]ru_57.

Элитизм пятидесятисемитов (так называются ученики и выпускники) основан на том, что в 57 школе организованы действительно неплохие «матклассы», где даже чему-то учат, в отличие от подавляющего большинства общеобразовательных учебных заведений. Далее действует «логика»: «я учусь в 57-й, следовательно, я учусь в элитной школе, следовательно, я неимоверно крут». Если лучшую часть выпускников, которая смогла поступить на мехмат, отучал от элитизма [info]_wep_ (сейчас, к сожалению, он может отучать от него только тех, кто поступил на отделение механики — а таких меньшинство), то у остальных элитизм может сохраняться на всю оставшуюся жизнь.

Особенно поражены элитизмом, отягощенным полной никчемностью, выпускники не-математических классов. Если, к примеру, для попадания в маткласс 57-й требуется уметь решать около 50-60 «олимпиадных задач по математике», список которых хорошо известен, а решения можно попросту вызубрить, то для «обычных» классов не требуется ничего, кроме проживания в центре Нерезиновой, а для «гуманитарных» — знание слов «Шешонк» и «Ашшурнацарапал-или-как-его-там». В дополнение к «пятидесятисемитизму» у многих возникает обостренная «патологическая несогласность» — склонность если не к участию, то к одобрению всяких сомнительного толка мероприятий типа «маршей несогласных». Между прочим, по имеющейся у меня информации, полученной в результате чтения некоторых уютных бложиков, принадлежащих ученикам, в некоторых классах ведется со стороны учителей (!) целенаправленная пропаганда всевозможных «несогласных» и прочей «фиги в кармане». Например, обсуждение на уроке вопроса «куда валить из этой страны«, плавно возникающего из, предположим, древней истории, в «обычной» школе представить невозможно. А в сабже — запросто.

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

Заметим, что культивируемый в этой среде «кодекс поведения интеллигентного человека» не сильно отличается от воровских понятий, например, в части общения с правоохранительными органами. Например, недавно началось очередное выплескивание праведного гнева по поводу очередной истории.

Не так давно 57-й школе частично передали здание еще одной московской школы, «ликвидируемой» из-за малого количества учащихся. Это сопровождалось несколькими скандалами, попало, кажется, на Газету.Ру и вызвало подозрения в «рейдерском захвате» у «ликвидируемой» стороны. Но все пришло в относительный порядок, некоторые из учителей 57-й стали преподавать и в другой школе, но недавно случился еще один большой скандал.

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

Конечно, я невероятно далек от всей этой истории. Чисто по-человечески я нахожусь на стороне «своих» — то есть «оклеветанного», по заявлениям активистов, преподавателя. Но многое мне неизвестно, а многое — вызывает сомнения. Во-первых, аргументация появившихся в ЖЖ и вконтакте «защитников» сводится к тому, что на «нашего замечательного X написали письмо в прокуратуру, где обвиняют в том, что он не учит, а только ставит двойки». Согласитесь, такие аргументы недостаточны для обращения в прокуратуру — нужны более веские основания. Во-вторых, вспоминается и статья на Газете.Ру о «рейдерском захвате». В общем, дело темное, и я бы не хотел ставить свою подпись неизвестно под чем.

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

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

UPD Появились некоторые разъяснения по поводу возникшей ситуации. Все довольно банально. Кто-то из особо ретивых родителей в «новой» школе написал в прокуратуру о том, что его чаду ставят совершенно незаслуженные двойки. Как утверждают расказчики, чадо уже в раннем возрасте положило на учебу огромный болт, а преподаватель «пошел на принцип» и отказался натягивать ребенку тройки. Прокурорские, естественно, только посмеялись (а что им еще делать?). Тогда та же жалоба была направлена в РОНО, что для школы и преподавателя несколько пострашнее.

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

LiveJournal и OpenID

Криворукие программисты-недоучки компании СУП снова сломали встроенную в ЖЖ авторизацию по OpenID. Уже два дня не могу зайти в ЖЖ, используя свой личный персональный OpenID-сервер, при этом на остальных сайтах все работает нормально. Жежешечка же ругается на то, что не может найти OpenID-сервер, при этом в HTML-заголовке страницы присутствует небходимая определенная стандартом строка с адресом сервера:

<link rel="openid.server" href="http://shura.luberetsky.ru/wp-content/plugins/openid/server.php/"/>

Доколе программисты СУПа будут сувать свои немытые кривые потные ручки в те части ЖЖ, которые все еще (слава Фицпатрику!) работают более-менее хорошо?