Мир насекомых

Недавно видел обсуждение одной допустимой в C++ конструкции, которая относилась к «undefined behaviour» — то есть могла вести себя по-разному (и вела!) в разных компиляторах. ЕМНИП, в Microsoft Visual C++ все работало более-менее нормально, а в GCC или Sun C++ валилось с ошибкой (причем сильно зависело от настроек оптимизации и фазы Луны). Естественно, не обошлось без коммента вроде «Опять ерундой занимаетесь, у людей в Windows и Visual Studio все работает, а остальные сами себе злобные буратины».

В общем, комментарий прекрасно иллюстрирует, казалось бы, очевидную вещь: сегодняшнее программирование нацелено в основном на платформу Windows+Intel, все остальные варианты — удел маргиналов-«красноглазиков». Это очевидно, например, так же, как очевидно господство млекопитающих в природе. Но достаточно спросить специалиста, и вы с удивлением узнаете, что сейчас на Земле — «золотой век» насекомых. Около 80% всех живых существ — насекомые, а насчитывается их, по разным оценкам, от 2 до 10 миллионов видов.

Точно так же о господстве архитектуры x86 можно заявлять, не представляя себе современную ситуацию на рынке микропроцессоров. Если годовой объем продаж x86 составляет, по оптимистичной оценке, около 100-200 миллионов штук, то различных микроконтролеров (от 8-битных PIC или AVR до 32-битных ARM всех видов) ежегодно продается, держитесь за стул, более 10 миллиардов (из них ARM — примерно 3 миллиарда). Сейчас передо мной гарантированно лежат четыре устройства на ARM разных типов, и подозреваю, что реально это число несколько больше (не все свои девайсы я разбираю :)).

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

В отличие от «простых» микроконтролеров, ARM — довольно развитая 32-битная архитектура, со всеми ее достоинствами и недостатками (вроде адресации «жалких» 4 Гб памяти). Практически невозможно писать серьезные приложения для ARM на ассемблере (за исключением совсем «микроконтролерных» задач, типа поморгать светодиодиком), так что стандартом де-факто для разработки под эти процессоры стал C, с ростом мощности процессора переходящий в C++.

Существует довольно много компиляторов C и C++, генерирующих код для ARM — начиная с GCC и Microsoft Visual C++ (да, большинство КПК работают под управлением ARM), заканчивая какими-нибудь экзотическими компиляторами ANSI C (кстати, написать неоптимизирующий компилятор C — не такая уж и сложная задача, что привело к появлению огромного количества компиляторов «чистого C»). Более того, обычно все безобразия на ARM творят с использованием какой-нибудь ОС — от «самодельных» менеджеров ресурсов до более навороченных FreeRTOS и даже вариантов Linux или *BSD (там, где ресурсы позволяют). Более того, столь любимые многими iPhone, iPod и iPad со своей ОС — тоже пример устройств на ARM.

Представляете, какой «зоопарк» складывается из средств разработки под самую популярную сегодня процессорную архитектуру? И поверьте, никого не волнует, что там думают в Microsoft по поводу некоторых неоднозначных конструкций C++. Кстати, никто не гарантирует, что та ошибка, связанная с выравниванием членов структур, не проявится в том же майкрософтском компиляторе с другой целевой архитектурой.

Про жежешечку

Пора открывать тотализатор, кто победит по количеству посвященных ему записей — Лужков или панелька LJ Times внизу экрана.

Не надо пользоваться сервисами для русскоязычных пользователей.

Про операционку MINIX

Воинствующие линуксоиды любят упирать на то, что благодаря принципу Open Source, они могут свободно изучать работу операционных систем на примере своего любимого Linux. Интересно, что может почерпнуть обычный среднестатистический программист из (примерно) 5 миллионов строк кода, из которых состоит так называемое «ядро» системы? Наверное, используя Linux, можно научиться только… использовать этот самый Linux, что само по себе тоже неплохо и даже иногда полезно, но имеет ровно то же отношение к «работе операционных систем», что и кнопконажимательство в Windows.

Что бы там ни говорили фанаты Free Software Foundation, сегодняшний Linux — это абсолютно коммерческий проект с совершенно ясными целями, в которые совершенно не входит доступность ОС для изучения всеми желающими, а если и входит — то на предпоследнем месте (на последнем — увеличение капитала Билла Гейтса, естественно). Если бы я был Биллом Гейтсом и хотел бы окончательно задушить Linux — я бы начал бесплатно раздавать школьникам и студентам исходники, к примеру, Windows 2000 или XP (по своему «развитию» современный Linux примерно соответствует NT 5.0 или 5.1), естественно, с комплектом кривых драйверов :)

