А давайте увеличим этот снимок ещё в 1000 раз…
Смотрели с женой шестую серию сериала «Элементарно» (хороший, кстати), там главный герой, Шерлок на экране компьютера увеличивал изображение подозреваемого и оно из зернистого и нечёткого в доли секунды улучшилось настолько, что стало возможным разглядеть надпись на рубашке подозреваемого.
Сейчас будет много текста и рассуждений, напрягитесь.
Жена спросила правда ли такое возможно, на что я ответил «конечно нет», но сам вспомнил свой давний умственный эксперимент.
Вот смотрите, берём, например, российский автомобильный номер. На первой, четвёртой и пятой позиции там одна из двенадцати букв (это те буквы, которые в нашем алфавите совпадают по написанию с латинскими, только они используются у нас в номерах), на остальных — цифры. Между прочим, это номер моей группы (968), в которой я учился в Университете и факультет (ВМК).
Мысленно откроем этот файл в редакторе и уменьшим раз в пять, так чтобы он стал нечитаемым, пусть не полностью, а в большинстве деталей. Уменьшаем
В жизни, на обычных фотоснимках работает не графический редактор, но я предполагаю, что физики достаточно знают об этих явлениях, чтобы нарисовать
А, впрочем, зачем нам уменьшать мысленно, давайте я это в редакторе просто сделаю:
И вот мы смотрим на получившееся изображение и понимаем, что это автомобильный номер, даже некоторые цифры различаем, но не понимаем какой. Можем ли мы
Или вы думаете, что и так, без труда разбираете что там написано? Если так, то это заблуждение. На нём — В960НУ, а не В968МК, как на первом. Вот, посмотрите, разница между этими двумя уменьшенными номерами:
Нет ничего невозможного в том, чтобы «развернуть» функцию уменьшения изображения — придумать F’(IMAGE), которая бы давала обратный результат, только с одним «но». Думаю, достаточно очевидно, что функция уменьшения теряет часть информации, то есть обязательно найдутся минимум два изображения, которые дадут одинаковые уменьшенные картинки: image = F(IMAGE₁) и image = F(IMAGE₂).
Таким образом обратная функция вернёт нам не одно изображение, а набор изображений, из который наша F могла сделать уменьшенное изображение. Это было бы проблемой, если бы мы не знали на что мы смотрим. Однако, в данном случае нам дан контекст — это российский автомобильный номер.
К чему я веду. Наш номер написан вполне определённым шрифтом, у нас есть всего 10 или 12 вариантов правильного написания каждого знака, в зависимости от позиции. Если наша обратная функция дала нам множество возможных изображений, из них надо отобрать лишь те, которые дают на каждой позиции допустимый вариант. Возможно таких изображений останется всего ничего, а то и вообще одно.
Посмотрите ещё раз на разницу между уменьшенными изображениями номеров В960НУ и В968МК, на этот раз я увеличу изображение ещё в три раза:

Даже такие слаборазличающиеся номера достаточно заметно разнятся после уменьшения, что даёт надежду, что потери информации при уменьшении не столь значительны, чтобы потерять её вовсе.
В общем, я думаю, что в отдельных случаях (когда нам известно что перед нами), восстановление информации из сильно пиксилизированных изображений не фантастика, а вопрос вычислительных мощностей.
Собственно, те же рассуждения применимы и к алгоритмам другого рода — вроде тех, которым защищают приватную информацию, например, пикселиризации или смазыванию, если, конечно, нам известно информацию какого характера автор хотел скрыть. Отличный пример есть в блоге Леонида Каганова — четыре смазанные надписи, в которых нам известны все характеристики шрифта и используемый набор символов.
Мы стали более меньше курить
31 мая был Всемирный день отказа от курения. В этом году эта дата вышла ироничной, так как с первого июня этого года (т. е. со вчерашнего дня) вступил ФЗ №15, запрещающий курение в новом ряде мест.
На самом деле новых запретов не так уж и много, впрочем, так кажется, наверное, только не курящим.
Самое важное, что теперь борцам с курением в подъездах теперь можно будет оперировать не СНиПами, которых никто не боится, а Федеральным законом (частью 10 статьи 12). Так же некурящих порадует запрет на курение в медицинских
Приятно ещё, что теперь запрещено курить внутри и возле железнодорожных и автовокзалов, аэропортов, портов и станций метрополитена, это теперь можно делать не ближе 15 метров от входа в них (статья 12, часть 4). Особо обратите внимание (если я правильно понимаю закон) — эти уродские кабинки для курения в аэропортах теперь вне закона.

