суббота, 22 июня 2013 г.

Погружение

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

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

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

Я ненавижу лифты, и стараюсь по 4 этаж вверх ходить пешком, вниз я всегда иду пешком. Так получается в среднем быстрее. Идя пешком я еще остаюсь немного человеком, хотя спорный момент. Заметил много случаев, когда распознаю людей только за 2-3 метра, хотя меня явно приметили на гораздо большем расстоянии. Во время ходьбы тоже немного "зомби", куда-то погружен (знаю, но не скажу).

В принципе, человек сам решает во что ему погружаться, и в каких пропорциях. В рамках его ограниченности и внешних ограничений. Лет 7 назад я однократно видел знакомых второго порядка (знакомых знакомых), после таких временных промежутков в памяти только обрывки общего разговора, нет имен и даже самые слабые черты внешности стерты напрочь. Мальчик, девочка, оба моего возраста. Девочка с точки зрения живости и бойкости ума довольна сильна, но ментально(?, ну или далее станет понятно) увы, слаба. В общем, оба в моем понимании пивные алкоголики, мальчик подсадил ее так же на просмотр футбола, компьютерные игры. Может быть с точки зрения некоторых мальчиков, такая девочка почти идеал - пьет пиво, смотрит футбол и играет в компьютерные игры. Я, признаюсь честно, не знаток бинарных отношений на людях, возможно они считают (-ли) себя "парой", но в моем понимании это сожитель/собутыльник/соигрок. Из общих интересов - видимо, интересы к пустому множеству. Год назад, после просмотра "Обитель зла" я сгенерил фразу "Он сделал вид, что не умер". Тут этим многое описывается. В общем, погружение в чужую навязанную *ность - это та еще обитель зла. Не погружайтесь.

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

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

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

"Только, ради бога, не верь, что ты маленький человек. Никому не верь, кто скажет такое. И мне не верь..." (с) Володя. 

понедельник, 17 июня 2013 г.

Кассандра

Но ясновидцев - впрочем, как и очевидцев - 
Во все века сжигали люди на кострах.
(с) Володя

Так как меня тут "ставят на счетчик" федералы срочно требуют поста, а писатель далеко не чучка...

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

Потом в лекции было ответвление про математика, член-корра, Б. А. Березовского. Недели через 2 его не стало. 

Понимаю, что здесь что-то не так. Напеваю слова из "Вещей Кассандры", плоско шутю про Путина. Не помогает. Ни мне, ни ему.

В то же время, зачем-то смотрели на МИ-6 с гугл_мапс. И мне на глаза попался конкурс-эссе "Почему я хочу в Лондон?". Догадайтесь, какой был приз? Очевидно, я не выиграл. Даже в финал (топ-10) не попал. Но так как федералы все еще хотят от меня текст, то, пожалуй, далее пойдет именно он. И так... (реалии на 02/2013, Березовский еще и не догадывается)

Авторские права все равно мои, да и кому этот текст еще нужен, кроме корзины из гуглоДоксов...

***

Почему я хочу в Лондон?

Вопрос несколько риторический. Местами даже тривиальный. 

Есть класс людей, которые не хотят в Лондон. Роман Абрамович, Борис Березовский, Владимир Гусинский, Юрий Лужков... Им в принципе уже и Лондона скоро будет мало, проще новый глобус купить. Во мне есть что-то от Романа Абрамовича, в том смысле что мы оба чтим УК РФ, в отличие от других вышеперечисленных. Чтить уголовный кодекс Великобритании мне тоже подсилу, только пока что не приходилось.

Возможно, в эссе стоит рассказать немного о себе. Если бы я был жгучей блондинкой, то я мог бы приложить свою фотографию. Но для человека, у которого в паспорте в графе “имя” написано “Павел”, такое обычно не принято. Рост в 183 см, и 75 кг веса летом (и до 90 кг зимой). Это почти меня полностью характеризует. В смысле тяжести характера и широты мысли.

Местами (в основном на голову), а так же с понедельника по пятницу я программист. Иногда и вечерами. По совместительству человек, в свободное от работы время тоже. Имеются так же околонаучные интересы, что в совокупности с профессией программист накладывает повышенные требования к знанию английского языка в этом стремительном мире. 

Прокачать словарный запас или распознавание речи на слух в наши дни уже можно в одиночку, для этого есть сайты с тренировками и радио вероятного противника. А вот для  разговорного реального времени требуется погружение в среду. Тут, конечно, есть различные варианты. Стать олигархом, купить футбольный лондонский клуб и переехать в Лондон - это уже какое-то подражание, да и клубов в свободной продаже я пока не заметил. Уголовный кодекс я чту, так что тот вариант не предлагать. Выйти замуж за иностранца... как я уже отмечал что с именем “Павел” это проблематично, да и я за традиционщину. Стать шпионом, чай, полоний - было. Так что написание эссе - это даже вполне адекватный и новый шаг. Готов поручиться и отдать зуб на отсечение, что тому же Березовскому и Лужкову такая идея просто не приходила (на всякий случай не указываю чей зуб я готов отдать на отсечение...)