ИМХО, без нормального руководства изучить функционирование довольно сложной операционной системы «на самом нижнем уровне» практически невозможно. Так вот, проблема в том, что такое руководство для современного Linux написать не получится — с ним получилось то же самое, что с Unix в 90-е — он стал слишком сложен.

Кроме того, не будем забывать и о прикладных программах. Конечно, патчить KDE 2 под FreeBSD — тоже полезное умение, но ценное только для закоренелых «красноглазиков». А ведь немалая часть «изучения» Linux или современных *BSD — это преодоление таких вот трудностей.

В общем, сойдемся на том, что так называемое «изучение функционирования ОС» на примере Linux невозможно. Многим оно, естественно, не нужно, но вот лично у меня нашлось некоторое количество условно свободного времени, которое захотелось потратить на чтение приличных книжек по так называемому «Computer Science» (от слов «информатика и вычислительная техника» веет страшными временами, когда Лаврентий Палыч Берия рулил разработкой первых советских ЭВМ :)). Когда-то давно я купил книжку Таненбаума, но так и не сподобился прочитать ее. А вот на днях зашел в википузию и узнал, что Таненбаум все еще жив, здоров и мелко гадит своим студентам, заставляя их отлаживать третью версию своей «передовой» (по мнению Таненбаума) операционки Minix 3, и даже подробно описал ее в книге «Операционные системы: разработка и реализация» (ядро Minix — это около 4 тысяч строк на C, плюс некоторое количество драйверов и т. п. — итого около 20 тысяч строк, вполне обозримо при наличии желания).

Чем интересен Minix, кроме своей «обозримости»? Таненбаум пытается реализовать в нем принцип микроядерной архитектуры, когда драйверы устройств представляют собой выполняемые в user-mode программы. Думаю, ни для кого не секрет, что синие экраны в Windows или kernel panic в Linux в подавляющем большинстве случаев вызваны ошибками в драйверах. Если драйвер работает в ring 0 (то есть без аппаратных блокировок некоторых губительных для ядра ОС действий), то ошибка в нем практически всегда является причиной сбоя всей системы. Продвигаемая Таненбаумом идея состоит в том, чтобы все драйвера устройств выполнялись с минимальными для их работы «правами», не имея возможности обрушить всю систему разом.

Кстати, в Windows реализовано некоторое подобие «микроядра» (хотя применить слово «микро» к ядру Windows сложновато :)). Особенно хочется обратить внимание на Windows 7. Не буду говорить о том, что часть драйверов (minidriver в терминологии Microsoft) работает в пользовательском режиме во всех версиях Windows, а обращу внимание на довольно серьезное отличие «семерки» от предыдущих версий — Microsoft наконец вынес из пространства ядра видеодрайвер, теперь при его сбое просто погаснет экран, а затем картинка восстановится с уведомлением в правом нижнем углу — «Видеодрайвер был перезапущен, приносим свои извинения, тушите свет, сливайте воду». UPD: Тут я набрехал, оказывается, видеодрайвер выполняется в user mode уже в Vista.

В общем, я отвлекся, скажу лишь, почему меня потянуло на операционные системы. Еще лет пять назад я извращался в эмуляторе Unreal Speccy, писал всякую чушь на ассемблере Z80. Например, наколбасил некое подобие «менеджера памяти». Если кто-то не знает, ZX Spectrum — это семейство компьютеров на восьмиразрядном процессоре Z80. Этот процессор представляет собой клон Intel 8080 с некоторыми расширениями и был очень популярен в 80-е. Как тогда полагалось, Z80 имел 16-разрядную шину памяти и мог адресовать 64 кБ памяти (из 4 страниц по 16 кБ). Существовало два врианта ZX Spectrum. В первом младшие 16 кБ занимала «прошивка», старшие представляли собой 48 килобайт оперативной памяти, довольно много для начала 80-х. В более поздних вариантах памяти было аж 128 килобайт, доступ к ним был организован довольно нетривиальным образом. Первые 16 килобайт занимала прошивка, затем шли 0 и 1 страницы памяти, в последние 16 килобайт можно было «вставить» любую из остальных страниц. В СССР и позднее — незалежной Рохляндии наши башковитые инженеры разработали несколько вариантов Spectrum-совместимых ПК, но на этом не остановились, а пошли дальше. Примерно таких же образом, через «окно» в памяти, разработчики клонов организовали доступ сначала к 256 кБ, а затем и к 1, 2 и 4 МБ ОЗУ. Существовало несколько «стандартов», отличавшихся временем переключения страниц и способом доступа к ним. В общем, в порядке изучения ассемблера Z80, я реализовал «подпрограмму» перевода некоего трехбайтового «указателя» в двухбайтовый, загружающую в «окно» нужную страницу. Работала она на всех вариантах подключения дополнительной памяти, которые были реализованы в эмуляторе. В принципе, подобное чудо программирования можно назвать гордым словом «менеджер памяти» :) Было и несколько других «проектов», уже на микроконтролерах, где приходилось как-то решать проблему с некоторым подобием «многозадачности» (обычно все сводилось к самой примитивной кооперативной многозадачности), так что тема эта мне немного знакома, хоть и в «игрушечном» варианте.

