South shall rise again

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

Но зато — никаких тебе, прости Господи, Массачусетсов с Пенсильваниями. Есть, правда, какой-то стремный Мириленд, да и тот с опечаткой.

И еще про чифирь

А кстати, никто не пробовал замутить чифирь из «марочного» китайского чая, типа пресловутого Да Хун Пао? Как пресловутый «эффект» проявляется при такой неканоничной заварке?

Чифирнуть бы ништяк

Пока искал чайники на Яндекс.Маркете, наткнулся на интереснейший образец вражеской техники:

chifirbak

Картинка намекает на метод применения. Интересно, это специальная такая модель для российского рынка?

Теория «А» и «Б»-брендов

Люблю приводить ссылки на эту серию записей [info]svictorych и [info]slavinsky. Для начала — «постановка задачи», описание явления маргинализации потребления:

http://svictorych.livejournal.com/147873.html

И ее продолжение (измышления автора про «средний класс» мне кажутся странноватыми, потому что он начинается с доходов от 40 тысяч рублей в месяц — ну да ладно):

http://slavinsky.livejournal.com/205124.html

И, наконец, подведение итогов, «А» и «Б»-бренды и «численные» показатели:

http://svictorych.livejournal.com/149809.html

Появилась возможность попробовать эту теорию на практике. Сломался чайник Polaris PWK 1704 CGL, красивый, прозрачный, с подсветкой синенькими светодиодами. Все как описано в отзыве на «Яндексе» — сломалась крышка, перестало работать автоотключение. Проработал он несколько месяцев — в общем, маловато. Так как Polaris общепринято считается «Б»-брендом, то в качестве эксперимента, для практической проверки теории, было решено купить чайник настоящего «А»-бренда, в качестве какового в ближайшей «Елдараде» был выбран Bosch TWK 3A013. В общем, будем смотреть. Из пока замеченных косяков — запах пластмассы, ушел после нескольких кипячений (одно с ложечкой лимонной кислоты).

UPD Братан приволок Tefal KI 220. Будем проводить параллельные испытания?

Don’t be evil

Интересная заметка про Гугл, или как всякие хипстерские лозунги скрывают типовую корпоративную шизу:

http://www.biquitous.com/google-pissing-me-off

Эх, написал бы кто-нибудь так про студию Лебедева — но, видно, не судьба. Почему-то у нас предпочитают создавать себе кумиров, а потом с истинно религиозным рвением их защищать.

Как хорошо быть креаклом

Чувак под видом «организации книжных фестивалей» и прочей хипстерской херни набрал долгов на 3 миллиона, слава Богу, рублей. Понаписал кредиторам расписок (он не дурак, брал деньги не у банков, а у лохов-хипстеров), просрочил все оговоренные сроки и теперь плачется в ЖЖ, разводит лохов на оплату долгов. Живет этот персонаж по справке об утере киргизского паспорта, полученной 15 (!) лет назад. Подробности «от первого лица» тут:

http://de7ign.livejournal.com/267729.html

Продолжение (кстати, читайте комменты — там самый жЫр):

http://de7ign.livejournal.com/267957.html

И подведение итогов (не)заинтересованными лицами:

http://strekoza4.livejournal.com/1046855.html

Интересно люди живут. За на водку спасибо [info]prof_umoriarty.

Этический вопрос

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

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

то есть они формально удовлетворяют критериям для включения в пресловутый реестр нехороших сайтов. Есть форма на сайте Роскомнадзора. Есть желание сдать спамеров туда.

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

Начните с себя

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

Но разве коммерческие струкутры у нас — это образец грамотно выстроенных процессов работы? Вот [info]sevruk пишет следующее:

Более чем средний туроператор, работающий на рынке более 20 лет, только сейчас заметил, что тратит как-то очень много денег на печать документов. Сотрудница из отдела 1 распечатывает документ и несет сотруднице 2 в соседнюю комнату, где вторая забивает с этой бумажки данные в новую форму на компьютере. Собственник понимает это и хватается за голову только после того, как мой техдир проводит с ним короткую консультацию и пальцем показывает на этот конкретный пример.

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

Пра котегов

Я же обещал вам пост про котегов? Но я ленивый, я просто дам пару ссылок:

Ссылка раз: http://shoei.livejournal.com/40408.html

Ссылка два: http://journal.forens-lit.ru/node/868

Фотографии довольных котегов ищите сами, мне лень.

Про техническое задание

37 комментов. Просьба написать что-то типа ТЗ на аналог Google Reader. Как вы думаете, сколько было сделано попыток сделать то, о чем говорится в последнем абзаце записи?

Правильно. Ни одной.

Следующий пост будет про котиков. Интересно, что же будет в комментах?

Про пионеров

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

Родители — научные сотрудники; вопреки существовавшим слухам, не имела влиятельных родственников в структурах власти, но в знакомых семьи числился один из руководителей отдела пропаганды ЦК КПСС. Отдыхала в партийном лагере «Зеркальный», куда приглашали участников детских политических организаций. Училась в московской английской спецшколе № 4 (ныне школа № 1260). В 1988 году переехала с семьёй в Париж. С 1995 года работала в Парижском центре содействия иностранным инвестициям. В 2000 году вернулась на родину, работала в Министерстве труда и социального развития РФ. С 2004 года — сотрудник Федерального агентства по наукоёмкой промышленности (по другим данным — НП «Объединённый авиастроительный консорциум»). Принципиально не участвует в телевизионных шоу и не даёт интервью центральным газетам, иногда делая исключение для региональных изданий. В настоящее время (2009) работает вице-президентом ОАО «АВТОВАЗ».

А вот что про «партийный лагерь «Зеркальный»» и «участников детских политических организаций» писали Грибные Эльфы:

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

Интересно, кто из «Питерских» нынешней политической элиты прошел через эту «красную смену»?

Чаплин прикольный

Пишут:

В 20:30 я буду в метро, где, слава Богу, ничего выключить не смогу. Но свет у себя в келье, конечно, выключу, правда, на час позже, и не в последнюю очередь потому, что в сегодняшней глобальной акции вижу элемент лицемерия.

Интересно, какие еще конфессии с какой-либо степенью официальности могут сказать что-то в пику всяким там «экологам»?

Кстати, в свете инициатив Собянина

А куда приходят штрафы, выписанные на автомобили с иностранными номерами? На деревню дедушке?

И что надо для того, чтобы зарегистрировать ввезенный из России автомобиль где-нибудь за рубежом?

Мысля

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

Але, блогеры, вы же этого хотите?

Москва, ты там совсем?

Читаем:

Среди норм, регламентирующих порядок изъятия земель в «Новой Москве», ко второму чтению неожиданно с подачи единоросса Николая Гончара оказались изменения и в Кодекс об административных правонарушениях РФ. Ключевая из них касается передачи от ГИБДД властям Москвы и Санкт-Петербурга права выписывать штрафы за парковку и стоянку в неположенном месте (п. 5 ст. 12.16 КоАП). Сейчас за такое нарушение в двух столицах штрафуют на 3000 руб. Такое перераспределение полномочий должно произойти по специальному соглашению между федеральным центром и органами исполнительной власти субъектов РФ. Рассматривать дела будут «вправе руководители соответствующих органов исполнительной власти субъектов РФ, заместители руководителей». При этом в новой статьей 23.79 КоАП не конкретизируется, каким образом должны быть заключены соответствующие соглашения и в какой срок.

http://pravo.ru/news/view/83671/

Там же можно найти и текст законопроекта. Штрафы для грузовиков — это уже известно (хотя удивляет скорость проведения поправки в Думу), а вот еще одно новшество в КоАП — это, можно сказать, сенсационная новость. Список органов, уполномоченных рассматривать дела об административных правонарушениях пополняется еще одним пунктом:

Статья 23.79. Органы исполнительной власти субъектов Российской Федерации – городов федерального значения Москвы и Санкт-Петербурга

1. Органы исполнительной власти субъектов Российской Федерации – городов федерального значения Москвы и Санкт-Петербурга рассматривают дела об административных правонарушениях, предусмотренных частью 5 статьи 12.16 настоящего Кодекса, в случае если передача этих полномочий предусматривается соглашениями о передаче осуществления части полномочий между федеральными органами исполнительной власти и органами исполнительной власти субъектов Российской Федерации.