Формат конкурса позволяет мне еще около 600 слов. Самое время описать предполагамую (и в тоже время маловероятную) дополнительную программу. Оказывается, я знаком как минимум двумя людьми, проживающими в Лондоне. Один из них является профессором в Knowledge Media Institute of The Open University и занимается поиском по мультимедиаинформации. Я его водил по Москве два года назад, теперь его очередь. Современный вариант салочек (“а теперь ты галишь”). Второй человек - моя одногруппница, Полина. Она тоже местами программист, хотя и вышла замуж за иностранца. Там несколько для меня запутано, ибо муж с Украины, в итоге их забросило в Англию. Может, она и шпион, но лично я за ней такого не замечал. Как минимум два дня бесплатных экскурсий я себе смогу обеспечить. 

Так же у меня есть очень хороший знакомый Сергей, он - чаефил, ибо по-другому это не назвать. А как еще назвать человека, у которого дома есть коллекция из 53 сортов чая (по состоянию на 15.02.2013)? Собственно, еще день можно потратить пополнение чайной коллекции Сергея. Главное, чтобы при пересечении границы обратно тебе поверили в эту историю с чаем для Сергея. Хоть ты и чтишь уголовный кодекс различных стран, стоит только немного усмехнуться, и все... у тебя 2 кг какой-то сушенной травы, и ты погружаешься с головой в новый мир языковых жаргонизмов от 7 до 13 лет.

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

Кстати, я несколько закален и с легкостью смогу перенести Лондонскую погоду. Был несколько раз в командировке в Питер. Попрошу занести в протокол.

Как там у Высоцкого? “Плевал я с Эйфелевой башни на головы беспечных парижан”. То есть на колесо обозрения я обязательно пойду. Нетривильно понять сверху, кто из них парижане? Сами виноваты. Ну и “в общественном парижском туалете есть надписи на русском языке”. Хотя за три недели можно родной-то и подзабыть. Так что это программа начала первой недели. Надо только уточнить, вандализм и непристойное поведение - это в Англии административка или же уголовное? Как я уже говорил (а я уже говорил, что я никогда не повторяюсь?), УК надо чтить. А то кончишь свою жизнь в Лондоне, как какой-нибудь средненький олигарх.

В итоге, я пока смог запланировать 5-6 дней. Оставшегося времени с лихвой хватит на 20 пеших пересечений всего города. Кстати, если кому-что передать в городе надо - обращайтесь.

Почему же я хочу в Лондон? Окончательный ответ будет довольно банальным: я до этого ни разу не хотел в Лондон!

***

понедельник, 3 июня 2013 г.

Срочно! Молния!

http://chris-taylor.github.io/blog/2013/02/11/the-algebra-of-algebraic-data-types-part-ii/

Если вы немного программист, то это НЕЧТО!!!

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

Там еще третья часть есть.

понедельник, 20 мая 2013 г.

Социопатическое

Кстати, в начале августа я буду тут http://almada2013.ru/en/schedule #ALMADA2013.

Будет сам Голдберг на открытии. Те кто в танке, это потоковые/графовые, проталкивание предпотока - это он. Он, правда, орг, а не лектор. Непонятно про наличиче Миронова. Как раз по ТЧ можно с кем поговорить.

Основной вопрос, куда еще можно в default city сходить? При условии, что уже почти везде был... Всякие "Афиши" и прочие сервисы - исхожены змейкой/в_шахматном порядке/бантиком. А время опять будет.

Подозреваю, что проживание будет в том самом самом высоком учебном заведении Европы (как минимум). Так же есть подозрение, что студентов к этому времени всех выкинут(?), во всех контактах у меня там человек пять есть. Аспирантов - не в курсе, вроде, их и на лето должны оставлять, но как-то хоть и знакомых там столько же, сколько и студентов, буду только со "своими" контактировать. Импортных не предвидится из слушателей. Оно таки прикольно.

Два года назад, на SSSEV2011 мне очень сильно понравилось. Очевидно, что не будет такой проблемы с трансфером от места проживания до лекций. Но, подозреваю, что стулья будут деревянные. А попа уже отторгает все инородные деревянные стулья/кресла. Видите ли, к мягкому оно быстро привыкает. Как бы опять, хроническое плоско#опие не проявилось.

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

Еще в почти те же сроки будет где-то под Москвой нечто по биоинформатике. Думаю, может и туда заявку подать, пару дней можно и там с интересом провести. Оно сильно по времени с этим пересекается, и ALMADA в большем приоритете.

А еще хочется в следующем году на очень стоящее пробиться. Там поработать придется, но оно того стоит. В общем, один человек, думаю понимает, о чем это я... Я тебе уже об этом говорил.

Остальные мероприятие как-то уже мало для меня. Я туда агитирую всех из контактов, но они как-то слабо агитируются. Самое распространенное: "А что я там делать буду?" Ну и тот человек, из предыдущего абзаца тоже...

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

вторник, 30 апреля 2013 г.

Не помню

Ой, где был я вчера
(с) Володя

Дочитал книжку, начал тыкать на планшете, чтобы выбрать слудующую из коллекции. У меня там местами шлак всякий, худ. лит, тех. лит, статьи какие-то. Тыкнул и смотрю "Efficiently four-coloring planar-graphs". Хоть убейте, не помню как она туда попала. Я только 2 недели назад о ней писал, а она оказывается чуть ли не год (не помню, может и 2 недели) как валяется в iBooks.