В общем, по жизни мне иногда приходилось сталкиваться с необходимостью реализации чего-то похожего на операционную систему — от переключения между несколькими задачами в микроконтролере PIC до пары более серьезных «изобретений велосипедов» на AVR. Программирование для микроконтролеров, конечно, довольно сильно отличается от программирования для «полноценных» компьютеров, но те же старшие AVR уже не уступают по параметрам тому же Spectrum, а в ближайшие пару лет станут доступны МК, на которых еще нельзя запустить Linux, но уже хочется какого-то подобия операционки. Вот так, окольными путями, меня и занесло в сторону Minix.

Что могу сказать? По удобству настройки и количеству софта Minix далеко позади любой другой современной ОС. Но «пощупать» его я решил не из-за этого, а из-за наличия неплохого описания его работы на самом «нижнем» уровне. В принципе, мне более-менее понравилась документация и я решил поставить операционку на завалявшийся у меня полуубитый винчестер (как-то не хочется мне связываться с мультизагрузчиками, так что пусть стоит совсем отдельно). В ходе установки оказалось, что по дефолту в операционке нет драйвера для моей сетевой карты (на самом деле есть, только в нем не прописаны нужные PCI Vendor и Device ID), поэтому потом я запустил сие чудо под Virtual PC.

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

Скриншот для порядку
Скриншот для порядку

Естественно, не все в Minix так плохо. Портировано довольно много юниксового софта, в том числе X11R6, несколько оконных менеджеров, gcc, браузеры links и lynx, десяток текстовых редакторов — короче говоря, половина пакетов в packman прекрасно заменяется другой половиной. Это очень юниксвейно — у пользователя всегда должен быть выбор, особенно — среди нескольких мало отличающихся текстовых редакторов :)

Конечно, времени «полапать» Minix со всех сторон у меня пока не было, но с запуском X и сетевого драйвера в виртуальной машине я разобрался. Компилятор компилит, а что еще нужно в юниксообразной ОС для счастья? Краткое резюме такое: Minix можно использовать для обучения студентов программированию (особенно, если настроить в компиляторе опцию «Treat warnings as errors», кто помнит — смахнет скупую слезу), или, что практически эквивалентно, для удовлетворения собственного любопытства.

Любимый аргумент линуксоидов в холиваре «Windows vs Linux» — «Я свою тещу пересадил на Linux, сидит не нарадуется». Думаю, с пересаживанием тещ на Minix придется подождать, но кое-какой набор софта там есть. Например, я попробовал:

— текстовый редактор elle — такой юниксвейный блокнот (elle looking like emacs), подсказка — для сохранения файла нажмите Ctrl+W (Write), для выхода — Ctrl+X два раза, потом Y.
— teTeX — обычный такой TeX, ничем не примечательный, прикручиваются русские шрифты, можно жить
— ACK — Amsterdam Compiler Kit — укуренный компилятор C, вроде как ANSI C-совместимый
— links — браузер, недалеко ушедший от Opera Mini или прочих «мобильных» браузеров, некий гибрид текстового и нормального браузеров. Шрифты говно.

В принципе, можно поставить сие чудо в компьютерном классе в каком-нибудь техническом ВУЗе, запереть там студентов и ждать самозарождения всяких там линуксов. Можно даже положить на полочку какие-нибудь полезные книжки (пару руководств по ANSI C, плюс талмуд Таненбаума). Система вполне «ковырябельна», баги есть, что еще нужно для счастья программиста-мазохиста?

PS Кстати, как известно, я ненавижу школьников и преподавателей информатики. Так что надо задуматься по поводу «школьного миникса», срубить кучу денег с гой-сударства и лично депутата Алксниса, а потом окончательно поработить мир :) Вот вам и про садистское применение Minix.