Кстати, в чём слабость и нового закона, и старого (принятого
Интернет теперь необъятный и наверное нужно объяснять какой мем лёг в основу заголовка, да? Это намёк на фразу ставшей знаменитой Светы из Иванова.
Ок, глаз
Я опять про свои любимые нейроинтерфейсы (НИ), я время от времени люблю затрагивать эту тему, потому что считаю, что их пришествие перевернёт нашу жизнь. Напомню, это интерфейс к электронным устройствам, «проведённый» прямо в мозг.
«Гугл Глас» издалека показывает на что это может быть похоже. Исчезновение всех интерфейсов вокруг — кнопок, выключаетелей, клавиатур, мониторов, отделки квартир, телевизоров, радио, телефонов, банкоматов и так далее, впрочем, я увлёкся.
В общем, я хотел поговорить о НИ и одной из функций «Гугл Глас», а именно — съёмке видео и фото. В идеале хотелось бы заменить на НИ и фотоаппараты тоже. Ну а правда, казалось бы, зачем они — ведь у нас уже есть глаза и стоит подключить облачное хранилище к ним, как возможность фото- и видеофиксации появляется как по волшебству.
Но если вспомнить как устроен глаз, понятно, что на этом пути много трудностей. Мы чётко видим окружающее пространство не просто глазом — зона, где мы чётко воспринимаем предметы находится в центре, дальше всё расплывается вплоть до полной неразличимости, остальное достраивает наш мозг, реагируя на движение в мутных зонах, он посылает наши глаза посмотреть что там происходит.
В итоге, наш глаз постоянно в движении, если мы его останавливаем (например, читая эту строчку), то наша информация об окружающем мире начинает устаревать.
Фотоаппарат, понятное дело, совсем иначе устроен, не нужно наверное, объяснять как. Было бы просто, если бы глаз устроен был устроен точно так же — сняли бы кадр и записали в память, но нет, придётся довольствоваться тем что есть — маленьким пятном чёткости.
Кроме того, наш «внутренний фотоаппарат» даже не сможет направить глаз в то место, которое он не смог запечатлеть с хорошей резкостью — ведь мозгу далеко не всё интересно,
В общем, в этом месте есть проблема и это я ещё не перешёл к широкоугольной съёмке и съёмке с увеличением. Разве что глаза заменять, но это совсем другая история.
Эксплоит для Windows Phone?
Недавно видел, похоже, уникальные кадры — как действует
Выглядело это так — смартфон сам разблокировался и, игнорируя прикосновения хозяина, стал неторопливо заниматься своими делами — открывать окно набора СМС, передвигать плитки на первом экране, удалять случайные диалоги.
Я сначала подумал, что это
Любопытная деталь — на прикосновения к экрану реации не было, но это не относится к трём
Сразу отвечаю на вопрос, который может возникнуть — я уверен, что это не подлог и не розыгрыш, хозяина смартфона знаю лично.
Иду на Вы
Заметил за собой, что восприятие слов «вы» и «Вы» у меня различается не совсем традиционно, не изучал ещё насколько это согласуется с правилами. В основном же точка зрения следующая: «вы» к единственному лицу — уважительно, «Вы» — максимум уважения.
Для меня «Вы» более… притяжательное что ли. Позвольте пример. Буквально сегодня я отвечал на письмо:

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

Код на Си получился чуть более ста строк и на этот раз я распознаю шаблон поведения, он задаётся в подстановке
При сканировании чисел с датчика я всегда рассматриваю десять значений от которых считаю среднее и каждое значение рассматриваю как отклонение от этого среднего, собственно, вот код:
// Магические пассы, улавливаемые через датчик освещённости
// Written by Evgeny Stepanischev Jun 2013
// gcc lightlock.c -framework IOKit -framework ApplicationServices -O3 -o lightlock
#include <IOKit/IOKitLib.h>
#include <CoreFoundation/CoreFoundation.h>
#include <ApplicationServices/ApplicationServices.h>
#include <unistd.h>
#define WINDOWSIZE 10
#define GESTURES "+vvv000-^^^"
#define UPDATEINTERVAL .01
const kGetSensorReadingID = 0;
int makeReaction(uint64_t current);
static io_connect_t port = 0;
void macLock () {
CGSCreateLoginSession(NULL);
}
void updateTimerCallBack(CFRunLoopTimerRef timer, void *info) {
IOItemCount osize = 2;
uint64_t values[osize];
kern_return_t ret = IOConnectCallMethod(port, kGetSensorReadingID,
NULL, 0, NULL, 0, values, &osize, NULL, 0);
if (ret == KERN_SUCCESS) {
if (makeReaction(values[0])) {
macLock();
}
}
else if (ret != kIOReturnBusy) {
mach_error("IOConnectCallMethod: ", ret);
exit(-3);
}
}
int main() {
io_service_t service = IOServiceGetMatchingService(
kIOMasterPortDefault, IOServiceMatching("AppleLMUController")
);
if (service == kIOReturnNoDevice) {
fprintf(stderr, "Cannot find Ambient Light Sensor\n");
exit(-1);
}
kern_return_t ret = IOServiceOpen(service, mach_task_self(), 0, &port);
IOObjectRelease(service);
if (ret != KERN_SUCCESS) {
mach_error("IOServiceOpen:", ret);
exit(-2);
}
CFRunLoopTimerRef timer = CFRunLoopTimerCreate(
kCFAllocatorDefault,
CFAbsoluteTimeGetCurrent() + UPDATEINTERVAL,
UPDATEINTERVAL, 0, 0, updateTimerCallBack, NULL
);
CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopDefaultMode);
CFRunLoopRun();
exit(0);
}
int checkMask(char mask, const int64_t diff, const int64_t prevdiff) {
switch (mask) {
case '+': return diff > 0;
case '-': return diff < 0;
case '0': return diff == 0;
case 'v': return prevdiff > diff;
case '^': return diff > prevdiff;
}
return 0;
}
int makeReaction(uint64_t current) {
static uint64_t window[WINDOWSIZE];
static uint64_t prevdiff = 0;
static gesturepos = 0;
uint64_t average = current;
int i, notzerocnt = 1;
for (i = WINDOWSIZE-1; i > 0; i--) {
if (window[i] = window[i-1]) {
average += window[i];
notzerocnt++;
}
}
window[0] = current;
average /= notzerocnt;
int64_t diff = average - current;
if (checkMask(GESTURES[gesturepos], diff, prevdiff)) {
gesturepos++;
} else {
if (!gesturepos || !checkMask(GESTURES[gesturepos-1], diff, prevdiff)) {
gesturepos = 0;
}
}
prevdiff = diff;
return gesturepos == sizeof GESTURES - 1;
}В функции main, в конце стоит магический код, который нужен для того, чтобы вызываемые мною внутренние шестерёнки «Мака» благополучно крутились, иначе функция CGSCreateLoginSession будет ждать когда ей перепадёт процессорного времени.
Ну и традиционно, если
Malbolge

