Что с поиском «Яндекса»?
с поиском «Яндекса» происходит
В результатах поиска легко увидеть, что «Яндекс» игнорирует слово
С Новым годом, что ли?
Я тут, чтобы мозг совсем не расслаблялся на праздниках, убил около часа и вручную сделал на Яваскрипте небольшое поздравление с Новым годом:
[][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})
[-~[]]+([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+
!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+
([]+!![])[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+
!![])]+([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])
[+!![]]][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})
[-~[]]+([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+!![]]+
([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])
[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+!![])]+
([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])[+!![]]]
(([]+!![])[+!![]]+([]+{})[-~[]<<[-~[]+-~[]]]+
([]+!![])[-[]]+([]+[][{}])[-[]]+([]+!![])[+!![]]+
([]+[][{}])[-~[]]+([]+{})[~[]+(+!![]<<!![]+!![]+
!![])]+([]+![])[!![]+!![]+!![]]+([]+![])[!![]<<!![]+
!![]]+([]+![])[!![]+!![]]+([]+![])[-[]])()
[([{}-{}]+[])[-~[]]+([]+![])[!![]+!![]]+([]+![])
[!![]<<!![]+!![]]+([]+!![])[-~[]]+([]+!![])[+[]]](
[][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})
[-~[]]+([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+
!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+
([]+!![])[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+!![])]+
([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])[+!![]]]
[([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})[-~[]]+
([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+!![]]+
([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])
[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+!![])]+
([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])[+!![]]]
(([]+!![])[+!![]]+([]+{})[-~[]<<[-~[]+-~[]]]+
([]+!![])[-[]]+([]+[][{}])[-[]]+([]+!![])
[+!![]]+([]+[][{}])[-~[]]+([]+{})[~[]+(+!![]<<!![]+
!![]+!![])]+([]+![])[!![]+!![]+!![]]+([]+![])
[!![]<<!![]+!![]]+([]+![])[!![]+!![]]+([]+![])
[-[]])()[([]+![])[-~[]]+([]+!![])[+![]]+([]+{})
[-~[]]+([]+{})[!![]+!![]]](([]+![])[-~[]]+
([][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})[-~[]]+
([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+!![]]+([]+!![])
[+![]]+([]+!![])[+!![]]+([]+!![])[-[~[]+~[]]]+
([]+{})[-~[]+(!![]<<!![]+!![])]+([]+!![])[+![]]+
([]+{})[-~[]]+ ([]+!![])[+!![]]]+[])[(-~[]+[+![]])-!![]])+
([]+![])[-~[]]+
(/!/[([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})[-~[]]+([]+[][{}])
[-~[]]+([]+!{})[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])
[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+!![])]+([]+!![])[+![]]+([]+{})
[-~[]]+([]+!![])[+!![]]]+[])[+!![]+[!![]<<!![]-~[]]]+
(/!/[([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})[-~[]]+([]+[][{}])
[-~[]]+([]+!{})[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])
[-[~[]+~[]]]+([]+{})[-~[]+(!![]<<!![]+!![])]+([]+!![])[+![]]+([]+{})
[-~[]]+([]+!![])[+!![]]]+[])[+!![]+[!![]<<!![]-~[]]]+
([]+[~[]/[]])[[[!![]+!![]]*[!![]+!![]]]*[!![]+!![]]]+
([]+{})[~[]+(+!![]<<!![]+!![]+!![])]+
([]+[][{}])[-~[]]+
([]+{})[-~[]<<[-~[]+-~[]]]+
([][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})
[-~[]]+([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+!![]]+([]+!![])
[+![]]+([]+!![])[+!![]]+([]+!![])[-[~[]+~[]]]+([]+{})[-~[]+
(!![]<<!![]+!![])]+([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])
[+!![]]][([]+{})[-~[]+(!![]<<!![]+!![])]+([]+{})[-~[]]+
([]+[][{}])[-~[]]+([]+!{})[!![]+!![]+!![]]+([]+!![])[+![]]+
([]+!![])[+!![]]+([]+!![])[-[~[]+~[]]]+([]+{})[-~[]+
(!![]<<!![]+!![])]+([]+!![])[+![]]+([]+{})[-~[]]+([]+!![])
[+!![]]](([]+!![])[+!![]]+([]+{})[-~[]<<[-~[]+-~[]]]+
([]+!![])[-[]]+([]+[][{}])[-[]]+([]+!![])[+!![]]+([]+[][{}])
[-~[]]+([]+{})[~[]+(+!![]<<!![]+!![]+!![])]+([]+![])
[!![]+!![]+!![]]+([]+![])[!![]<<!![]+!![]]+([]+![])
[!![]+!![]]+([]+![])[-[]])()+[])[([]+![])[!![]+!![]+
!![]]+([]+![])[!![]+!![]]+([]+[][{}])[!![]+(!![]<<!![]+!![])]+
([]+{})[!![]+(!![]<<!![]+!![])]+([]+!![])[!![]+!![]+!![]]](~[]+~[])[-[]]+
([]+{})[~[]+(+!![]<<!![]+!![]+!![])]+
(~[]/[]+[])[-~[]<<-(~[]+~[]+~[])]+
([~[]<[]]+[])[-[~[]+~[]+~[]]]+
([{}-{}]+[])[-~[]]+
([]+!![])[+!![]]+
(/!/+[])[-~[]])Запускать лучше всего в консоли браузера (в Firebug, Dragonfly и так далее). Цели сократить код у меня не было, более того,
Если
Из уважения к другим пассажирам выдерните шнур и выдавите стекло