PPS Кстати, вроде как есть несколько проектов по портированию Minix на архитектуру ARM. Вот тогда заживем! :)

Извращенные мысли

Пока аэростаты бороздят небо Бискайского залива, с мест сообщают куда более неприятные новости — оказывается, радио «Ультра» хотят лишить последней частоты на УКВ. Естественно, под действие дешевного пива «Старый тельник» в голову приходят всякие мега-мысли. Имеется вопрос к общественности: какими законами регулируется радиовещание с летательных аппаратов? Предположим, когда над Москвой летит Commando Solo (а лучше, конечно, какой-нибудь дирижопель) в режиме «Антишансон», каким образом Связьнадзор может выразить свое «фе»?

Болеем за Россию!

Сегодня в 03:00 по московскому времени стартовал 54 Кубок Гордона Беннета по аэронавтике. Первым со старта в Бристоле ушел российский экипаж Леонида Тюхтяева ([info]lt_pilot) и Станислава Федорова ([info]st_fuodoroff). С земли за успехами нашей команды следит Александра Семинишина ([info]sashenka_l), да и сами пилоты могут попробовать, пролетая над Францией, выйти в ЖЖ через GPRS. Согласитесь, современные пилоты аэростатов находятся в гораздо лучшем положении, чем их коллеги в 1906 году, когда Кубок был разыгран впервые.

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

http://gordonbennett2010.com/tracking

А вот ролики прикольные

Начнем, например, с укуренного голландского автобуса. Представляете себе такую «Газель» на 23 места, прущую по автобану со скоростью 200 километров в час?

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

А еще можно разворачиваться почти на месте, как водитель этого лесовоза.

А вот непонятные люди (вроде как бойцы канадской армии) разбирают-собирают Jeep за 4 минуты:

Наши тоже не лыком шиты — упав на бок, встают на колеса без посторонней помощи…

…и ездят на машине по железной дороге.

Ролики утащил у [info]valuev, [info]nameresu и вообще из интернетов.

Завтра выложу фотки с котиками, чтоле. Все по просьбе [info]vanchez, которому настолько лень оторваться от своего ноутбука, что я однозначно выкину в окно его блок питания.

Про онлайн-приемник

Белорусский радиолюбитель EW6ML создал сайт http://www.receiver.by, где можно послушать «живой» коротковолновый эфир. Могу только порадоваться за белорусских радиолюбителей, имеющих возможность поставить приемник недалеко от компьютера с интернетом, при этом не страдая от помех, создаваемых китайскими энергосберегающими лампочками, некондиционными блоками питания бытовой техники и прочим барахлом Made in China.

Схема «онлайн-трансляции» довольно проста. В качестве радиоприемного устройства используется ставший поистине культовым Degen 1103, снабженный самодельным «компьютерным» интерфейсом на микроконтролере PIC18F2550. Картинка кликабельна.

receiver-by

Признаться, я тоже думал о создании онлайн-приемника, но дома у меня слишком зашумленный эфир (надо бы сдать охамевшего [info]vanchez в Связьнадзор, а то он мешает мне блоком питания своего ноутбука), а ставить приемник с каким-нибудь неттопом у бабушки на даче означает разориться на мобильном интернете. Правда, кое-какие прикидки я делал, в основном — по управлению приемником. Естественно, я планировал управление по USB, но несколько другого типа. Подключаться через кнопки процессора показалось извращением, так что я поднял схему приемника и даташиты на его микрухи, после чего пришел к мнению, что можно заменить имеющуюся в Degen плату управления, например, на Atmega (с софтовым USB, да и подешевле выйдет). Правда, дальше управления LC72137 не разбирался — так и не получилось понять, как в приемнике сделан шаг перестройки 1 кГц (точнее, это известно, переключается на 1 кГц частота второго гетеродина — но какой сигнал с платы управления этому соответствует — непонятно), да и особо не копал — пришло понимание, что чистый эфир и интернет соединить довольно непросто. Идея с точной настройкой SSB — это своего рода находка (хотя я бы поставил какой-нибудь цифровой потенциометр, а не подбирал бы десяток резисторов).