В общем, да, раскраска в 3 цвета для планарных - NP-hard, в 5 цветов - линейна, в 4 - тут как-то строят за квадрат. Мне еще почему-то интуитивно кажется, что если хроматическое = 4, то есть подграф стягиваемый к K_4 (?). Черт, и не понятно. То ли это какая-то тривиальщина, то ли вообще неправда. И непонятно, причем тут планарность.

А еще помню, когда не помню. Был где-то классе в 7-ом (может 8-ой), спал что-то днем. Позвонили на домашний, сотовых тогда не было. Спросонья ответил. Минуты через 2 еще звонок. Я уже немного рассерженный в трубку "Ну что еще, мам". А там мне тренер по шахматам, Маргарита Капитоновна: "Я еще вот что хотела спросить...". Как-то сразу проснулся.

И еще два случая помню, когда не помню. По работе приходилось в жизни 3 раза ночевать на работе. Ладно бы сторожем работал, програмистом 32 часа непрерывно что-то колбасить это жестоко. Тьфу^3, давно было.

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

В последую ночевку, отпустили рано, под рассвет. Пришел домой, еще туда к родителям. С мамой только пересекся. Очевидно, лег спать. Вечером родители спрашивают, "мы тебе когда звонили, ты уже дома был?". У меня сразу встречный вопрос, "мне звонили?" Смотрю в телефон, в нем 2 принятых звонка(!), по минуте длиной, в памяти только какой-то негр в очках и с ручкой. Вспышка.

Все остальное я помню, что помню. Заметьте, что это сильнее чем "не помню как нажрался" (лучше "помню что не нажрался").

Если что, то к алкоголю я негативно отношусь. Годовое потребление можно перечислить пальцами одной человеческой руки. В крайнем случае, одной человеческой + 2 пальца.

ЗЫ. Не кидаю ни в кого кирпичом, но фраза "Я запомнила... *пауза* на 10 минут" действительно со второй частью смешна.

среда, 24 апреля 2013 г.

Прогрессия

В начальных классах у меня был почти "Компаньон", оно называлось иначе, имело 48Кб оперативной памяти и читало программы с магнитофона. Первый "полноценный" компьютер у появился только в 11-ом классе. Он был с монитором в 17" (1024х768), 64Мб оперативы, 10Гб диска, 500МГц процессора, очевидно в одно ядро и в прочих характеристиках. Хотя почему был... до сих пор работает.

Так вот, я обновил телефон. Там 4 ядра по 1.5 ГГц, 1280х768, 16Гб карточка и 2Гб оперативы. Весит оно 130 с чем-то грамм. Ну, в общем, вы поняли...

В принцице, сейчас выбор между iPhone и не_iPhone. Но так даже в последней модели там нет NFC, то выбор для меня был очевиден. Я в принципе нейтрально-позитивно отношусь к Apple, считая что их планшет пока и сейчас даже очень ничего.

Я вот трачу на телефонную связь сотню рублей месяца на 4, в основном использую как будильник и совсем в редких случаях как карты городов. Поэтому мне в принципе пофиг. Еще я видел девушку в продуктовом магазине с iPhone-ом из последних. Я не настолько крут. А она - крутая. И продает там фрукты/овощи.

Так и не понял, можно ли где-то у нас в стране использовать NFC как платежный инструмент. Московское метро уже года три собирается, я попробовал, но как лошара с выключенным телефоном - оно очевидно не сработало. Аэроэкспресс говорит про скидку, но пока возможности не было. GoogleWallet в России не работает, не выросли мы еще со своим уровнем коррупции. А использовать только как читалку билетов на метро - как-то глупо и малоэффективно. Верим что настанут лучшие времена.

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

В стране опять официально можно купить в Связном за 20 тыс. рублей, но почему-то заказать с google + посреднику 70$ за пересылку оказывается в полтора раза дешевле. Очевидно, воспользовался вторым вариантом. Конечно, есть риски. И даже посредник сейчас в новостях уведомляет, что более он именно эту марку не пересылает в Россию, так как участились кражи во время доставки.

С "Компаньоном" я в 5-7 классе писал несложные программки для простой геометрии в 3d, как оказалось к 5-му курсу у нас большинство хуже умело программировать, чем я тогда. Ностальгия... А с телефонами скучно, ну купил зеркальце, там даже кнопок нет.

воскресенье, 14 апреля 2013 г.

Два бояна и кое-что о числах

Мужики уже умеют искать поток за O(n m). Некоторые говорят, что это боян, но я увидел только пару недель назад. Оригинальная работа вышла в августе 2012. До этого было что-то близкое по сложности, со страшными логарифмами.

Мужики умеют искать раскраску в 4 цвета для планарных графов за квадрат. Честно говоря, ВНЕЗАПНО. С какого-то 199? года. Там (с хроматическими числами) чуть ли не половина задач NP-трудные/сложные. Да и как планарность за линию делают - в моей интуиции это не укладывается. Жаль, что времени на это выделить я полноценно не смогу.

Обнаружил замечательный факт по числам Мерсенна. Пока его нигде не видел. Напомню, что тест Люкаса-Лемьера состоит в 