28 декабря летел из Москвы и обратил внимание, в очередной раз, на эту надпись. Я ни разу не протирал раковину полотенцем после себя, просто не понимаю зачем и причём тут уважение. Объясните пожалуйста, вероятно я делаю
Почему и зачем?
Несколько лет назад меня научили различать вопросы «почему» и «зачем». До этого я не видел особой разницы между ними
За эти несколько лет я много раз чувствовал, что некоторые мои собеседники так же не видят разницы, как и я
«Почему» — это «по какой причине».
«Зачем» — «с какой целью».
Берегись лета, Москва!
С 1 января 2012 года в нашей стране не осталось ни одной организации, имеющей законное право тушить лесные пожары. С этой даты вступает в силу норма федерального закона от 4 мая 2011 г. №
99-ФЗ «О лицензировании отдельных видов деятельности», согласно которой в перечень видов деятельности, на которые требуются лицензии, входит деятельность по тушению лесных пожаров.
С лесного форума «Гринпис» в России цитата.
Состав сигарет
Храм в честь Кирилла Белозерского
В последний день отдыха мы с женой решили поехать, сфотографировать
Там находится заброшенный храм Кирилла Белозерского, построенный в 1723 году к пятидесятилению Петра Первого на средства его сподвижника — Мефодия Никитича Кудрявцева, а за год до этого село посетил сам император.
Храм в хорошем состоянии, внутри частично сохранилась роспись. Из Казани для восстановления храма определили проштрафившегося священника, но он так там и не появился, за что его отстранили от должности.
Сейчас богослужение проводит священник из соседнего прихода, а внутри храма стоит импровизированный фанерный алтарь. Помещение просторное, рассчитанное на большое количество прихожан (сейчас в селе не наберётся и полусотни человек, а сто лет назад там жило почти 1300).