Немного о нюансах работы сайта. Так как приемник только один, а желающих слушать много, на управление частотой приема сделаны приоритеты. «Гость» имеет возможность работы только когда ушли все более привелегированные пользователи (обычно они подписываются своим любительским позывным). Если вам удалось пробиться к «пульту управления» — можете настроиться на любую частоту в диапазоне 100-29999 кГц, в режимах AM и SSB. AM — это обычная амплитудная модуляция, используемая вещательными станциями, типа какой-нибудь «Свободы» или China Radio International. Естественно, сайт создан не для того, чтобы слушать рассказы о добром и хорошем Обаме, злом Путине, коварном Лукашенко и счастье трудящихся Китая (для этого можно достать и «Спидолу»), а для гнусных типов, называющих себя «радиолюбителями». Эти мутные люди применяют однополосную модуляцию (SSB), которая более выгодна при передаче, но требует более точной настройки при приеме. В Degen точная подстройка частоты в этом режиме решена при помощи изменения частоты третьего гетеродина — но не «цифровым» методом, а самым что ни на есть «аналоговым» — за подстройку телеграфного гетеродина отвечает колесико SSB Fine Tune на правой стороне приемника. В онлайн-приемнике напряжение перестройки формируется дискретно, позволяя изменять частоту приема с шагом в 100 Гц. Если голоса из колонок в SSB звучат искаженно — можно попробовать подстроить частоту, при этом изменяется тембр звучания — либо в сторону низких, либо в сторону высоких частот, что улучшает разборчивость.

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

PS А можно сделать наоборот — купить приемник «Фестиваль» (он же «Ленинград«) — одну из самых монструозных советских ламповых конструкций, вместо родного пульта ДУ (проводного) подключить «компьютерный интерфейс», всю конструкцию оставить в малогабаритной «хрущевке» с ее потрясающей звукоизоляцией, а в качестве трансляции выводить долбеж в стенку и крики соседей, которых в четыре утра будит всей своей мощностью принимающий какое-нибудь «Радио Ультра» (или, для эстетов — «Радио Орфей») «Фестиваль». Если че — я этого вам не говорил :)

Луч поноса издательству «Питер»…

…за халтурный перевод книг в серии «Классика Computer Science». Возьмем, например, «Операционные системы: разработка и реализация» Э. Таненбаума и А. Вудхалла (3 издание, на русском языке вышло в 2007 году), и откроем ее на странице 534. То же самое можно проделать и с «Современными операционными системами» Таненбаума (427 страница 2 русского издания 2004 года или 310 — 3-го издания, вышедшего в 2010 году). В любой из этих книг (кстати, слабо друг от друга отличающихся — разве что в «Современных ОС» подробно рассматриваются Unix и Windows, а в «Разработке и реализации» — написанная студентами Таненбаума ОС MINIX) примерно такую иллюстрацию и комментарий к ней:

tanenbaum-russian

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

tanenbaum-english

В программировании подобная организация данных применяется для ускорения алфавитного поиска. Предположим, нам надо найти слово Lamb (ягненок). В первой тройке записей мы видим слова Ant, Fox и Pig. Буква L между F и P, поэтому нам надо перейти по второй стрелке (растущей из квадратика между Fox и Pig). Аналогично, так как Lamb по алфавиту стоит между Goat и Lion, в новой тройке переходим по первой стрелке. Наконец, в последней тройке мы нашли слово Lamb, что мы и хотели.

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

Кстати, в «Современных операционных системах» (оба имеющихся у меня издания — 2004 и 2010 годов) иллюстрация еще более безграмотна — сравните, откуда и куда указывают стрелки.

tanenbaum-russian2

Я не говорю о чисто «литературных» огрехах в переводе, например, «правиле большого пальца» (rule of a thumb, у нас это, скорее, «правило левой пятки») — они почти всегда присутствуют в переводах технической литературы, но обычно можно догадаться, что же имел в виду автор, но «косяки» такого рода просто недопустимы. Любой программист знает, что такое дерево поиска в различных вариантах и догадается, как именно «дерево упорядочено по ключевому полю» — но только, если увидит рисунок с правильными подписями. Кто мешал нашим переводчикам либо оставить все как есть, либо вписать русские слова в правильном порядке? В общем, страна должна знать своих героев — это переводчики А. Леонтьев, А. Кузнецов, Н. Вильчинский и А. Лашкевич, заведующие редакцией И. Корнеев и А. Кривцов, редакторы Е. Строганова, О. Некруткина и Ю. Сергиенко, «руководители проекта» А. Васильев и П. Маннинен, научные и технические редакторы А. Жданов, Л. Родионова и А. Шляго, литературные редакторы Е. Ваулина и А. Гущин, художники В. Шендерова, В. Листова и Л. Адуевская. Вроде никого не забыл.