s_0 = 4
s_n = s_{n-1}^2 - 2 mod M_p

Если s_{p - 2} = 0, то все хорошо. 

Я все брежу, чтобы идти с конца. Корни же не всегда извлекаются. 
То есть надо идти с нуля, применяя следующую операцию, \x -> sqrt(x + 2), что дает 2 числа, либо облом.

Так вот, для Мерсенновых получается идеальное бинарное дерево. Начиная с 2 (0 + 2) получаем два числа, затем 4 числа, и так далее. На последнем шаге получаем красоту, пока необъяснимую. Никаких циклов, все числа использованы, из последнего слоя уже корни квадратные не извлекаются. Думал, что извлекаемость корней есть полный беспорядок, а тут идеальная структура. Уже недели две хожу с упоротыми глазами.

А те, которые неМерсенновы, получаем облом на втором шаге. Корень из двух очевидно равен 2^{(p + 1) / 2}. А извлечь корень из 2^{(p + 1) / 2} + 2 быстро не могу. Для неМерсенновых там облом идет. Знаний пока мало, маленький еще. Чтобы решить x^2 = a mod M_p можно просто x = a^{2^{p-2}}. То есть возведениями "в_квадрат" все равно O(p) шагов, что тот же Люкаса-Лемьера ничем не лучше. Фенечка на первом шагу для 2 заключается в том, что 2 порождает хорошую группу размером в p. Поэтому все быстро. Но стоит отойти на шаг в сторону, и размер группы будет несколько великоват, во что и утыкаюсь.

Еще пытаюсь что-то извлечь из x^3 = 1 mod M_p. Так как 2^p - 2 очевидно делится на 3, то у нас есть подгруппа размера 3. Первый корень тривиален. Тут внезапно работает теорема Виетта, та которая про сумму и произведение корней и первый/последний член полинома. Другие два корня тривиально находятся, если найти x^2 = -3 mod M_p. Что эффективнее чем Люкас я пока не вижу как. Утык.

Где бухают теоретики-числовики и прочие алгеброиды? Как в стране, так и в мире... И чтобы дети, моего уровня, смогли приобщиться. Всякие http://math.stackexchange.com/ понятно, но хочется очные.

пятница, 5 апреля 2013 г.

Техническое. Мимоходом.

Если у вас в проекте oracle && .net && куча данных для сохранения, то следующий абзац (два и более, как получится), возможно, будет вам интересен.

Там получилось, что нам надо сохранять довольно много ячеек, порядка одного/двух миллионов. Естественно, хочется быстрее. Ячейки из собственного OLAP, по измерениям отличаются, разных типов штук 10-15, то есть раскидать по таблицам на каждый тип.

В итоге мы плюем на нормализуемость таблиц, тут производительность важнее. Хранится ключ по разрезам, понятно отдельно Id, а потом идет пару сотен столбцов/показателей. У себя внутри мы это называем "развернутые таблицы".

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

Ранее все хранилось как у всех обычных людей, для каждой ячейки отдельная запись. Философски это правильно. А как развернули, база с десятка Гб ужалась в 1Гб, со всеми индексами.

Теперь собственно про запись. Рекомендуется посмотреть на ODP.net (Oracle Data Provider). Там есть фишечки и тюнинг. В нем же есть ArrayBinding, это когда вместо сохранения большого массива записей вы кидаете один запрос, а все параметры биндите на массивы, где каждый массив представляет один параметр. Хоть это и круто, но пока это не все.

Очень важно, чтобы запрос был все время одинаковым. Иначе oracle будет все время его компилять/парсить, как следствие - потери. Для нашего случая мы определяем наиболее общий набор показателей (столбцов) для сохранения. То есть сохранение в просто "развернутой" таблице - это что попало из прямоугольной матрицы, а становится - объединение набора столбцов. Да, это немного лишнее, получается что мы заново сохраняем некоторые ячейки которые уже есть в базе. Но зато так sql-запрос становится универсальным для всей таблицы (конкретного набора для сохранения). А сейчас если воткнуть arrayBinding из предыдущего абзаца, то скорость сохранения увеличится на десятичный порядок.

То есть у нас было несколько итераций.
1) Просто таблица
1.1) Просто таблица + arrayBinding
2) Развернутая таблица, сохраняем одним запросом кучу ячеек.
3) Развернутая таблица, объединеный запрос на все сохранение, биндим параметры на каждый ключ отдельно
4) Развернутая таблица, объединенный запрос, биндим массивы как параметры.

Переход от 3 к 4 - это реально десятикатный прирост. От 1 к 1.1, от 1 к 2 и от 2 к 3 - где-то от полутора до трех раз (в зависимости от данных и направления солнечного ветра).

Сейчас местами я могу сохранять быстрее, чем это все поднимается. В шоке.

Еще важно, чтобы запрос был как можно проще. У нас в итоге после последнего рефкторинга самая медленная таблица оказалась единственная с nullable полем в ключе. И запрос был с NVL/decode. Естественно, решили проверить. И да, бинго. Разнесли данные, и оно относительно себя ускорилось в 2 раза, относительно всех остальных не стало выделяться.