2. Рассматривать дела об административных правонарушениях от имени органов, указанных в части 1 настоящей статьи, вправе руководители соответствующих органов исполнительной власти субъектов Российской Федерации, заместители руководителей.

Не пора ли Думе рассмотреть вопрос об отделении города федерального значения Москвы от остальной России?

ООП и структурки

В очередной раз прочитал в качестве определения «объектно-ориентированности» что-то типа «это структурки и код для работы с ними«. Удивительно, как популярная (но не единственная) реализация так повлияла на понимание термина. Речь идет прежде всего о том, как «объектно-ориентированность» реализована в C++.

Для начала — попытаемся понять, что же такое «объектно-ориентированность» в программировании. Мне очень нравится определение из SICP:

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

Таким образом, способ, которым мы организуем большую программу, в значительной степени диктуется нашим восприятием моделируемой системы. В этой главе (3 глава SICP) мы исследуем две важных организационных структуры, которые соответствуют двум достаточно различным взглядам на мир и структуру систем. Первая из них сосредотачивается на объектах (objects) и большая система рассматривается как собрание индивидуальных объектов, поведение которых может меняться со временем.

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

Эта модель в явной форме была реализована в языках типа Simula или Smalltalk. Из более современного можно назвать, например, VRML — это не просто «формат файлов» типа Autocad или 3D Studio, а практически полноценная реализация вышеназванного принципа. Из «настоящих» языков программирования — можно привести в качестве примера Objective C. Очень похожи на модель с обменом сообщениями «сигналы» и «слоты» библиотеки Qt — но в данном случае речь идет о диком смешении двух подходов к ООП, и вряд ли это стоит считать подходящим примером.

Па-а-азвольте, скажут тут знатоки современных языков программирования — где же тут private и public переменные, где здесь методы? И вот тут придется вспомнить про то, что C++ — первый широко используемый «объектно-ориентированный» язык, но создавался он исключительно как «C с классами», причем эти «классы», как и все объектно-ориентированные возможности раннего C++, были лишь имитацией таких возможностей в «настоящих» объектно-ориентированных языках.

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

class A {
public:
	int x;
	int f(int y);
private:
	int z;
};

… и вот такой код, работающий с ним:

A a;
int b;
a.x = 2;
b = a.x;
b = a.f(3);

В С++ эти три строчки — принципиально разные операции. На самом деле все они могут быть рассмотрены, как частный случай «посылки сообщения» (а ее мы будем записывать в виде адресат.сообщение(аргументы)):

class A {
public:
	int get_x();
	void set_x(int new_x);
	int f(int y);
private:
	int x, z;
};

... 

A a;
int b;
a.set_x(2);
b = a.get_x();
b = a.f(3);

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

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

объект Формула {
методы:
	Число вычислить() - чисто виртуальный;
}

объект Сумма : Формула {
методы: 
	Число вычислить();
	задатьПервоеСлагаемое();	
	задатьВтороеСлагаемое();
переменные состояния:
	Формула первоеСлагаемое, второеСлагаемое;
}

объект Константа : Формула {
методы:
	Число вычислить();
	задатьЗначение(Число);
переменные состояния:
	Число значение;
}

Думаю, что реализации расписывать не надо? А вот как это можно использовать:

Константа к1, к2, к3;
Сумма с1, с2;
Число результат;
к1.задатьЗначение(1);
к2.задатьЗначение(2);
к3.задатьЗначение(3);
с1.задатьПервоеСлагаемое(к1);
с1.задатьВтороеСлагаемое(к2);
с2.задатьПервоеСлагаемое(с1);
с2.задатьВтороеСлагаемое(к3);
результат = с2.вычислить();

Естественно, что вышеописанное — это некоторое извращение, и все соответствующие объекты должны создаваться сразу, как только мы напишем результат = (1+2)+3;. «Метод» в нашей терминологии — это не более чем описание «формата» получаемого сообщения и реакции на него.

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

Жутким монстром на фоне этого всего выглядит Qt — где умудрились объединить и обмен сообщениями (в виде сигналов и слотов), и «объекты в стиле C++». Получилось что-то в духе чудовища Франкенштейна — хотя иногда и довольно удобное в использовании.