Урок на будущее: ехать нужно раньше, пока есть солнце, одеваться попроще и брать с собой фонарик. Возможно ещё стоит с собой брать лыжи. Если бы не добрый мужик на снегоходе, мы бы до храма не дошли (и даже с его помощью часть дороги пришлось пройти по колено в снегу).
Остальные фотографии можно посмотреть на «Яндекс.Фотках».
Ухерачиватель ссылок
Я уже высказывался против укорачивателей ссылок. А теперь свежий образчик маразма: вставляю в твит ссылку «http://jplayer.org», Твиттер говорит мне «внимание ссылка будет сокращена» и преобразует мою и без этого короткую ссылку вот в такое безобразие: «http://t.co/TAfKdKrX».
Твиттер, зачем ты сделал мою ссылку на два символа длиннее и в бесконечность раз непонятнее?
In [2]: len('http://t.co/TAfKdKrX')
Out[2]: 20
In [3]: len('http://jplayer.org')
Out[3]: 18
Казюк-грободёр
ГРОБОДЁРЫ. Колл. Прозвище жителей Казанской губернии. Так обзывают уржумские крестьяне жителей Казанской губернии за то, что они, по их мнению, берут всё дорого (Вят.)
КАЗЮ́К, -а. м. (…) Казан. Шутл. Прозвище жителей Казани (1911)
Цитата из «Большого словаря русских прозвищ». Х. Вальтер, Валерий Михайлович Мокиенко.
К ✈ М ✈ К → М → К ✈ М ✈ К
Эта шифровка наверху означает, что я в субботу и воскресенье (14 и 15 числа) буду в Майкопе, это Адыгея.
Лечу из Казани в Москву, оттуда в Краснодар, оттуда еду в Майкоп, потом в обратном порядке.
CSS hack: firefox 3.5+
Для «Файерфокса» есть простой, не то чтобы даже
body {
background-color: red;
background-color: -moz-initial; /* для FF — значение свойства по-умолчанию */
}
.blk {
display: none; /* для всех браузеров блок скрыт, */
display: -moz-initial; /* кроме FF */
}Браузеры на основе «Вебкит» так же поддерживают это значение (со 125 сборки), правда безо всякого префикса.
Как говорят в Адыгее
Гощу у родственников, они живут в Ханском, это недалеко от Майкопа (Адыгея).
Интересен местный говор, наверное он более ростовский, чем адыгейский, не знаю. Сразу слышишь две вещи. Первое — вместо русского твёрдого «г», употребляют украинское, мягкое, второе — ударения иногда ставят очень необычно, например «по́минки».
Остальное постепенно всплывает в разговоре: «что я тебе хочу сказать за…», «гля» (от «глянь») и т. п.
В Адыгее тепло по нашим меркам. Сейчас середина января, вчера шёл дождь, плюс шесть температура, слякоть, сегодня лежит небольшой снег, но температура всё равно плюсовая. Но в феврале бывают и сильные заморозки, почти до тридцати. Летом — парилка, примерно 45 градусов тепла.
Рассказали, что в Адыгее очень низкие зарплаты, вроде как по статистике самые низкие по стране. Несколько тысяч рублей считается уже нормальной зарплатой. Высокий уровень безработицы, работу сложно найти.
Персональный лайфхак против «болтанки» в самолёте
Я, вот, не боюсь летать на самолёте. Напротив, мне нравится встречать рассвет над облаками, смотреть как самолёт отрывается от взлётной полосы, как маневрирует, как прорывается сквозь облака, правда остальное время просто скучно. Но когда начинается «болтанка» иногда бывает страшновато, как и многим наверное.
Иногда трясёт так, что даже стюардессы бледнеют,
В таких случаях, я, чтобы взять себя в руки, представляю что еду в машине. Мне это представить легчем, чем многим, я же не вожу машину и мне не нужен руль для стимуляции фантазии. Я даже глаза не закрываю, просто напрягаю фантазию и, ррраз, я уже еду в машине. Тряски в машине никто не боится. Не боюсь и я.
А как вы себя успокаиваете в этом случае? Или вас это просто не беспокоит?
Голубые ещё и твиттили

Что мне очень не нравится в «Айпаде» — это обилие в основных приложениях иконок неразличимых краем глаза. Мне сложно, не фокусируя на них взгляд, различить куда ткнуть. На скриншоте «Эпп стор», «Почта», «Сафари» и «Твиттер» на почти одинаковых плашках с преимущественно белыми элементами внутри. Рассеянным взглядом мне сложно уловить значимую форму на таких иконках.

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

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