В продакшн выйдет в течение 1-2 месяцев, тестеры уже жаловались на #жизнь-боль  что уж больно быстро сохраняется. Вроде приятно должно быть, а им больно.

воскресенье, 24 марта 2013 г.

Сюр

Извиняюсь, немного о политике.

В последние лет 5-7 мне что-то многие ситуации напоминают сюжеты из моей любимой книги "Алиса в стране чудес". Как будто большинство наелось грибов, ты падаешь в кроличей норе уже который месяц, королева кричит "Отрубите ему голову". Хочется проснуться, а не получается.

В середине и конце 90-х была чехарда в правительствах, Жириновский таскал за волосы неизвестных, иногда плескался водой. Местами это было похоже на цирк, местами это и был цирк.

Потом эпоха цирка устала и ушла. Началась эпоха либо застоя, либо стабильности. Вот Ленин в мавзолее уже более 80 лет лежит - это застой или стабильность?

А потом начинается сюр. Ладно, был чувак который все попереименовывал. Так ведь нет, следующий (он же предыдущий) чувак начинает отменять все, что сам успел принять. Вы заметили, что в Думу вернули выборы по личным спискам (в смысле, половина будет вне партий?). Вернули прямые выборы губернаторов, правда там с оговоркой на местную Думу.

Еще собрали большую сумму в пенсионный фонд, а теперь посчитали и сказали "Мы просчитались". Ну не шмогла я. Ну куда-нибудь средства перенаправят, все равно пенсионерам они бы не достались.

Девки в балаклавах вообще не смотрятся на общем фоне. Считайте, что сходили в армию. Правда, армия сейчас один год.

Сформировали оппозицию, правда из того что было. А было все тоже. Если первые митинги были хоть с какой-то целью ("честные"), то потом оно все размазывается. Девки в балаклавах или "честные"? Надо же что-то на транспарантах писать? Потом дети...

"Честные", дети или же девки в балаклавах? Дети - вообще странно смотрится. От них отказалась даже собственная мать (очевидно, что понятие родители здесь малоприменимо), общество частично усыновляет/удочеряет/патронирует, каких-то 5-10% забирают иностранцы. Вы можете выложить фоточки, как вы были на митинге, можете пожертвовать 5 тыс. рублей в какой-нибудь дет. дом, все равно вам так же пофиг как всем (как и мне).

Даже были лозунги про "перевыборы Думы". И что? Ну опять в списке вы увидите те же 5-10 партий из тех же людей, которые 100% проголосовали "против детей". А в цепочке еще есть Совет Федераций, который не избирается, который тоже на 100% "против детей". А еще есть текущий президент, который тоже на 100% тоже против. Глупость это все конечно, адекватный ответ американцем был в запрете нашим чиновникам иметь недвижимость и счета у них. Это сделали, но через 3 месяца. Зачем вообще отвечать глупостью на глупость? Предпочитаю молчать.

Еще и интернетчики с защитой детей. Тут вообще трэш. Оградите лучше их от телевизора...

Хуже того, что в лицах за 16 лет ничего не изменилось. Жириновский, Зюганов и другие на местах. Часть прыгает с места на место. Заметьте, что на выборах президента (в тех же США, Франции и других) лица все разные. Да, появился Путин, Медведев, Прохоров, Миронов. Но как-то все равно застой.

Может проблема конкретна не в лицах, а в целях? Цели это что-то более конкретное чем "удвоить ВВП к 20## году", "План Путина будет исполнен". Были нац. проекты... да и Скольково ваше не достроят. Мне местами нравится подход П (не путать с Пу), "надо принять поправки с такими-то числами, это приведет к тому-то и тому-то". Хотя бы видно что он хочет сделать, и для чего он хочет это сделать.

Тот же П пообещал на выборах президента, что "мы проснемся в другой стране". Я проснулся 5 марта 2012 года, посмотрел на новости и понял что проснулся там же. Может и не проснулся. Ущипните меня!

суббота, 9 марта 2013 г.

Нофелет

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

В нашем ДМС сейчас входит 46 медицинских учреждений, и ни одного психо-неврологического. В прошлом году их было 49, но все равно без нервных. Молоко за вредность не выдавали, пить зеленый змий я не начал, да и такую атаку на мозг жидкостью не залить. Каждая девочка в отдельности, возможно, является нормальным человеком, но когда их в комнате более одной мне сильно не уютно. Там же я услышал как говорят 4 одновременно(!), не попарно, а именно одновременно. Мир уже не будет таким, каким был прежде.

В итоге за эти 74 дня я многое узнал из психологии. Возмножно из женской психологии, возможно из своей. Сложно довольно разобрать, все время какие-то голоса в голове. 

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

В ближайщие лет 16-17 я буду понемногу тут рассказывать то, что узнал в те 74 дня. 

Оказывается, по нормам этикета у девочек, мальчик просто обязан подарить ей телефон. После этого шага он переходит на 4-ый разряд (или категория, я еще не очень понял всю иерархию). Не обязательно розовый, или даже можно без цветочков на боковой панели. "Цветы уже несколько старомодно, пусть своего белого коня тогда этими цветами и кормит" - так говорял 73% опрошенных женщин. 