Был бы сейчас 1937 год — заложил бы всю троцкистско-бухаринскую банду, саботирующую разработку Русской ОС.

Ехал в метро, смотрел рекламу

Рекламируют читалки для электронных (а также протонных и нейтронных) книг Digma e600. На рекламе — громадная картинка с меню этой читалки, в меню — очень красивая иконка «FM-радио».

digma

Узнаете? Правильно, дизигнеры влепили «Звезду-54» :)

PS Почему я так уверен, что это «Звезда», а не ее французский «прототип» SNR Excelsior 52? Посмотрите на шкалу «Звезды» и «Эксельсиора» — у «Звезды» верхние панельки с длинными и средними волнами практически идентичны по высоте, у «француза» панель со средними волнами (petites ondes) раза в три выше длинных волн (grandes ondes).

PPS А короткие волны по-французски называются ondes courtes, если я правильно все разглядел.

Про экспресс-кассы

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

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

Первое время кассиры указывали таким гражданам на надпись, те быстренько прикидывали в уме, сколько у них наименований (обычно два — бухло и жратва, дальнейшей детализации не производится) и делали соответствующие выводы. Потом, видимо, кассиров натянули без вазелина за хамство клиентам (конечно, хамство — ведь КЛИЕНТ ВСЕГДА ПРАВ!) и те перестали обращать внимание, что они там пробивают.

Интересно, почему нельзя «научить» кассовый аппарат принудительно закрывать чек после 7 наименований? Думаю, после гемора с оплатой двух-трех-четырех-кто больше чеков за одну тележку даже самые грамотные сограждане поймут, что надписи висят не просто так.

Кстати, про мобильники

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

В принципе, это общепринятая практика — например, сотовые операторы часто заказывают «фирменные» мобильники со своей символикой у тайваньских фирм, которые лепят любой лейбл на разработанные ими «платформы», например, из такого «субподрядчика» выросла известная фирма HTC. Но, наверное, никому не придет в голову назвать T-Mobile MDA Vario «немецким» телефоном (особенно, если он еще и продается под марками iMate K-JAM, QTek 9100, а на московских радиорынках все это разнообразие называют HTC Wizard).

Больше удивляет то, что это чудо было показано Сергеем Чемезовым как результат работы госкорпорации «Ростехнологии». В принципе, для разработки смартфона с «заказным» лейблом и даже с доработками софта под местные условия достаточно десятка человек (включая бухгалтера, шефа, его секретаршу и зиц-председателя Фунта) и соответствующего финансирования, но уж никак не целой «госкорпорации». От госкорпорации ждешь чего-то другого, например, «мы построили в Усть-Пердюйске завод по производству мобильников мощностью миллион штук в год и купили у Motorola лицензию на M3188».

В общем, «от него кровопролитиев ожидали, а он чижика съел».

Как говорил Резун-Суворов,…

…беру свои слова обратно.

Сегодня ко дню программиста на EasyElectronics был выложен замечательный пример использования возможностей C++ применительно к микроконтролерам. В общем, must read.

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

Кто способен понять написанное там — с профессиональным праздником!

Два года, однако

Как-то незаметно обнаружил, что сайту моему — уже два года. Точнее, 12 сентября — дата регистрации домена luberetsky.ru, а WordPress тут я поднял на три дня раньше. Того же 12 сентября я создал OpenID-аккаунт в ЖЖ.

Тепло-ламповое

Усилитель приемника Мир-152 (две 6Н8С в предусилителе, выходной каскад — двухтактный на 6П3С) в сочетании с Sabaton — просто адская штука.

Новинки интернет-аукционов

На eBay начали продавать запчасти к приемнику Degen DE1103. Начали с задней пластиковой подставки (самая нежная деталь, моментально ломается, если сесть на забытый на диване приемник).

degen-stand

Если покупать приемник — то только вместе с ЗИПом :)

Кстати, снова про магнитофон

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

Напомню, надо добиться исправления подписи под фотографией магнитофона в статье «Самиздат» на «Магнитофон «Тембр» (МАГ-59М), СССР, 1964 год» (не останавливаясь на нынешнем компромиссе), а затем окончательно выпилить ее из статьи как не имеющую отношения к предмету.

Про ботинки и шмотки

Похоже, единственный в Нерезиновой магазин, куда я могу зайти, примерить и сразу беспроблемно купить понравившуюся модель обуви своего размера (47, если че) — это «Сплав». К сожалению, ходить круглый год исключительно в берцах — не самый прикольный вариант, но лучше, чем ничего :)

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