Я уже жаловался на ужасный
Сегодня я заметил, что у меня в некоторых платежах встречается тринадцатый и даже двадцатый год. Что бы это значило?
Почерк
Я сегодня
Поэтому лежу в постели, смотрю фильмы и ем всякое полезное и противное.
В одном из фильмов речь зашла речь о почерках и я вдруг подумал, что я, при случае, не распознаю почерк жены, хотя мы с ней вместе вот уже скоро пять лет. Мы так мало пишем вручную, что я
А ведь раньше, я помню, близкие люди знали почерки друг друга наизусть, я помню почерк своих родителей, например.
Это не хорошо и не плохо, просто как факт.
Ёлки…
Смотрели
Сегодня наткнулся на замечательный сайт «ТУГЕЗА», а там — на следующее описание:
Сергей Сотников — начальник вертолётной площадки в селе Ижма. Еще двенадцать лет назад эта площадка была пусть небольшим, но аэродромом. Но, как это часто бывает, бюджет урезали,
взлётно-посадочную полосу закрыли и самолёты летать перестали.Всё это время Сергей с хозяйской любовью поддерживал аэродром: вырубал деревья вдоль полосы, сохранял то, что ещё можно спасти. Как оказалось, не зря.
В сентябре 2010
у Ту-154, летевшего из Якутии в Москву, отказали двигатели, и пилотам пришлось сажать самолёт с 72 пассажирами посреди тайги. Им повезло: на глаза попалась та самая списаннаявзлётно-посадочная полоса, за которой присматривал Сергей. Самолёт сел, все пассажиры остались целы.
Стеганография и пробел нулевой длины
Болею, не спится мне. Вспомнил старую свою идею.
В Юникоде есть такой символ замечательный — пробел нулевой длины (код 0x200B), на печать не выводится, понимается всеми современными браузерами и большинством редакторов. Интервала между буквами, как следует из названия, не даёт.
Идея простая, позволяет прятать в текст другой текст, так, чтобы первый не менялся, а второй всегда копировался вместе с первым. Основная мысль — пользуясь буквами исходного текста, как разделителем, ставим между ними столько пробелов нулевой длины, чтобы их число равнялось коду скрываемого символа.
Например. Дан текст: «Болк», в нём надо скрыть короткий текст: «yes». Я взял английские символы, чтобы не заморачиватсья с кодировкой.
Коды символов «yes» — 121, 101, 115. Значит текст приобретает следующий вид:
[121 символ пробела нулевой длины]Б[101 символ пробела нулевой длины]о[115 символов пробела нулевой длины]лк
Можно, кстати, вычитать из кода символа 31, если мы не планируем использовать символы перевода строки и табуляции в скрываемом тексте. Небольшой код на Пайтоне, приведённый ниже, иллюстрирует идею.
# Example by Evgeny Stepanischev
from itertools import groupby, izip_longest
import sys
import codecs
sys.stdin = codecs.getreader('utf-8')(sys.stdin)
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
toenc = 'Evgeny Stepanischev'
input = sys.stdin.read()
def decode(input):
return ''.join(chr(31+len(list(x[1])))
for x in groupby(input, lambda x: x == u"\u200b") if x[0])
def encode(input):
if len(input) < len(toenc):
raise ValueError()
return ''.join(x[0] + x[1]
for x in izip_longest((u"\u200b" * (ord(x)-31)
for x in toenc), input, fillvalue=''))
print(encode(input) if input.find(u"\u200b") == -1 else decode(input))Если на вход ему подать текст без пробелов нулевой длины, он добавит в него скрытый текст, иначе попытается его оттуда извлечь.
В принципе, этот подход можно применять в вебе для маркировки своих текстов — браузеры, кроме вымирающих, нормально относятся к этому символу и отображают его адекватно.
Конечно, важна длина текста — таким способом не скрыть текст, длина которого много больше исходной, но способ можно и улучшить в этом смысле. Например, в качестве прерывающего символа выбрать
Некоторые проблемы SQLite
Товарищ Адепт пишет в ЖЖ про проблемы SQLite. Если вкратце, то выявлены минимум две проблемы.
SQLite при снятии дампа «CREATE VIEW» выписываются в порядке создания. Если у нас две вьшки, «A» и «Б», созданные в порядке перечисления и мы пересоздаём вьюху «А» с использованием «Б», то при заливке дампа будет ошибка —
Если создана вью, в конце которой комментарий стоит, то и в дампе будет комментарий в конце строки создания, экранирующий конечную точку с запятой.
create view commented_view
as select something
from some_table -- pretty useless view;
create view another_view as…Ерунда на itertools и генераторах
Я люблю itertools и генераторы в Пайтоне,
Прочитал тут на «Хабре», что дробь 1/998001 даёт последовательность из чисел от нуля до 997. Вот я и написал код с использованием генераторов и itertools, который берёт эту дробь и выводит из неё все числа последовательно, пока не попадутся числа с разницей не равной единице.
from decimal import Decimal, getcontext
from itertools import groupby, islice, izip, takewhile, chain, imap
getcontext().prec = 3000
n = (
groupby(
enumerate(
islice(str(1 / Decimal(998001)), 2, None)
),
lambda n: n[0] // 3)
)
n = (int(''.join(n[1] for n in n[1])) for n in n)
n = chain(*takewhile(lambda n: n[1] - n[0] == 1, izip(n, n)))
print ', '.join(imap(str, n))Кстати, для вычисления дроби с точностью до трёхтысячного знака, используется модуль decimal.
Подумалось, что многим, наверное, было интересно сравнить как выглядит эквивалентный код на Пайтоне без всех этих страшных (на взгляд большинства) ленивых выражений. А то некоторые ребята по моей вине уже думают, что Пайтон
from decimal import Decimal, getcontext
getcontext().prec = 3000
number, prev, out = str(1 / Decimal(998001)), -1, []
for i in xrange(2, len(number), 3):
curr = int(number[i:i+3])
if curr - prev != 1: break
prev = curr
out.append(str(curr))
print ', '.join(out)ChinesePython
А вы знали, что существует ChinesePython? Выглядит как настоящий, но не радует.
Язык полностью переведён на китайский, включая ключевые слова, встроенные типы и так далее, код основан на Пайтоне 2.1.3. Вот пример того как смотрится программа на этом языке:
載入 系統
文件名 = 系統.參數[1:]
定義 修正行尾(文件):
內文 = 打開(文件名).讀入()
內文 = 內文.替換('\n\r','\n')
傳回 內文
取 文件 自 文件名:
寫 修正行尾(文件)«載入 系統» — это «import sys». Эта же программа на традиционном Пайтоне выглядит вот так:
import sys
filenames = sys.argv[1:]
def fixline(filename):
text = open(filename).read()
text = text.replace('\n\r','\n')
return text
for file in filenames:
print fixline(file)Основная цель создания интерпретатора на китайском, по словам автора — популяризация программирования. Начинающий китайский программист, вместо того, чтобы учить недоанглийский, который всё равно не позволит ему говорить на этом языке, но позволит понимать слова Пайтона и называть переменные на корявеньком английском, может сосредоточиться на концепциях, алгоритмах и тому подобном.
«Сосчитал количество ног и поделил на четыре»
«Вижу тут не более тысячи человек» — читаю в комментариях к фотографии митинга в Екатеринбурге. Что меня удивляет, у меня нет такого навыка, я не вижу там тысячи, не вижу там любое другое число, точно могу сказать только, что людей там явно больше десятка, это всё. Вы когда все научились тысячами народ по фотографиям мерить? Откуда у вас такой опыт или, может, курсы какие есть на этот случай?
Бородатый анекдот в тему:
Едут два англичанина в поезде. Поезд проезжает мимо пасущегося стада коров. Один из англичанин говорит: — Пятьдесят восемь голов в стаде… — Как вы узнали? — Очень просто — сосчитал количество ног и разделил на четыре…