Тут есть одна засада, о которой некоторые мужчины просто не подозревают. Если мальчик обновил у себя телефон, а старый нужно куда-то деть, то несмотря на то что это вполне современный iphone4s, это вообще идет не в плюс категории мужика. 93% опрошенных женщин называют много неприличных слов, оставшиеся 7% поджимают губки, невинно смотрят в пол, легким движением руки пытаются скрыть, лежащий на виду телефон. Приходя домой в тот день они плачут, понимая всю ситуацию. В крайнем случае этих 7% добивают подруги в последующие 2 года. В общем, мальчики, будьте осторожны. Своими необдуманными действиями вы можете сломать жизнь человеку.

Так же 4-ый разряд можно получить за счет совместного отдыха на юге. В студенческом стиле - это какая-нибудь Турция/Египет, полноценный 4-ый разряд - это как минимум Испания. Пансионат в Сочи или лечебные грязи под Соликамском, лучше сразу ее добейте поддержанным телефоном. Или ее ждет мучительное добивание подруг.

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

Хотя там тоже довольно шумно, но это просто несравнимо. Я даже за-за-заи-икать перестал.

четверг, 28 февраля 2013 г.

Типизация динамики или объективизация статики

Чтобы заснуть некоторые рекомендуют считать баранов. Раз баран, два баран, ... двести двадцать семь. Для меня не работает, но пока это не важно. Но вот что делать, если на 117 месте оказалась овца? Можно тоже считать. Но вот у вас слаботипизированная программа и может встретиться все что угодно. И понедельник, и смысл жизни, и зачет по диференциальным уравнениям. Их тоже считать?

А есть еще черная дыра, в просторечии известная как null. Хоар берет ответственность на себя, но до сих пор нормального (не то чтобы идеального) решения как-то не предложено. Это в итоге какой-то ужас. Единственное что можно делать, это сначала спросить: "А вы случайно не черная дыра?" В итоге программы в student-style выглядат как "Если не черная дыра, то считаем". Программа из "Сейчас я встану со стула, пойду на кухню и поставлю чайник на огонь" выглядит как "Если стул не Черная дыра, то (Если кухня не Черная дыра, то (Если чайник не Черная дыра, то (Если огонь не Черная дыра, то ...)))". Я видел такие проекты, с такими людьми я даже за руку здоровался (все отмыть не могу). Это то же от непонимания типов.

Есть тренд, когда в слаботипизированных языках добавляют недо-типы. Тот же python/cpython, аннотации в erlang, к названию языка приписать слева букву J или справа #. Тот же js внутри той же V8 внутри очень типизированный. Даже CoffeScript и javascript чем-то в названии похожи.

Понятно, откуда ноги растут. Только кажется можно растить и в другом направлении. Гибкости хватает, но надежность и скорость местами перевешивает.

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

Так вот, вместо введения типов в нетипизированное может стоит идти в направлении ослабления типизации в типизированном? То есть взять что-то типизированное и ослаблять до некоторого уровня. Если идет фигня с типами и все начинает плохо компилироваться, то можно в оставшейся части модуля возвращать нечто абстрактное (типа, с типом object). И ругаться компилятором, что мол, сударь-с, у вас тут пока не собирается, я тут-с немного подкрутил. Запускать это можно частично, всю работу не гарантирую.

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

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

Я так же приверженец контрактов, той штуки, которая еще при компиляции сможет доказать что все хорошо. Местами в критических ситуациях это уже в жизни начинает проявляться. И никакие рантайм-тесты вас там не спасут.

Если бы я понимал зависимые типы, то я бы тоже был их приверженцем. Но, имхо, до чего-то жизненного они пока не доросли.

В итоге уже давно пришел к выводу, что "стыд и скрам" - стыдно,  методологии, технологии, языки и модели вычислений - все бренное. Основания лежат в логике, оттуда все и растет.

понедельник, 18 февраля 2013 г.

Языковое

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

Таки уже первого числа сходил к родителям. Получил дозу облучения телевизором (где-то 14-16 микроРентгенЧас), поел, подарил web-камеру и ушел как Винни Пух с фразой "ну, раз больше ничего нет..."

Очевидно, что пост не про это. И даже не про ЭТО.

В праздники таки добил bloxorz - эта такая пошаговая полу-логическая игра. http://www.coolmath-games.com/0-bloxorz/index.html , вот тут можно попробовать. С Димой непонятно зачем прошли вручную за вечер. Недели за полторы я смог вбить все уровни и сделал это в автоматическом режиме. Несколько непонятен смысл автоматизации, когда вручную можно сделать за день, а автоматизируешь в десять раз дольше. Удовольствие в самом процессе, а смысла нет.

Результат можно посмотреть тут https://github.com/ajtkulov/bloxorz_scala , если у вас стоит scala + sbt, то можно забрать исходники, в корне запустить sbt и набрать там test.

Это отнаследованная вещь от заданий с coursera. Все что без комментариев, очевидно, мое.

Пришлось немного повозиться с сплитом фигурки. Это когда встаешь на клетку, и тебя разрезает на два кубика.  Зачем-то рисовал богатую модель на все возможные переключалки, в итоге все свелось к битовому переключению состояний. Там нагляднее и проще.