В десятой серии сериала «Элементарно» внезапно для меня в сюжете используется эзотерический язык программирования «Малболж». Я им немного интересовался, но программировать на нём так тяжело, что даже простые программы, в основном, сгенерированы компьютером.
Когда я увидел текст этой программы, конечно, сразу загорелся посмотреть что там выводится, но оказалось, что это даже не программа, а просто фрагмент «Hello, world.», да ещё и с несколькими опечатками (первые две ошибки — символы №№ 9 и 15):
('&%:9]!-}|z2Vzwv-,POqponl$Hjig%eB@@>}=<M:9wv^WsU2T|nm-
,jcl(I&%$#"^CB]V?Tx<uVtT^Rpo3Nlf.Jh++Fdbc=CBA9?!Жаль, можно было бы
Церкви и храмы верхнеуслонского района
Сегодня решили сделать вылазку по заброшенным церквям и храмам, а то уже давно этим не занимался, душа требует. Съездили в четыре места, в одном из них, в Русском Бурнашеве вместо храма мы нашли лишь кучу досок и табличку, что храм Святоникольский, Ильинский и всех скорбящих радостей, 1761 года постройки находился на территории, которая является
Почему территория является памятником, а храм — нет (иначе зачем бы его снесли), мне неведомо, но теперь от старинного храма одни воспоминания и старые фотографии:
В первый раз мы проехали мимо, в Юматово и просто подумали, что храма не нашли, не поняли, что это его остатки.
В Юматове находится церковь Преображения Господнего 1823 года (по другой версии — 1725, скорее всего эти источники имееют ввиду



Признаться, могилы мы не нашли, правда и искали не очень тщательно — в этом месте очень высокая трава. Зато оценили саму церковь, в очень хорошем состоянии, правда росписей почти не видно, только наверху, под самым потолком
А вот следующий объект — бывшая церковь Михаила Архангела, в селе Татарское Бурнашево, деревянное здание, построенное приблизительно между 1875 и 1885 годами, несёт на себе печать безумия. Сейчас в этом здании церкви почти не узнать, видимо её использовали
В окне второго этажа видно надпись «не видь», на другом — «оставь меня», внутри дома — «прости» и «сочись», все надписи сделаны
(много неразборчиво) извини меня Валя (?).
Прощай дорогой Михаил (?) писала тебе Валя (?) я любила тебя так не …был… (неразборчиво) в своей любви… (неразборчиво) (неразборчивая подпись)
Я любила тебя люблю дорогой.





О том, что в этом доме могла располагаться церковь напоминают только довольно красивые потолки. Находиться там было, признаться, довольно жутко.
Последний объект — в селе Тихий Плёс, церковь Ризоположения Господня, построенная в 1877—82 гг. на месте более старой, красивейшее здание, к сожалению, внутрь не попасть, всё закрыто, так как её начали потихоньку восстанавливать, но из окон внутренности хорошо видно. Внешне церковь очень хорошо сохранилась, внутри даже есть
Храм построен в основном на средства казанского купца Павла Александровича Прибыткова.





Рядом с церковью совершенно нежданно обнаружилось надгробье, спасибо жене, она догадалась промыть его водой, иначе я бы не смог прочитать, что на нём написано: <
Там похоронен Инарх Фёдорович Самуилов, священник этой церкви, сын Фёдора Николаевича, священника из церкви Михаила Архангела, соседнего Татарского Бурнашева.
На могиле, собственно, так и написано: «Іерей ИНАРХЪ ѲЕДОРОВИ… …АМУИЛОВЪ …онч. 25 февр. 1914 52 лѣтъ». Миръ праху твоему. Дорогой супругъ. И родитель».
Недокументированные правила «Игры престолов»
В «Битве королей» Большой и Малый Уолдеры играли с винтерфелльской ребятней в игру под названием «лорд переправы», популярную в Близнецах. По правилам этой игры, водящий — «лорд» — стоит на бревне, перекинутом через ручей или пруд, и препятствует всем желающим пройти. Другие игроки должны разговаривать с «лордом», который задает им вопросы, требует клятв и тому подобное. Данную клятву нужно обязательно соблюдать, но слова «может быть» (mayhaps), будучи прибавленными к клятве, делает её недействительной и ни к чему не обязывающей, так что игрок, ввернувший эти слова в свою речь так, чтобы «лорд» их не заметил, получает возможность вопреки фальшивой клятве скинуть «лорда» в воду.
В русских переводах Виленской mayhaps в описании игры было переведено как
«чур-чура», а в речи лорда Уолдера Фрея, обращенной к Роббу, и вовсе опущено.Разговаривая с Роббом сразу после прибытия Короля Севера в Близнецы, Уолдер Фрей намекнул на игру и ее правила, сказав, что уже давал Роббу переправиться через реку в начале войны, и Робб не сказал «может быть» (You wanted crossing and I gave it to you, and you never said mayhaps).
После этого, когда Кейтилин заговорила о еде — что было правильно понято обеими сторонами как напоминание о священных законах гостеприимства — лорд Фрей немедленно отреагировал, предлагая снедь: «Каравай хлеба, кусок сыра, может быть, колбасу?» (в переводе Виленской: «Хлеб с сыром и колбаса вас устроит?»). Робб, не знавший об игре в «лорда переправы», не обратил внимания на выглядящие вполне естественно слова Уолдера.
Учитывая правила игры в «лорда переправы», оставшиеся незамеченными слова «может быть» сделали негласно даваемое Уолдером Фреем обещание гостеприимства и непричинения вреда недействительным и дали ему возможность «столкнуть» Робба, то есть убить.
«Яндекс.Фотки» и Ретина
Мне нравятся «Яндекс.Фотки». Не за архаичный дизайн и вёрстку таблицами, конечно, а за отсутствие ненужных мне сервисов и безразмерное (действительно безразмерное) хранилище.
Не нравится только, что я на Ретине не могу выдеть свои фотографии в том качестве, в каком мог бы. Я сейчас болею, кашляю, чтобы никого не будить, ушёл на кухню и сделал userjs для браузера «Сафари», который меняет дизайн «Фоток» и просмотр фотографий так, чтобы им было приятнее пользовать на Ретине.
Может ещё
// ==UserScript==
// @name Retina Yandex Fotki
// @include http://fotki.yandex.ru/*
// ==/UserScript==
(function () {
function $(sel, attrs) {
var os = typeof sel == "object" ? [sel] : document.querySelectorAll(sel);
for (var e = 0, l = os.length; e < l; e++) {
var o = os[e];
for (var i in attrs) {
if (attrs.hasOwnProperty(i)) {
if (typeof attrs[i] == 'number') {
attrs[i] *= o[i] || document.defaultView.getComputedStyle(o, null)[i];
}
o[i] = o.style[i] = attrs[i];
}
}
}
return os[0];
}
var img = document.querySelector(".js-img-link img");
if (img) {
$(".js-img-link img", {
marginLeft: 1280 - img.width * 2 + 'px',
zoom: '.5',
});
$(".b-preview__size_xxxl", {
width: Math.max(640, img.width / 2) + 'px',
height: img.height / 2 + 'px',
overflow: 'hidden',
});
}
$(".b-head-logo__img", {
src: 'http://yandex.st/morda-logo/i/logo.svg',
width: '89px',
height: '60px',
marginBottom: '-30px',
position: 'relative',
zIndex: '-1',
});
$(".b-head-menu .an-upload", {
width: '80px',
height: '17px',
});
var img = $(":-webkit-any(.user100, .b-userpic-small) img", {
width: '40px',
height: '40px',
float: 'left',
});
if (img && img.src.substr(-6) == '-small') {
img.src = img.src.substr(0, 84) + 'normal';
$(img, {
width: '20px',
height: '20px',
});
}
$(".b-round", {
display: 'none',
});
$(":-webkit-any(.b-preview, .b-foto-actions, .b-foto-listing-i)", {
borderRadius: '0px',
webkitBorderRadius: '0px',
backgroundColor: 'inherit',
});
var imgs = document.getElementsByTagName('img');
for (var i = 0, l = imgs.length; i < l; i++) {
imgs[i].src = imgs[i].src.replace(/S$/, 'M').replace(/XM$/, 'S').replace(/XS$/, 'S');
}
})();Сложнее всего было
SVG-спрайты
Вчера ночью, эксперементируя с различными способами внедрения картинок в ХТМЛ, я понял, что уже все браузеры (кроме «Оперы Мини»), понимают СВГ прямо в коде страницы. А это значит, можно отказаться от CSS-спрайтов в пользу того, что можно назвать «SVG-спрайтами»:

Принцип,
Думаю, всем понятен код: в теге svg задаются размеры кусочка спрайта, в image обязательно нужно указать полные размеры картинки (для Ретины можно указать их в два раза меньше, если спрайт подготовлен к этому типу экранов), при помощи параметров x и y позиционируем в каком именно месте спрайта расположена наша картинка.
В комментариях спрашивают зачём это всё надо, чем это лучшее спрайтов в ЦСС.
Ну,
Игра «Candies»

Прекрасный текстовый квест увидел в ЖЖ Анатолия Воробья, я вообще люблю текстовые игрушки. Я её уже прошёл, но захотелось пройти ещё раз в «суперрежиме». Если откроете консоль и напишите там следующую строку
$.getScript("http://pastebin.com/raw.php?i=QN7K40Nn")то в игре вы станете неубиваемым и сможете пройти любые уровни. Но рекомендую пройти квест самостоятельно, он очень забавный.
Закон о защите верующих
Большинство интересуется политикой в достаточной степени, что бы знать о принятии закона «О защите прав верующих» как его называют, тем не менее, почти никто не потрудился самостоятельно почитать что именно было принято. У нас на работе, например, рождаются самые странные трактовки закона.
Поэтому я взял таблицу принятых правок к закону и быстренько её проштудировал.
В результате, у нас значимо меняются две статьи — №148 УК и статья 5.26 Кодекса об административных нарушениях. Причём, изменения вступают в силу 1 июля 2013.
Что новенького? Рассмотрим статью 148. Самая расплывчатая формулировка, которую считают самой опасной такова: «публичные действия, выражающие явное неуважение к обществу и совершенные в целях оскорбления религиозных чувств верующих».
Я не согласен с истерией вокруг, нет. Посмотрите, там написано «совершённые в целях оскорбления религиозных чувств». Различные атеистические высказывания, произнесённые как личная позиция не несут цели оскорбить
Согласно второй части статьи, если вы совершили
Часть третья статьи 148 рассматривает «воспрепятствование деятельности религиозных организаций или проведению богослужений, других религиозных обрядов и церемоний». Попытались сорвать проведение религиозного обряда? Получайте штраф до дохода за два года, общественные работы или арестом на срок до трёх месяцев.
Часть четвёртая рассматривает то же самое, но с использованием служебного положения, либо с угрозой или применением насилия, почитайте сами.
Переходим к статье 5.26 административного кодекса.
В ней две части. Первая прекрасна и грозит штрафом до 30 тысяч (для должностных — до 100), я вам её процитирую:
Воспрепятствование осуществлению права на свободу совести и свободу вероисповедания, в том числе принятию религиозных или иных убеждений или отказу от них, вступлению в религиозное объединение или выходу из него.
У вас всё перед глазами: если вам
Вторая статья касается умышленного публичного освернения религиозной литературы, предметов культа, их знаков или эмблем, либо их порчи или уничтожения. Штраф до 50 тысяч (для должностных лиц — до 200), либо общественные работы. Нормальным людям тут ничего не грозит.
Мой личный вывод: не так страшен закон, как его малюют СМИ.
Римский нож

В 1891 году Карл Элзенер, который владел тогда компанией по производству хирургического оборудования, обнаружил, что ножи для швейцарской армии, поставляет Германия.
Он начал работу над созданием «Солдатского Ножа» — прототипа современного швейцарского ножа. Основной идеей было совмещение ножа и отвёртки, последняя стала необходима
Как мы видим на снимке, идея привинтить к ножу ещё
В дополнительных «лезвиях» римского ножа видно ложку, вилку и несолько загадочных для меня ковырялок, думаю, связанных с курением трубки или ремонтом оружия.
Кстати, русскоязычная «Википедия» ведёт историю вилки с девятого века, тогда как англоязычная упоминает вилки аж бронзового века, что, как обычно, говорит не в пользу нашей «Википедии».
«Ё» и «ять»

В кафе, куда я часто езжу обедать, увидел книжку И. Деркачева, 1885 года выпуска (Москва, издание А. Д. Ступина), это даже не книжка, а скорее брошюра, называется «Ёлка. Сборник в прозе и стихах», третье издание.
Один из странных аргументов противников буквы «ё» является её похожесть на своего родителя — букву «е»
Мне показалось любопытным, что в строке «Точно звѢздочки горатъ», вместо «ё», как мы видим, употребляется буква «ять», которая совершенно графически не похожа на «ё». Не знаю можно ли из этого делать
Кстати, не исключаю возможности, что в 1885 году это слово произносилось именно через «е».
Неонилла
Постепенно знакомлюсь с другими любителями покапаться в собственной родословной. У меня часто начали спрашивать как мои успехи, не забросил ли я своё хобби.
Хочу доложить. Хобби не забросил, на данный момент в дереве 1752 человека, это, конечно, в основном, «в ширину». Если считать меня нулевым поколением, то все ветви уже достигли пятого поколения, некоторые (уже в приличном количестве) — шестого.
Появилось новое интересное имя — Неонилла (от греческого «Νέος», «новый») (как утверждает «Википедия») имя редкое, родственное ему хорошо нам знакомое имя Неля.
Неонилла Ивановна Старостина — моя вероятная прапрапрабабушка (пока это выясняется).
Конец Гугл Ридера
Первого июля Гугл закапывает очередной полезный проект — Гугл Ридер. Если кто вдруг не знает, это читалка РСС. Я этим проектом пользовался с момента появления, каждый день по многу раз. Не забудьте положить цветочек на виртуальное кладбище продуктов Гугла.
Это в определённой степени подрывает доверие к Гуглу и идее
Я так ничего и не смог выбрать взамен. Есть идеи куда переходить после первого июля?
При царях Горохах
Во главе Спарты стояли два царя, власть который была ограничена пятью эфорами, обладавшими всей полнотой законодательной, судебной и исполнительной властью. (…)
—
А по-моему, они должны враждовать между собой. — Вот именно! Предположим, был бы только один. (…) Если он чувствует силу, то отбирает у своих подданных всё — жён, сыновей, имущество. В общем, делает что хочет. А посмотри, как у нас? Если бы один из наших правителей попробовал так вести себя, мы тут же переметнулись на сторону второго. Так что они даже не пробуют.
Джин Вульф. «Воин тумана».
Никогда не слышал, что в Спарте два царя было, причём совершенно равноправных, как интересно. В книге всё выглядит мудростью (впрочем, это не историческая книга), «Википедия» же не так радужно всё описывает.
Там три версии высказывается — что было два
ReactOS/Windows *CriticalSection API → Linux
Вчера портировал часть «РеактОС» под Линукс, пришлось разобраться что делает небольшой фрагмент АПИ Виндоуз («РеактОС» — это операционная система, совместима с Виндоуз).
Функции оказались небольшими, но вдруг
#include <pthread.h>
inline void InitializeCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutexattr_t mAttr;
pthread_mutexattr_settype(&mAttr, PTHREAD_MUTEX_RECURSIVE_NP);
pthread_mutex_init((pthread_mutex_t *) (void *) cs, &mAttr);
pthread_mutexattr_destroy(&mAttr);
}
inline void DeleteCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_destroy((pthread_mutex_t *) (void *) cs);
}
inline void EnterCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_lock ((pthread_mutex_t *) (void *) cs);
}
inline void LeaveCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_unlock ((pthread_mutex_t *) (void *) cs);
}После этого все другие обращения к структуре CRITICAL_SECTION нужно, конечно, убрать, иначе код будет падать.
Лучше сова в руках, чем жаровонок в небе
В Твиттере интересуются моими «экспериментами» по преобразованию меня в «жаворонка».
Напоминаю, что это не эксперимент, а производственная необходимость — мне нужно быть на работе в 9 часов, что для совы довольно рано. Я уже более полутора лет живу в режиме самоизнасилования, в моей жизни и раньше встречались такие моменты — когда я учился. Например, в Университете стало полегче — многие утренние пары можно было прогулять, но кроме этого были ещё школа и техникум.
Напоминаю чем отличается «сова» от просто ленивого человека: если «сова» встаёт раньше положенного, то почти всё утреннее время она будет тупить. В моём случае совсем всё плохо, самое плодотворное у меня время — после 8 вечера, а в десять мне уже желательно лечь спать.
Второе — вставать очень тяжело.
От утреннего тупняка мне никуда не деться,
Одно время в СССР было популярно приучать себя и детей к режиму. Книжки, фильмы, мультики — всё это показывало положительных героев, живущих по режиму. В детстве ничего из этого не вышло, теперь же мой утренний распорядок таков:
7:00 — подъём (никаких вторых и третьих будильников, встаю сразу) 7:05 — лёгкий завтрак 7:15 — душ (в моём случае — ванна, душ я не люблю, ванну — люблю, вода
Кроме того, в выходные я позволяю себе расслабиться, но не «отоспаться» — это, похоже, скорее вредит. Встаю часов в 9—10, очень редко позже, только если плохо себя чувствую.
Плотные (совсем не пропускающие свет) шторы мне посоветовал
Пятничная загадка для PHPшников
В ЖЖ увидел прекрасное — загадку про ПХП.
Те, кто знает этот язык, скажите, почему этот код не выдаёт ошибок или предупреждений (все ошибки, конечно, включены):
<?php
//bolknote.ru
?>Павел Степанович Стрелков
Удивительно. В одну из поездок к родителям я посетил
В Национальном Архиве нашлись бумаги, что мой прапрадед, Павел Степанович Стрелков (1863 года рождения) был наёмным чернорабочим как раз у Шулешкина, а помимо этого арендовал у него землю, которую засевал рожью и коноплёй (напоминаю, в те годы её выращивали легально и она шла на ткань и верёвки), и имел собственный дом.
В бумаге об аренде за 1900 год Шулешкин зачёркнут и вписан Анечкин Валерий Иванович, который так же упоминается в бумаге за 30 июля 1900 года как помещик
Ещё известно, что на этот год Павел Степанович (кстати, в некоторых бумагах отец записан как «Стефан» — возможно это крестильное имя) держал двух лошадей с жеребёнком, одну корову с телёнком и трёх овец с двумя ягнятами.
Так же доподлинно известно, что у него было два сына (возможно — три) и четыре дочери, есть вероятность, что у его жены это был второй брак, но детей, по всей видимости, в первом браке не было. Один из сыновей, так же Степан (Стефан), возможно названный в честь деда — мой прадед, который числится пропавшим без вести на Великой Отечественной Войне.
Интересно, что по меньшей мере до 1900 года фамилия у этой семьи не упоминается, а вот в 1908 в записи о рождении их дочери, оба родителя записаны как «Шапкины», причём эту фамилию я слышал как о наших родственниках, степени родства с которыми никто не помнит.
Историк, который для меня изучает архив, считает, что
AR.Drone 2.0 фирмы Parrot
Я, как знают постоянные читатели, люблю ездить по заброшенным храмам и фотографировать. Меня привлекает очарование старых зданий, их атмосфера, которую я часто не могу почувствовать там, где толпятся люди. Кроме того, часть заброшенных цервей рушится или намеренно разрушается. И мне хочется сохранить их хотя бы на фотографиях.
Недавно, кстати, я узнал, что у моего хобби есть название — постпаломничество и выделил все фотографии по теме в отдельный альбом. Меня давно привлекала идея делать фотографии не только с того ракурса, до которого я могу дотянуться, но и выше — например, с высоты птичьего полёта.
И я с завистью смотрел на ребят, запускающих любительские модели, поднимающие в воздух камеры. А недавно узнал о существовании AR.Drone 2.0 фирмы «Паррет». 2.0 — это номер версии, от первой отличается улучшенной фрональной камерой (1280×720 против 640×480), наличием компаса, барометрического альтиметра и характеристиками моторов.

В комплекте идёт два корпуса (для полётов внутри помещений и на воздухе, последний меньше весит, а значит время полёта чуть больше), сам летательный аппарат и аккумулятор. Покупку мы делали в «Медиамаркте». Поскольку я в интернете при менеджере нашёл такой же аппарат, но продающийся в «М.Видео» дешевле, то мне ещё подарили запасной корпус для полётов внутри помещений (он 2,5 тысячи стоит).

Отдельного устройства управления у него нет, управляется он при помощи специальной программы с любого устройства на АйОC или Андроиде. Виден как обычная

Аккумулятора хватает минут на 15 полёта, так что вместо запасного корпуса надо было брать запасной аккумулятор, зарядка занимает примерно 1,5 часа. Дальность — примерно 50 метров, послав дрона далеко вперёд, легко его больше не найти — теряя сигнал он снижается и если вы летали надо полем пшеницы, то вряд ли его найдёте, я в траве искал минут 10. Так что устройству отчётливо нехватает
Пока хорошо управлять им я не научился, на высоте дуют другие ветра и там его

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

Вообще, вокруг этих квадрокоптеров уже образовалось достаточно плотное сообщество, так как внутри обычный Линукс, да ещё и с открытым АПИ, описан большой опыт модификации этих устройств (например, к ним крепят камеру лучшего качества, другой корпус и так далее), но мне это пока не интересно — научиться бы «водить» базовую комплектацию.
В общем, устройство интересное, но нужен второй аккумулятор, иначе хватит его только на полёт
X10: управление домом
Неспешно смотрю протокол Икс10 и аналоги. Кто не знает — это управление всяческой техникой по проводам электрической сети. Если кто занимался этим вопросом, подскажите, пожалуйста.
Мне нужна очень простая штука: заменить обычный механический выключатель на такой же, но управляемый как локально, так и дистанционно. Т. е. чтобы он питался от той же электрической сети, выглядел как обычный выключатель, но чтобы дополнительно управлялся с другого устройства.
Всё что я нашёл — отдельно управляющий блок, который заменяет выключатель (в этом месте стена заделывается) и отдельно дистанционный выключатель, который управляет этим блоком и который устанавливается
AR01-220 IP20
Вставленный в решётку вентиляции вытяжной вентилятор, положение не спас — на всё время его работать не оставишь, он как минимум шумит, а вручную мы его включаем когда чувствуем запах, т. е. он уже разлетелся по квартире, а в туалете в этот момент уже рыбу можно коптить.

В общем, задумался я об автоматизации процесса заботы о здоровье. Китай, как не странно, меня не выручил — найденная масса датчиков оттуда, либо просто бессильно пищит на дым, либо обладает оптореле
Нашёл пару российских фирм, выпускающее то, что мне нужно — датчик сигаретного дыма с регулировкой чувствительности, который умел бы управлять устройствами, питающимися от 220В. Первая фирма не работает с физическими лицами, потому отвалилась, вторая НПП «Эконикс» проблему в этом не увидела и я банковским переводом в 5,5 тысяч оплатил средство сделать жизнь лучше. Доставка в Казань обошлась всего в 250 рублей.
Датчик питается от сети в 220В, что очень хорошо — не нужен отдельный блок питания, крепится
На моей фотке кожух снят
Серьёзных испытаний я ещё не проводил, то ли сосед бросил курить уже, то ли вентилятор время от времени незаметно срабатывает и сразу вытягивает накуренное, не знаю, но одной проблемой в моей жизни стало меньше.
Пост ругани на S7
Вчера летел из Домодедова самолётом компании «С7». В Домодедове творился ад — на первом этаже людей было, как сельдей в банке, самолёты летели с большими задержками, у нас рейс задержали на 3,5 часа. Духота, сесть негде, я старался притереться поближе к открывающимся иногда выходам, чтобы глотнуть воздуха.
Все 3,5 часа приходилось ловить сотрудников компании и выпрашивать у них информацию — почему задержка, что случилось, когда полетим (на табло вылетов все 3,5 часа высвечивалось «информация ожидается»)?
В итоге,
Всё оставшееся время я ловил сотрудников «С7» и объяснял, что пассажирам всё равно есть ли там питание, если выбор — его загрузка в течении часов или вылет немедленно. Пилотов я обещал накормить за свои деньги.
Возможно, мои слова
Так вот, я считаю, что сотрудники компании «С7» повели себя тут как пидорасы в плохом смысле. Надо было выйти к пассажирам, объяснить ситуацию, предложить вылететь вовремя без обедов, а деньги за стоимость обеда — вернуть.