Отлаживать уровни - это местами ад. Во всех случаях в итоге где-то косячишь на +-1 по координатам, отловить такое нетривиально. Косяков с кодом практически не было. В одном месте забыл переопределить hashCode. Еще оказалось, что ++ для стримов лучше не писать, а .append() эффективнее. На маленьких данных все работает, а чуть дальше памяти не станет хватать.

В каждой из функциональщин есть джентельменский набор вопросов, которые необходимо знать. Как клеятся списки - это пожалуй один из первых вопросов. В пятерке также входит не использование foldr с бесконечными ленивыми объектами (это вам не foldl).

Не знаю, может немного подрос. Сейчас везде с легкостью втыкаются fold. До этого я что-то ручками все рекурсию писал. А сейчас прямо прет.

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

Система сборки sbt довольно радует. Очевидно, вы пишете простые скрипты на scala, при том все типизированно. Конечно, уже сильно привык к тому же Resharper, что позволяет просто вертеть проекты в 20+Мб исходников. Писать в emacs десяток Кб нетрадиционщину для меня уже (или пока?) напряжно.

Прохожу еще на coursera курс, там был месяц ML, сейчас Racket (оно же Scheme). ML приятен на вкус. Довольно прост и местами абстрактен. Папа многих, Хиндли-Милнер ногами растет от туда. Если не про ML, то я щупал около 4..6 диалектов скобочек, мелочи есть, я их ощущаю. Scheme && Racket немного рафинированы, и немного урезаны с практической точки зрения. А так, скобочки как скобочки. Мне нравится. Отсутствие статической типизации и лексический scope как-то напрягает, но если закрыть глаза... то практически не тошнит.

В общем, детский восторг на детском уровне. 

понедельник, 11 февраля 2013 г.

Не о грибах

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

Так как пост "не о грибах"... Есть нечто, что у меня вызывает схожую неприязнь. Это понятие статуса и престижа. Меня примерно также сворачивает в физиономии и крутит в желудке.

В принципе, это все сводится к опять к мерилкам, ценнике на шубе или длине полового члена. На данный момент я нахожусь в понимании, что
  • меряться каким-то одним измеренем есть плохо. Можно даже собрать какой-либо агрегационный рейтинг и меряться им, но это все равно плохо. Проблема в адекватности рейтинга, все равно это сводится к одному измерению=рейтинг.
  • меряться в таком понятии есть несколько плохо. Плохо меряться публично, а для внутреннего понимания "где ты сейчас находишься?" может быть полезно. "Где я" и "куда двигаться" - это хорошие вопросы. Вопрос "зачем" философский и часто очень хорош.
В мировом масштабе говорят что американцы (США) должны меряться более активно. Опять же, не могу ничего сказать адекватного. Тот, один/два десятка, которых я видел, этим не отличались. Обычные люди.

Далее, наверное, таки идут москвичи. Какие-то нотки есть у всех крупных городов, тот же Екатеринбург с Питером иногда чувствуется. Но победитель по длине тут явно один. Однажды я видел такой диалог, люди перечисляют города, откуда они родом.

- Я с Пскова.
- Петрозаводск.
- С Оренбурга.
- Я с Фили.

Тут можно вызывать санитаров. И заметьте, что такое могло быть только с Москвой.

Конечно, абсолютное большинство москвичей - нормальные не контуженные люди. Просто вот эти 0.5% с заскоками чаще видно, потому что этому логарифму надо сильнее выделяться. Самое такое место обнаружено мною в Москве - это между Охотным рядом и Лубянкой, почти напротив Думы. Там нужно подъезжать на феррари/мазерати/бентли, специальный человек подвинет колпаки на тратуаре, вы выйдите и пойдете пить кофе на террасе. В принципе, феррари больше ни для чего не приспособлен, цемент на дачу возить вообще не удобно.

Далее я отмечаю контузию у МГУ. Опять же большая часть популяции - это нормальные люди. Но самое высокое здание среди учебных заведений... Какой еще вуз так раскрутил свое здание? Вы знаете как выглядит МИТ или CMU? СПбГУ только исторически свою двухэтажку рисует, но это только 2 этажа.

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

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

Питерцы как люди, и питерцы как вузы, в среднем по больнице мне гораздо приятнее.

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

В общем, меряйтесь дома перед зеркалом, оно для рефлексии полезно. Не надо только результаты в твиттер/инстаграмм выкладывать. От рвоты монитор сложно отмывать, проверено. Если меня покормить грибами и сказать что-нибудь про "статус/престиж", то вы даже не успеете отпрыгнуть. Сами виноваты будете. 

среда, 16 января 2013 г.

200 тыс. пробега

Пробил 200 000 прочитаных сообщений в google.reader. Сейчас я подписан на 433 фида, это где-то 5400 (+-300) сообщений в месяц.

Писать про состав не буду, за предыдущую отметку оно мало изменилось. Года полтора назад тут был пост про 100 тыс. пробега ) .

Я вот сейчас полностью перестал понимать людей, которые смотрят телевизор. Когда был маленький и у меня не было ни интернета, ни компьютера, да, тоже смотрел. Но сейчас!? Это ж такая потеря времени. Вообще ничего нового там в принципе быть не может, даже новости в сети и те мгновенные. 

Подписан на несколько человек, которые в столицах ходят на митинги. А потом идут домой, смотрят первый канал и пишут, что все не так, что #нтвЛжет. Ну не дураки ли, а? А в другое время, вроде, приличные люди. 

Если посчитать, то 25000 твитов эквивалентны "Война и мир". Печально, но есть такие люди, у которых в понаписанном столько. Есть да же и больше. Хотя 6250 твитов эквивалентны одному тому "Война и мир". Таких людей уже гораздо больше. Мне пока там далековато, но как бы фильтровать твитерастов в обычной жизни? Зомби сами палятся, когда в разговорах говорят "я тут вчера смотрел по телевизору". А ты так сразу настораживаешься и заносишь человека сначала в "карантин", а потом в "черный список". Но пока не слышал, чтобы кто-нибудь сказал "я тут написал 6250 твитов". Тот же зомби, вид спереди.

В итоге пост сводится к понятию времени. Я видел людей, которые сильно ударялись в игры. Очень сильно. В основном мальчики. Вместо развития как человека получается ничто, а могли бы вырасти хотя бы человеком. Хотя убиваться можно хоть чем, хоть футболом 5 раз в неделю (если вы не профессиональный футболист), хоть наркотиками, хоть youtube-ом, хоть играми. Людей, которые на ежедневное перемещение в одну сторону тратят более 30 минут, я называю "москвичами". Они даже не подозревают...

Просто как представляю суммарно 200 тыс. прочитанных постов, так становится немного страшно. Если от каждого поста взять только по одной букве, то это уже 200 Кб, то есть четверть тома "Война и мир" или примерно 200 страниц текста. Даже есть посты шли бы по 17 байт в среднем, то это уже нормальная "Война и мир". Стоит конечно учесть, что это около 4-х лет активного (минут по 15 в день) чтения. Агрегированное число несколько пугает.

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

Даже бывают дни, когда я могу вообще не зайти в поиск. reader.google.com пропускаю не по своей воле: только из-за командировок или отсутствия интернета. Таки, это пожалуй, основной проводник во внешний мир.

четверг, 3 января 2013 г.

TODO: Придумать заголовок про кино

Попробовал поддержать разговор с семилетним человеком. Спросил когда будет следующий фильм про Гарри Поттера. Вот так смотрят на динозавра, даже Ленин на буржуазию так не смотрит. Понял, что кино это не моя область. Хотя, и так знал.

В кинотеатры я хожу раз 4-5 в год. Или по дурости, или по болезни, или поблизости. По дурости и поблизости по сути есть одно и тоже. По болезни - это когда болеешь с недельку, выздоравливаешь и надо куда-нибудь ногами просто пройтись. На футбол/в лес не разумно еще, поэтому иногда хожу. Дурость не объяснить, когда совсем рядом находишься - почему бы и не зайти?

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

Смотрю, наверное, в среднем по фильму в неделю. Бывает больше, бывает меньше. Ширпотреб, он же мейнстрим, тоже иногда смотрю. Но я немного в полгода/год опаздываю, пока в хорошем качестве выходит. Есть еще проблема со всякими французскими и канадскими фильмами, у них напрочь отсутствует английская дорожка. Тут я опаздываю лет на 5. На русском посмотрел три фильма (все местные) за прошлый год, ну и плюсовать туда походы в кинотеатры.

Рекомендовать фильмы вообще глупо, это как советовать заниматься спортом лежа на диване. После первого абзаца даже пытаться не стоит. Тогда я просто скажу, что мне понравилось за последние полгода. Очевидно, что это будет не ширпотреб из кинотеатров, вы могли и там это видеть.

И так,

"Общество мертвых поэтов". Только сейчас прочитал, что у него Оскар за 1990 год за лучший оригинальный сценарий. Про бинарные отношения на людях. Что-то из дружбы и недружбы. Робин Уильямс из состава.

"An education" на русский название перевели как "Воспитание чувств". Про бинарные отношения на людях. Мальчик, девочка. Мальчику правда около 35, а девочке 16. Даже бОльшая амплитуда, чем у Пушкина. Я за то, чтобы в любых отношениях (дружба-человек-человек, любовь-девочка-мальчик) был общий язык и система ценностей/понятий, оно конечно немного зависит от возраста, но может и не коррелировать. В фильме есть мхатовский паузы, и при другой актрисе это было бы не возможно. Из состава никого звезданутых.

"Снежная тюрьма" (Into the white). Очевидно, что про бинарные отношения на людях. Что-то из дружбы, что война таки из людей, которым "пришлось". Из актеров только рыжий друг Гарри Поттера.

Сумарно за три фильма убито/умерло 2 человека, так что не ширпотребовские боевики.

А еще, если тут есть фанаты Стругацких, то оказывается есть фильм "Гадкие лебеди". Собственно по "Гадкие лебеди" или "Туча" (лепрозиторий, дети и дождь). Если вы фанат Стругацких, то собственно вы знаете что делать. Конечно, не Тарковский, но дух, вроде, передан. Я по дурости посмотрел первый у Бондарчука (простите, но это говно говном). Тут гораздо лучше. Еще в ближайшие годы должен появиться ТББ, должно быть на уровне. Хотя Стругацких лучше читать, в любом случае.